Forum: Mikrocontroller und Digitale Elektronik STM32 UART-Bootloader Fragen


von Bauform B. (bauformb)


Lesenswert?

Servus,

die STM32 haben ja ab Werk einen UART-Bootloader. Der funktioniert 
einwandfrei, wenn man ein fertiges Programm in einen leeren Chip flasht. 
Während der Entwicklung lade ich das Programm gerne ins RAM. Damit ich 
das gesamte RAM nutzen kann, habe ich einen eigenen Bootloader mit der 
gleichen Schnittstelle.

Das Anwendungsprogramm kann also direkt ab 0x08000000 starten oder von 
einem der beiden Bootloader gestartet werden. Kann das Programm die 3 
Möglichkeiten irgendwie unterscheiden? Im ersten Fall muss es nämlich 
die Reset-Flags selbst lesen, mit meinem Bootloader hat der das schon 
gemacht und übergibt sie in R0 und der ST-Bootloader macht irgendwas 
undefiniertes.


Bonusfrage: Für ein Firmware-Update am fertigen Gerät braucht man ein 
passendes Adapterkabel und ein Programm für einen Laptop mit Windows-10. 
Das muss nur ein bis fünf Hex-Dateien per UART-Bootloader ins Flash 
schreiben. Und natürlich vorher ein bulk erase machen. Jede weitere 
Funktion stört nur, irgendwas in Richtung IDE kommt also nicht in Frage. 
Was empfehlen die Spezialisten?

von Stefan F. (Gast)


Lesenswert?

Ich benutze unter Linux gerne stm32flash
https://sourceforge.net/p/stm32flash/code/ci/master/tree/

Das soll wohl auch unter Windows laufen.

Die andere Frage kann ich dir nicht beantworten.

von Johannes S. (Gast)


Lesenswert?

Das ST Tool STM32CubeProgrammer kann inzwischen alles, GUI oder CLI, per 
UART/I2C/SPI/CAN/USB, Option Bytes setzen, Flash Bänke löschen, Speicher 
und Register anzeigen.
.HEX Dateien enthalten ja die Adressen und die sollte man daher 
zusammenkopieren können, ansonsten eine Batchdatei mit mehreren Zeilen 
für die einzelnen files.
https://www.st.com/content/ccc/resource/technical/document/user_manual/group0/76/3e/bd/0d/cf/4d/45/25/DM00403500/files/DM00403500.pdf/jcr:content/translations/en.DM00403500.pdf

von Bauform B. (bauformb)


Lesenswert?

Stefan ⛄ F. schrieb:
> Ich benutze unter Linux gerne stm32flash
> https://sourceforge.net/p/stm32flash/code/ci/master/tree/
> Das soll wohl auch unter Windows laufen.

Da gibt's eine Version von Anfang 2016, da fehlen natürlich alle neuen 
Chips. Außerdem kann ich es unter wine nicht testen. Ich müsste es also 
selber compilieren, aber sooo wichtig ist das denn doch nicht.

Johannes S. schrieb:
> STM32CubeProgrammer kann inzwischen alles

Für Entwickler mit viel unterschiedlicher Hardware sicher toll, aber 
viel zu komplex für meine eine simple Aufgabe. Und man braucht einen 
Rechtsanwalt für die Lizenz.

Der Testsieger ist (bis jetzt) ganz klar der "Bootlader Programmer 
STM32Prog"
Beitrag "STM32Fxxx Bootlader Programmer STM32Prog"

das Tool ist einfach und übersichtlich und muss nicht installiert 
werden. Es gibt ein Handbuch auf deutsch, ich kann neue Chips selbst 
ergänzen und es hat ein schickes GUI. Nur ob es mit Windows-10 zusammen 
spielt und die Lizenz sind mir nicht klar, ist das PD? Anscheinend kann 
man den Quelltext bekommen, aber nur mit Beziehungen oder wie??

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.