STM32 bootloader

OP #6232980
Lesenswert?

Guten Tag,

ich möchte gerne einen STMF401RETx (LQFP64) via USART1 flashen.

Hierzu habe ich wie in der Doku "AN2606" von ST beschrieben an den Pins 
PA10 und PA9 ein FTDI-Kabel angeschlossen (FTDI-RX an uC-TX und 
umgekehrt). Das Kabel ist mit einem PC verbunden. Den uC wollte ich dann 
über den STM32CubeProgrammer flashen.


Desweiteren habe ich die uC-Pins nach Pattern 1 (Doku AN2606) für Boot0 
= 1 (BOOT0) und Boot1 = 0 (PB2) über 10k Widerstände gesetzt.

Leider bekomme ich eine Fehlermeldung wenn ich mit dem 
STM32CubeProgrammer eine Verbindung zum Microcontroller aufbauen will.

Kann mir wer dabei weiterhelfen, wie ich den uC in den Bootmodus setze 
und flashen kann?


Ich danke euch schon mal im Voraus ;)
______________________________________________________________________ 
__

Zu erwähnen ist das ich bereits einen STM042K6Tx (LQFP32) erfolgreich 
mit der Vorgehensweise flashen konnte. Hierzu habe ich Boot0 = 1 gesetzt 
und die USART Pins entsprechend verbunden.

Fehlermeldung:

Error: Activating device: KO. Please, verify the boot mode configuration 
and check the serial port configuration. REset your device then try 
again...

Die Dokumente:

AN2606 (S.120 -> USART1 Verbindun, S.22 Pattern 1)
https://www.st.com/resource/en/application_note/cd00167594-stm32-microcontroller-system-memory-boot-mode-stmicroelectronics.pdf

AN4488 (S.26 -> Table 6. Bootmodes)
https://www.st.com/resource/en/application_note/dm00115714-getting-started-with-stm32f4xxxx-mcu-hardware-development-stmicroelectronics.pdf
OP #6233036
Lesenswert?

W.S. schrieb:
> Dustin B. schrieb:
>> Kann mir wer dabei weiterhelfen, wie ich den uC in den Bootmodus setze
>> und flashen kann?
>
> https://www.mikrocontroller.net/attachment/383626/Stm32Prog_R1.0.6.zip
>
> W.S.

Danke für dieses ausführliche Dokument. :)

Aber es geht ja mit dem kleinerer uC. Hab den Reset-Pin mal 
angeschlossen, trotzdem gleiches Resultat.(Allerdings noch mit dem 
STM-Programmer)
Beitrag #6233070 wurde von einem Moderator gelöscht.
Beitrag #6233075 wurde von einem Moderator gelöscht.
OP #6233083
Lesenswert?

Stefan ⛄ F. schrieb:
> Probiere mal zum Vergleich den "STM32 Flash load demonstrator".
> https://www.st.com/en/development-tools/flasher-stm32.html

Habe ich auch schon probiert.
Mit dem STM042 geht es, mit dem STM32F401RE nicht.

Habe ich vielleicht noch etwas anderes übersehen?

Der uC befindet sich auf einem Steckboard mit 3.3V. Es sind jetzt nur 
noch die Pins VDD/VBAT auf 3.3V und VSS auf Ground, sowie die USART1 
Pins RX/TX angeschlossen.

Die USARTS1 Pin hab ich mit 100k Widerständen auf +VDD gelegt, wie es im 
Doc AN2606 S.33 beschrieben wird.

Von dem FTDI-Kabel sind RX und TX entsprechend andersrum angeschlossen 
und der Ground-Anschluss auf Ground.
#6233160
Lesenswert?

Dustin B. schrieb:
> Es sind jetzt nur noch die Pins VDD/VBAT auf 3.3V
> und VSS auf Ground

Was ist mit VSSA und VDDA, die müssen auch immer angeschlossen sein?
Und die Spezialkondensatoren an VCAP1 und VCAP2 sind auch dran?
Alle Pins, die der Bootloader als Eingang benutzen kann, sollten nicht 
floaten sondern statisch 1 oder 0 sein. Auch ein Taktsignal könnte 
stören. Theoretisch könnten diese kritisch sein: PD6, PB6, PB7, PB10, 
PB3, PA8, PB4, PA7, PA5, PA4, PB15, PB13, PB12, PC12, PC10, PA15 und 
PA11, PA12.
Und wenn das alles nicht sein kann, einfach mal RX und TX vertauschen ;)

Dustin B. schrieb:
> Das BOOT0 auf
> VDD und BOOT1 auf GND sein muss ist wohl richtig?
So steht es geschrieben.
Gast #6233186
Lesenswert?

Ich habe es mit einem CH341 und einem STM32F103C8(nicht BluePill) auf 
der Kommandozeile probiert.
Auch an UART1, PA9, PA10 und Boot0=1.

./STM32_Programmer.sh -c port=/dev/ttyUSB0 -r 0x08000000 0x100 x.bin

Fnktioniert zwar, aber es zeigt eine Meldung:
Timeout error occured while waiting for acknowledgement.

So ganz i.O. ist das auch nicht.

Kannst ja mal einen Debug Level 3 probieren. Graphisch, oder:

./STM32_Programmer.sh -c port=/dev/ttyUSB0 -vb 3 -r 0x08000000 0x100 
x.bin

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren