Forum: Mikrocontroller und Digitale Elektronik STM32 Bootloader aus der Applikation heraus starten


von Florian (Gast)


Lesenswert?

Hallo,

hat jemand eine Idee, wie man den STM32 internen Bootloader aus der 
eigenen Applikation heraus starten kann?
Ich habe keine Möglichkeit die Boot0 und Boot1 Pins zu toggeln. Kann man 
z.B. den PC einfach auf die Bootloader Startadresse (0x0000 0000) 
umsetzen? In den AppNotes finde ich nur die die Startvariante nach einem 
Reset und dem Toggeln der Boot Leitungen.

Gruß
Florian

von ... .. (docean) Benutzerseite


Lesenswert?

hat das Ding keinen Watchdog?

Wenn ja Watchdog starten und in eine while(1); laufen...

von Florian (Gast)


Lesenswert?

Hallo,

das bringt mir nichts, da ich dann die Boot0 und Boot1 Leitungen Toggeln 
muss. Ich kann ein Reset mit GenerateSystemReset() auslösen. Ich will 
aber kein Reset sondern einen Aufruf den Bootloaders, ohne Abfrage der 
Boot Pins.

von (prx) A. K. (prx)


Lesenswert?

Ob das geht hängt davon ab, wie der Bootloader programmiert wurde.

Der liegt ja im System Memory, aber im Bootloader-Modus liegt dieses 
gespiegelt an Adresse 0. Wenn er nur auf dieser Spiegeladresse läuft, 
dann geht das ohne Reset und Boot-Pins wohl überhaupt nicht.

Wirst wohl mal reinschauen müssen. Wenn du Glück hast, dann zeigt der 
Bootloader-Resethandler direkt ins System Memory. Dann könnte es 
funktionieren, indem du nach entsprechender Initialisierung vom 
Stackpointer dort reinspringst.

von Plan (Gast)


Lesenswert?

Ich hab schon mal einen eigenen USB Bootloader programmiert. Dazu habe 
ich die ersten 8KB Flash genommen, das eigentliche Programm läuft ab der 
8KB Adresse.
Das ganze hatte ich in einem einzigen Code Programmiert, also der 
Bootloader und die Firmware waren ein Projekt.
War ziemlich trickreich mit dem Speicherbereich, aber ging.

Der Knackpunkt war, aus der Firmware die USB Verbindung dem Bootloader 
zu übergeben, so dass dieser mit der gleichen USB Kommunikation den 
Flash updaten konnte...
(Auch die selbst geschriebene PC-Software macht die Bedienung und den 
FW-Update)

Selbst ist der Mann/Frau.

Eine Möglichkeit die eigene Flash-Routine zu starten kenne ich auch 
nicht.

In diesem Forum bekommst Du garantiert Hilfe:
http://www.st.com/mcu/forumsid-23.html
Direkt von ST.

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.