Forum: Mikrocontroller und Digitale Elektronik STM32L431 boot modes


von Joachim (gesturejoe)


Lesenswert?

Hallo zusammen,

ich bin ganz mit dem Thema STM32 MCUs.
Im Reference Manual RM0394 von STMicro 
(https://www.st.com/resource/en/reference_manual/rm0394-stm32l41xxx42xxx43xxx44xxx45xxx46xxx-advanced-armbased-32bit-mcus-stmicroelectronics.pdf)

habe ich unter 2.6 Boot configuration gelesen, dass man je nach 
logischem Pegel an BOOT0 sowie den Zuständen der Bits nBOOT0 und nBOOT1 
festlegen kann, ob der MCU aus

- dem system memory
- dem user Flash
oder
- dem SRAM bootet.

So wie ich es verstanden habe, sind laut Reference Manual nBOOT0 und 
nBOOT1, sowie nSWBOOT0 alle im Auslieferungszustand logisch „1“, wie der 
Hersteller in Kapitel 3.4 FLASH option bytes angibt. Damit befindet sich 
der STM32L431, wenn ich es richtig verstanden habe, im Boot mode user 
flash.

Ich möchte einen jungfräulichen STM32L431 mittels UART und der Software 
STM32CubeProgrammer flashen.

Muss ich dazu den BOOT0 pin PH3 zuvor auf HIGH setzen?
Für was nutzt man die oben erwähnten drei Boot mode jeweils?

Vielen Dank für jeden Hinweis!

: Bearbeitet durch User
von N. M. (mani)


Lesenswert?

In dem von dir verlinkten Dokument gibt es das Kapitel "Embedded boot 
loader" in dem auf AN2606 verwiesen wird.

https://www.st.com/resource/en/application_note/an2606-stm32-microcontroller-system-memory-boot-mode-stmicroelectronics.pdf

Auf S.339 findest du die vorhandenen Bootloader für deinen Chip.
Auf S.29 die Pattern wie man die einzelnen Modus aktiviert.

von Joachim (gesturejoe)


Lesenswert?

Hallo mani und vielen Dank für Deine Rückmeldung.
Ich habe jetzt nochmal im RM0394 Reference manual S.88/89 nachgeschaut 
und wie es aussieht, kommt der STMicro vom Werk mit wie folgt 
konfiguriert:
nBOOT0 := 1
nSWBOOT := 1
nBOOT1 := 1

Somit müsste dann System memory als boot area ausgewählt sein.
Dann kann ich, ohne pin PH3 verändern zu müssen, mittels UART einfach 
mein Programm hochladen, oder?

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.