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

Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt. Bitte hier nur auf die ursprüngliche Frage antworten, für neue Fragen einen neuen Beitrag erstellen.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.