cancel
Showing results for 
Search instead for 
Did you mean: 

STM32F411 Bootloader hangs

Gifford
Associate

Hi there!

I've created a custom STM32F411CEU6 Board with external HSE und LSE. While the HSE works when running my user program, the Bootloader hangs within boot phase (i think).

When starting bootloader, BOOT0=1 und BOOT1=0. I powered direcly on VDD, no USB. I received no answer on both uarts after sending 0x7F. I also can't connect via stmcubeprogrammer. Only can only connect with stlinkv2.

I think it may be a hardware issue, but I can't find a solution.

Crystal 25Mhz: https://atta.szlcsc.com/upload/public/pdf/source/20240329/19D5F850207469550BEB00D7DFEDBC7A.pdf

LSE:

https://atta.szlcsc.com/upload/public/pdf/source/20240418/0E0FF5F0356BA3753F616001439D1416.pdf

Gifford_0-1742722709972.pngGifford_1-1742722726214.png

Gifford_2-1742722747432.pngGifford_3-1742722763253.png

 

1 ACCEPTED SOLUTION

Accepted Solutions

Here are the two pin configurations listed in AN2606 as supported:

TDK_0-1742759211946.png

If you don't have PD5/PD6 on your chip, you can't use those, so PA9/PA10 are the only ones available for you.

 

> I've checked uart1: PA10 PA9 -> it works, bootloader starts!

Good! Shows things are working as expected.

 

> uart2: PA3, PA3 -> doesn't work

PA3 won't work as it isn't listed in AN2606.

If you feel a post has answered your question, please click "Accept as Solution".

View solution in original post

7 REPLIES 7
AScha.3
Chief III

Hi,

i cannot see SWD+SWC , for debug, or connect ; is it there ?

If you feel a post has answered your question, please click "Accept as Solution".
TDK
Guru

After trying to launch the bootloader, you can then connect with STM32CubeProgrammer over SWD and example the PC register and confirm it's 0x1Fxxxxxx.

> I received no answer on both uarts after sending 0x7F.

Which UARTs and pins? It's not shown in your pictures. Are they listed as supported in AN2606?

Schematic seems workable. It has minor issues which I don't believe will cause issues for basic bootloader functionality:

  • Missing 0.1uF decoupling caps.
  • VCAP cap should be 4.7 uF
If you feel a post has answered your question, please click "Accept as Solution".

thanks for all responses!

@AScha.3 SWD works and is connected.

I've checked uart1: PA10 PA9 -> it works, bootloader starts!

uart2: PA3, PA3 -> doesn't work

AN2606 writes Port "PD", but I havn't any PORT D ...

I can connect with SWD but cannot find any PC register. On which address? Or where can I find it in STM32CubeProgrammer?

find register log attached ...

Here are the two pin configurations listed in AN2606 as supported:

TDK_0-1742759211946.png

If you don't have PD5/PD6 on your chip, you can't use those, so PA9/PA10 are the only ones available for you.

 

> I've checked uart1: PA10 PA9 -> it works, bootloader starts!

Good! Shows things are working as expected.

 

> uart2: PA3, PA3 -> doesn't work

PA3 won't work as it isn't listed in AN2606.

If you feel a post has answered your question, please click "Accept as Solution".

ok, thanks for clarifying!

However, it is still not clear to me why the USB boot does not work. I have installed all stm windows drivers. on the black pill board, the bootloader is displayed as “STM Bootloader” in the device manager as expected. on my custom board, “unknown usb device device descriptor request failed” is displayed

The bootloader works with uart. Are there any mistakes in the schematic? the HSI starts, but not the external ... are there any requirements I missed?

Any idea?

Does HSE start in a user program? If not that’s the issue. What observation makes you say that it doesnt start?

There are some comments in AN2606 about lower clock HSE such as 8 MHz being preferred.

If you feel a post has answered your question, please click "Accept as Solution".