LightBus/STM32Bootloader: Unterschied zwischen den Versionen

Aus Wiki CCC Göttingen
Zur Navigation springen Zur Suche springen
(Die Seite wurde neu angelegt: „'''WORK IN PROGRESS''' Hier soll die Beschreibung des Bootloaders stehen, der auf den STM32F103-Boards arbeiten wird. Er soll folgende Funktionalität bieten…“)
 
Keine Bearbeitungszusammenfassung
 
Zeile 1: Zeile 1:
'''WORK IN PROGRESS'''
'''WORK IN PROGRESS'''


Hier soll die Beschreibung des Bootloaders stehen, der auf den STM32F103-Boards arbeiten wird.
==Code:==
https://github.com/hwhw/stm32-projects/tree/master/lbus_bootloader


Er soll folgende Funktionalität bieten:
==Aktivierung:==
* Kann über Jumper auf dem Board aktiviert werden
* 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 aus der eigentlichen Firmware heraus aktiviert werden
* Kann über Jumper auf dem Board als Default aktiviert werden: BOOT1-Pin muss auf high (1) gesetzt sein. Es erfolgt dann kein Timeout.
** dazu: Flag für Bootloader-Modus in den Backup-Registern des STM32F103 setzen (BKP)
* Kann aus der eigentlichen Firmware heraus aktiviert werden (via LBUS-Kommando "reset_to_bootloader")
* Kann über den LightBus kontrolliert
** 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.
** wieder in den Firmware-Modus zurück wechseln
 
** Firmware flashen
==Funktionen:==
** Speicher auslesen und zurückgeben
Kontrolliert über den LBUS kann der Bootloader
** die eigene LightBus-Adresse setzen
* 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.
...und natürlich die Firmware booten.

Aktuelle Version vom 8. August 2016, 07:59 Uhr

WORK IN PROGRESS

Code:[Bearbeiten]

https://github.com/hwhw/stm32-projects/tree/master/lbus_bootloader

Aktivierung:[Bearbeiten]

  • 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:[Bearbeiten]

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.