AnsweredAssumed Answered

Bootloader "crash" if accessed via USART1 and VDD_USB not connected?

Question asked by forest.jason on Nov 24, 2016


I'm having an issue where some boards will not go into the CPU bootloader via USART1 (PA9/PA10) unless I have the USB cable attached.


- STM32F412 CPU

- VDD_USB pin (C11 on BGA-144 package) not connected

The sequence is that I set boot0 high, boot1 low, reset the cpu, and normally I can send the 0x7F command and get the 0x79 back (or the regular way is that ST flash loader application works normally).

On about 50% of our boards this does not work. I happen to figure out if I plug in the USB cable to our board, the bootloader works 100% of the time on the COM port. I've made sure it was not just the ground of the cable that was changing it. And I verified that simply holding USB+/- lines to ground will also make it work.

Are the "floating" USB lines causing the bootloader to either crash, or make it think that there is a USB cable connected, which in turn jumps to USB_DFU routine instead of looking for 0x7F on USART1.

-Accessing the CPU via ULINK Pro or ULINK-ME is not an issue without the USB cable.

- Once the board is programmed with a FW, it has no issues running that FW. The issue is strictly limited to the CPU bootloader.

Thanks for any help.