Forum: Mikrocontroller und Digitale Elektronik STM32 Bootloader mit verschiedenen Anwenderprogrammen


von Seb (Gast)


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.

von Dr. Sommer (Gast)


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.

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.