Forum: Mikrocontroller und Digitale Elektronik Bootload Update STM32F303


von STM32F303 (Gast)


Lesenswert?

Liebes Forum,

an dem Mikrocontroller (STMF303), an dem ich derzeit programmiere, 
möchte ich die Firmware updaten (über die USART1). Nun habe ich mir 
vorgestellt, dass zu Beginn eine LED ausgeschaltet ist (Output Pin ist 
einfach Low) und ich über einen Bootloader eine Firmware-Update mache, 
sodass diese LED eingeschaltet wird (Output High).

Dazu habe ich viel im Internet recherchiert und nach Beispiel-Codes bzw. 
allgemein ein passendes Datenblatt über die Theorie dazu gesucht. Leider 
habe ich nichts gefunden, was mir dabei hilft.

Das einzige was noch halbwegs zu diesem Thema passt, sind die 
Datenblätter AN2606 (STM32 microcontroller system memory boot mode) bzw. 
AN3155 (USART protocol used in the STM32 bootloader).
Das erstgenannte Datenblatt handelt davon, welche Peripherien verwendet 
werden können und das Andere davon, wie ich hardwaremäßig in den 
Boot-Modus komme, wo auch alle mögliche Commands erklärt werden.

Ich weiß aber immer noch nicht, wie ich nun ein Update realisieren 
kann...

Also kurz gesagt: Hat jemand Tipps um sich in dieser Richtung 
einzulesen, bzw. eventuell auch Beispielcodes. Einfach etwas, was mir 
als Anfänger helfen könnte....

Vielen Dank!

von W.S. (Gast)


Lesenswert?

Ist die Forensuche denn kaputt?
Siehe da: "Beitrag "STM32Fxxx Bootlader Programmer STM32Prog";

W.S.

von Joe F. (easylife)


Lesenswert?

Da ich genau dies gerade "hinter mir" habe:
AN3155 ist genau was du brauchst.
Und möglichst auch einen Logic-Analyzer, mit dem du den UART Leitungen 
"zugucken" kannst.
Am besten setzt du den STM per Bootpins erstmal hart in den 
Bootloader-Mode.
Und dann schickst du auf RX ein "0x7f", wenn du dann auf TX ein ACK 
(0x79) siehst, ist hardwaremäßig schon mal alles richtig.
Dann geht es nur noch drum die Komandosequenzen zu implementieren.
Wirklich benötigt werden erstmal nur "Extended Erase Memory" (wenn du 
die Firmware ins Flash schreiben möchtest), "Write Memory" und "Go".
Los gehts.

: Bearbeitet durch User
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.