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.