KNX Bootloader für ARM
Re: KNX Bootloader für ARM
Hi gnampf,
danke für deine Recherchen. Jetzt versteh ich zumindest was und wieso da gemacht wird. Werde die RAM/Vectortable Optimierung allerdings erstmal zurückstellen und weiter machen an der Optimierung des Flashvorgangs. Eine der letzten Änderungen am Bootloader (bevor ich den angefasst hatte) war u.a, dass der eigentliche Flashvorgang asynchron zum Bus gemacht wurde. Vermute man hat dadurch versucht die Timeouts in den Griff zu bekommen, hat bei mir aber mehr zum Problem als zur Lösung geführt, insbesondere da dadurch der Flashvorgang auf eine Zeit verschoben werden konnte, zu der sehr viel Traffic auf dem Bus ist. Wie du schon schreibst, die Datenblöcke werden notfalls wiederholt gesendet, der eigentliche Flashbefehl genau einmal. Scheitert der, scheitert der gesamte Vorgang. Da gibt es sicherlich noch Potential.
Viele Grüße
Denis
danke für deine Recherchen. Jetzt versteh ich zumindest was und wieso da gemacht wird. Werde die RAM/Vectortable Optimierung allerdings erstmal zurückstellen und weiter machen an der Optimierung des Flashvorgangs. Eine der letzten Änderungen am Bootloader (bevor ich den angefasst hatte) war u.a, dass der eigentliche Flashvorgang asynchron zum Bus gemacht wurde. Vermute man hat dadurch versucht die Timeouts in den Griff zu bekommen, hat bei mir aber mehr zum Problem als zur Lösung geführt, insbesondere da dadurch der Flashvorgang auf eine Zeit verschoben werden konnte, zu der sehr viel Traffic auf dem Bus ist. Wie du schon schreibst, die Datenblöcke werden notfalls wiederholt gesendet, der eigentliche Flashbefehl genau einmal. Scheitert der, scheitert der gesamte Vorgang. Da gibt es sicherlich noch Potential.
Viele Grüße
Denis
5x in16-bim112 ARM | 1x rol-jal-bim112 ARM | 2x MSA | 1x raincenter-bim112 ARM | 8x Kombisensor LPC | 1x out8 LPC | 2x 2in2out LPC
Tags:
Re: KNX Bootloader für ARM
Ich reaktiviere mal hier das Thema aus unserem Chat:
Gibt da aber, glaube ich, noch ein offenes Risiko in der Implementierung von noInterrupts(). Unser M0 hat eine Pipeline, d.h. auch nach Stopp aller ISR ("cpsid i") können noch Kommandos (einer ISR) ausgeführt werden, die auf den Speicher zugreifen, bis die Pipeline leer ist. Folge -> HardFault, wenn der Flash zum Schreiben geblockt ist.
Da sollten noch ein DSB und ein ISB (nach dem noInterrupts() )folgen. Erst dann kann der Flash sicher beschrieben werden.
https://dzone.com/articles/nvic-disabli ... -m-and-the
Gibt da aber, glaube ich, noch ein offenes Risiko in der Implementierung von noInterrupts(). Unser M0 hat eine Pipeline, d.h. auch nach Stopp aller ISR ("cpsid i") können noch Kommandos (einer ISR) ausgeführt werden, die auf den Speicher zugreifen, bis die Pipeline leer ist. Folge -> HardFault, wenn der Flash zum Schreiben geblockt ist.
Da sollten noch ein DSB und ein ISB (nach dem noInterrupts() )folgen. Erst dann kann der Flash sicher beschrieben werden.
https://dzone.com/articles/nvic-disabli ... -m-and-the
Re: KNX Bootloader für ARM
Hallo zusammen,
kann mir jemand sagen warum ich die UID nicht als Rückgabewert bekomme bei der Befehlszeile?
"java -jar SB_updater-1.11-all.jar 192.168.1.12 -f0"
Der Bootloader "bootloader_release_(lpc11xx)_v1.11_libv2.02.hex" auf dem Controller "4TE Controller ARM LPC1115" ist aufgespielt.
KNX Router hat die Adresse 192.168.1.12:3671 (Gira)
Die LED auf der Controller Platine "blinkt langsam und wechselt zwischen hell und dunkel"
Danke im Voraus
------CMD----------
"C:\tmp>java --version
java 17.0.9 2023-10-17 LTS
Java(TM) SE Runtime Environment (build 17.0.9+11-LTS-201)
Java HotSpot(TM) 64-Bit Server VM (build 17.0.9+11-LTS-201, mixed mode, sharing)
C:\tmp>ping 192.168.1.12
Ping wird ausgeführt für 192.168.1.12 mit 32 Bytes Daten:
Antwort von 192.168.1.12: Bytes=32 Zeit<1ms TTL=63
Antwort von 192.168.1.12: Bytes=32 Zeit=1ms TTL=63
Antwort von 192.168.1.12: Bytes=32 Zeit=1ms TTL=63
Antwort von 192.168.1.12: Bytes=32 Zeit=1ms TTL=63
Ping-Statistik für 192.168.1.12:
Pakete: Gesendet = 4, Empfangen = 4, Verloren = 0
(0% Verlust),
Ca. Zeitangaben in Millisek.:
Minimum = 0ms, Maximum = 1ms, Mittelwert = 0ms
C:\tmp>java -jar SB_updater-1.11-all.jar 192.168.1.12 -f0
[1;92m
_____ ________ __________ __ _______ __ ______ ____ ___ ________________
/ ___// ____/ / / ____/ __ )/ / / / ___/ / / / / __ \/ __ \/ |/_ __/ ____/ __ \
\__ \/ __/ / / / /_ / __ / / / /\__ \ / / / / /_/ / / / / /| | / / / __/ / /_/ /
___/ / /___/ /___/ __/ / /_/ / /_/ /___/ / / /_/ / ____/ /_/ / ___ |/ / / /___/ _, _/
/____/_____/_____/_/ /_____/\____//____/ \____/_/ /_____/_/ |_/_/ /_____/_/ |_|
by Dr. Stefan Haller, Oliver Stefan et al. Selfbus-Updater 1.11
[0m
Invalid command line parameters:
192.168.1.12 -f0
[0;31mNo fileName specified.[0m
For more information about the usage start with --help
org.apache.commons.cli.ParseException: No fileName specified.
at org.selfbus.updater.CliOptions.parse(CliOptions.java:443)
at org.selfbus.updater.CliOptions.<init>(CliOptions.java:343)
at org.selfbus.updater.Updater.<init>(Updater.java:91)
at org.selfbus.updater.Updater.main(Updater.java:102)
kann mir jemand sagen warum ich die UID nicht als Rückgabewert bekomme bei der Befehlszeile?
"java -jar SB_updater-1.11-all.jar 192.168.1.12 -f0"
Der Bootloader "bootloader_release_(lpc11xx)_v1.11_libv2.02.hex" auf dem Controller "4TE Controller ARM LPC1115" ist aufgespielt.
KNX Router hat die Adresse 192.168.1.12:3671 (Gira)
Die LED auf der Controller Platine "blinkt langsam und wechselt zwischen hell und dunkel"
Danke im Voraus
------CMD----------
"C:\tmp>java --version
java 17.0.9 2023-10-17 LTS
Java(TM) SE Runtime Environment (build 17.0.9+11-LTS-201)
Java HotSpot(TM) 64-Bit Server VM (build 17.0.9+11-LTS-201, mixed mode, sharing)
C:\tmp>ping 192.168.1.12
Ping wird ausgeführt für 192.168.1.12 mit 32 Bytes Daten:
Antwort von 192.168.1.12: Bytes=32 Zeit<1ms TTL=63
Antwort von 192.168.1.12: Bytes=32 Zeit=1ms TTL=63
Antwort von 192.168.1.12: Bytes=32 Zeit=1ms TTL=63
Antwort von 192.168.1.12: Bytes=32 Zeit=1ms TTL=63
Ping-Statistik für 192.168.1.12:
Pakete: Gesendet = 4, Empfangen = 4, Verloren = 0
(0% Verlust),
Ca. Zeitangaben in Millisek.:
Minimum = 0ms, Maximum = 1ms, Mittelwert = 0ms
C:\tmp>java -jar SB_updater-1.11-all.jar 192.168.1.12 -f0
[1;92m
_____ ________ __________ __ _______ __ ______ ____ ___ ________________
/ ___// ____/ / / ____/ __ )/ / / / ___/ / / / / __ \/ __ \/ |/_ __/ ____/ __ \
\__ \/ __/ / / / /_ / __ / / / /\__ \ / / / / /_/ / / / / /| | / / / __/ / /_/ /
___/ / /___/ /___/ __/ / /_/ / /_/ /___/ / / /_/ / ____/ /_/ / ___ |/ / / /___/ _, _/
/____/_____/_____/_/ /_____/\____//____/ \____/_/ /_____/_/ |_/_/ /_____/_/ |_|
by Dr. Stefan Haller, Oliver Stefan et al. Selfbus-Updater 1.11
[0m
Invalid command line parameters:
192.168.1.12 -f0
[0;31mNo fileName specified.[0m
For more information about the usage start with --help
org.apache.commons.cli.ParseException: No fileName specified.
at org.selfbus.updater.CliOptions.parse(CliOptions.java:443)
at org.selfbus.updater.CliOptions.<init>(CliOptions.java:343)
at org.selfbus.updater.Updater.<init>(Updater.java:91)
at org.selfbus.updater.Updater.main(Updater.java:102)
1x Wetterstation LPC | 2x TSDIL-4Sens LPC | 8x 3fachPWMDimmer LPC | 1x out8 Licht LPC | 1x Rolladen LPC | 4x Jalousie LPC | 3x out8 Heizung LPC | 2x out8 Licht ARM | ...
Re: KNX Bootloader für ARM
Hallo,
da bin ich wieder.
Habe jetzt mit Flash Magic und dem gleichen Controller die klassische Binärdatei aufgespielt "out8-bcu1_hand_bistable.hex".
Hardware und KNX-BUS mit dem Router ist unverändert.
Konnte ohne Probleme die acht Aktoren über den Bus ansprechen!
da bin ich wieder.
Habe jetzt mit Flash Magic und dem gleichen Controller die klassische Binärdatei aufgespielt "out8-bcu1_hand_bistable.hex".
Hardware und KNX-BUS mit dem Router ist unverändert.
Konnte ohne Probleme die acht Aktoren über den Bus ansprechen!
1x Wetterstation LPC | 2x TSDIL-4Sens LPC | 8x 3fachPWMDimmer LPC | 1x out8 Licht LPC | 1x Rolladen LPC | 4x Jalousie LPC | 3x out8 Heizung LPC | 2x out8 Licht ARM | ...
Re: KNX Bootloader für ARM
Hallo,
"zuflashende.hex" musst du entsprechend anpassen. Auch wenn man mit -f0 eigentlich nicht flashen "will", braucht der Updater z.Zt. immer ein existierendes *.hex File.
Viele Grüße
Denis
Da fehlt noch die Angabe des *.hex Files mittels
Code: Alles auswählen
--fileName
Code: Alles auswählen
java -jar SB_updater-1.11-all.jar 192.168.1.12 --fileName [zuflashende.hex] -f0
Viele Grüße
Denis
5x in16-bim112 ARM | 1x rol-jal-bim112 ARM | 2x MSA | 1x raincenter-bim112 ARM | 8x Kombisensor LPC | 1x out8 LPC | 2x 2in2out LPC
Re: KNX Bootloader für ARM
Hallo PLC,
schau dir mal im Wiki ganz unten noch Problemlösungen an. Dann gibt es auch eine farbige Ausgabe auf der Konsole und u.a die Fehlermeldungen kann man damit besser erkennen.
Viele Grüße
Denis
schau dir mal im Wiki ganz unten noch Problemlösungen an. Dann gibt es auch eine farbige Ausgabe auf der Konsole und u.a die Fehlermeldungen kann man damit besser erkennen.
Viele Grüße
Denis
Zuletzt geändert von Darthyson am 22. Dez 2023, 22:56, insgesamt 1-mal geändert.
Grund: link optimierung
Grund: link optimierung
5x in16-bim112 ARM | 1x rol-jal-bim112 ARM | 2x MSA | 1x raincenter-bim112 ARM | 8x Kombisensor LPC | 1x out8 LPC | 2x 2in2out LPC
Re: KNX Bootloader für ARM
Gesagt getan,
leider erfolglos
Siehe Bild
leider erfolglos
Siehe Bild
1x Wetterstation LPC | 2x TSDIL-4Sens LPC | 8x 3fachPWMDimmer LPC | 1x out8 Licht LPC | 1x Rolladen LPC | 4x Jalousie LPC | 3x out8 Heizung LPC | 2x out8 Licht ARM | ...
Re: KNX Bootloader für ARM
Hallo PLC,
Viele Grüße
Denis
Welches Modell von Gira denn genau?
Könnte darauf deuten, dass der KNX Router keine weitere Verbindung aufbauen kann. Manche ältere KNX-Router können nur 2 gleichzeitige "IP-Verbindungen" aufbauen, wenn da eventuell knxd und ETS schon eine Verbindung haben, reicht das nicht.timeout connecting to control endpoint 192.168.1.12:3671
Viele Grüße
Denis
5x in16-bim112 ARM | 1x rol-jal-bim112 ARM | 2x MSA | 1x raincenter-bim112 ARM | 8x Kombisensor LPC | 1x out8 LPC | 2x 2in2out LPC
Re: KNX Bootloader für ARM
es ist der Gira KNX IP-Router
Artikelnummer: 216700
Firmware v4.1.474
Artikelnummer: 216700
Firmware v4.1.474
Zuletzt geändert von PLC am 29. Nov 2023, 08:09, insgesamt 1-mal geändert.
1x Wetterstation LPC | 2x TSDIL-4Sens LPC | 8x 3fachPWMDimmer LPC | 1x out8 Licht LPC | 1x Rolladen LPC | 4x Jalousie LPC | 3x out8 Heizung LPC | 2x out8 Licht ARM | ...
Re: KNX Bootloader für ARM
OK, kenn den selbst nicht, nach Datenblatt kann der aber bis zu 4 Tunnelingverbindungen.
Hast du eventuell KNX IP Secure aktiviert?
Falls ja musst du noch --user , --user-pwd und --device-pwd mit angeben.
Hast du eventuell KNX IP Secure aktiviert?
Falls ja musst du noch --user , --user-pwd und --device-pwd mit angeben.
5x in16-bim112 ARM | 1x rol-jal-bim112 ARM | 2x MSA | 1x raincenter-bim112 ARM | 8x Kombisensor LPC | 1x out8 LPC | 2x 2in2out LPC