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

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren