2025-02-10 10:04 PM
Hello!
Prehistory:
USB DFU works flawlessly on another my design which is based on the STM32H743ZGT6.
When it is powered on with BOOT0=1, I measure 3.3V on the USB_DP processor pin with a USB cable disconnected from the board.
Problem:
There is a USB DFU issue on the design based on the STM32F413VGT6.
Facts for a power-on with BOOT0=1 (jumper X10 is not installed):
1) USB_FS_DP voltage is about 0.2V
2) the processor is not discovered as DFU when USB cable is connected to a PC
3) R200 was replaced with 51 Ohm - no change in behaviour
4) test firmware implements blinking LED, so when BOOT0=1, it is definitely is not executed, because the LED is off.
When BOOT0=0 and test firmware configured USB as DFU, after power-on I measure 3.3V on the USB_FS_DP signal.
2025-02-11 02:30 AM
Check the decision tree (34.2) in the F413 section of AN2606 if something on another pin keeps the bootloader from reaching DFU.
2025-02-11 03:32 AM
Dear Uwe Bonnes,
Thank you for the response.
I've already looked into the section 35.2 of the AN2606.
There is no active host on any interface mentioned in the "Table 74. STM32F413xx/423xx configuration in system memory boot mode".
Is it possible to debug the issue?
2025-02-11 07:34 AM
Do you have debug access via JTAG or SWD? Hot plug the debugger to the hanging process and read out registers and try to decipher what is going wrong.
Did you have a look with the scope? Is HSE running? Is it a simple frequency? Is it in the low range as suggested by the note under table 71? What happens on the PC when you connect to DFU mode? Is the USB_DP pullup activated? Did you doble check the design? No solder or placement errors?