STM32 Bootloader mit verschiedenen Anwenderprogrammen

Gast #5177255
Lesenswert?
• ▲
▼
Hi,

ich stelle mir gerade die Frage ob jemand Erfahrung damit hat, mehrere 
Anwenderprogramme per Bootloader zu starten.

Ich stelle mir das so vor: auf nem STM32 gibt es 3 Speicherbereiche, 
einer wird den Bootloader enthalten, die anderen beiden jeweils eine 
Firmware. Als erstes wird der Bootloader gestartet, welcher dann 
entweder das eine oder das andere Programm läd. Sowas in der Art hab ich 
vor Ewigkeiten schonmal gemacht. Man muss nur beim Flashen aufpassen, 
dass man das Anwenderprogramm hinter den Bootloader flasht und vorm 
Bauen muss man noch ein, zwei Adressen anpassen (die Startadresse). Das 
Ganze kann man dann doch sicher auch mit zwei Anwenderprogrammen machen, 
die an verschiedenen Stellen liegen?

Ziel soll sein, ein Firmwareupdate zwischenzuspeichern und eine 
Fallbackmöglichkeit zu haben, falls irgendetwas schief läuft. Der 
Bootloader checkt also, ob nach dem Update alles gut läuft. Er schreibt 
Parameter an eine bestimmte Stelle im Speicher und das Anwenderprogramm 
überschreibt diese Parameter, falls alles gut läuft. Der Bootloader 
erkennt beim nächsten Starten dann, dass alles ok ist.

PS: Der Bootlaoder wird dann ein Selbstgeschriebener sein, nicht der 
Hardwarebootloader des STM.
Gast #5177262
Lesenswert?
• ▲
▼
Wo ist jetzt die Frage? Das sollte kein Problem sein. Beim STM32 kann 
man ja die meist vorhandene CRC-Hardware nutzen, um die Firmware-Images 
auf Konsistenz zu prüfen. Du musst nur darauf achten, dass keine 
Flash-Page mehrere Images enthält, weil du sonst keine einzelnen Images 
überschreiben/löschen kannst.

Antwort schreiben

Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt. Bitte hier nur auf die ursprüngliche Frage antworten, für neue Fragen einen neuen Beitrag erstellen.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.