cancel
Showing results for 
Search instead for 
Did you mean: 

STM USART bootloader issue with STM32F446

MartenP
Associate

I've been using bootloader over USART3 PB10/PB11 at an STM32F446ZET6 for long time and it works reliably at least at 115200kbit. 

This year we assembled several new PCB's without HW change and the bootloader stopped working. When programming the STM32 via SWD interface everything seems to work normally - also USART3 communication works fine.

ONLY the bootloader does not answer on char 0x7F

Description: I'm trying to enter the bootloader by hand

- BOOT0pin=high,

- toggle reset of the STM32

- send 0x7F using Hterm terminal in hex mode

Expected result is char 0x79 (or any error byte). But I get no any byte on the fresh controllers. Same test works well on the controllers from last years.

Additional information:

- both, new and old controller initialize USB as DFU interface (so they are not empty, some bootcode must be running)

- old controller bootloader version read out: 3.1

For me it looks like the STM factory boot code has changed since last year. Can you confirm this?

Regards Marten

 

3 REPLIES 3
TDK
Guru

> For me it looks like the STM factory boot code has changed since last year. Can you confirm this?

Unlikely. Easy enough to check with STM32CubeProgrammer since you can connect over USB:

TDK_0-1694442717891.png

After you verify it's the same, look at other issues.

  • Other bootloader pins active before PB10/PB11?
  • Workmanship/soldering issues.
If you feel a post has answered your question, please click "Accept as Solution".

Besides what TDK said above (i.e. check if all pins are properly connected, including all VSS/VDD and PB10/PB11), check also the option bytes, and also make sure that there's no activity on other bootloader-interfaces' pins.

Note, that if you have SWD connection, you can use the debugger to check if the bootloader is entered.

JW

MartenP
Associate

The other bootloader-interfaces' pins is probably the reason here. One out of 30 trials with different application states and slow baud rate (115.2k) I indeed get occasional USART3 bootloader access. Thanks.