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.
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.