STM32 Bootloader mit verschiedenen Anwenderprogrammen

Gast #5177255
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
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

Eine eigene Frage? Dieser Thread ist über 9 Jahre alt. Stell sie in einem eigenen Thread – dort lesen mehr Leute mit, und sie wird öfter und schneller beantwortet.

Neuen Thread starten

Eine Lösung, Ergänzung oder Rückmeldung zu diesem Thread? Dann antworte hier.

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.