LightBus/STM32Bootloader
WORK IN PROGRESS
Code:
https://github.com/hwhw/stm32-projects/tree/master/lbus_bootloader
Aktivierung:
- Ist für 2 Sekunden nach dem Einschalten aktiv und wartet auf LBUS-Kommandos. Soll in dieser Zeit der Timeout deaktiviert werden, muss ein "reset_to_bootloader"-Kommando gesendet werden.
- Kann über Jumper auf dem Board als Default aktiviert werden: BOOT1-Pin muss auf high (1) gesetzt sein. Es erfolgt dann kein Timeout.
- Kann aus der eigentlichen Firmware heraus aktiviert werden (via LBUS-Kommando "reset_to_bootloader")
- Funktion benutzt die BKP-Register des STM32, in dem Daten auch über einen Reset erhalten bleiben, um ein entsprechendes Flag für den Bootloader zu setzen. Es erfolgt dann kein Timeout.
Funktionen:
Kontrolliert über den LBUS kann der Bootloader
- einen Ping beantworten
- wieder in den Firmware-Modus zurück wechseln
- Firmware flashen
- Speicher auslesen und zurückgeben
- verschiedene Betriebsdaten auslesen und zurückgeben
- Bootloader-Version
- Firmware-Version und -Name
- die eigene LightBus-Adresse setzen
- den Konfigurationsspeicher löschen
...und natürlich die Firmware booten.