Skip to main content
TLuke.2
Associate II
January 31, 2024
Solved

STM32H753I-Eval2 in DFU mode

  • January 31, 2024
  • 6 replies
  • 6758 views

Hello,

I'm curious if I am going through the correct procedure to put th H753I eval board in DFU mode. I have the power jumper JP10 on PSU. I then put a jumper on JP3 which is labeled BL_BOOT0 (which as far as I know puts the H7 in DFU mode when pulled high). I then plug in the PSU and then plug in usb cable to my pc and to the eval board. I've tried all three OTG ports, but I get no activity on my pc. When I check device manager, nothing new shows up at all. I've seen other see STM32 BOOTLOADER and STM32 in DFU mode, but I don't see either of these.

Any help or insight would be appreciated. Thank you.

This topic has been closed for replies.
Best answer by Tarun

Hi,

I have different ST board, but I wanted to specify few things about DFU Mode.

1. To enter into DFU mode, flash memory must be completely blank.

2. So erase the flash and unplug the board USB from the host machine then plug it back.

3. Open Windows 10 -> Settings -> Bluetooth & devices should list your DFU device. 

6 replies

Technical Moderator
February 2, 2024

Hello @TLuke.2 

You need to set BOOT0 to high to invoke internal DFU and reset MCU then keep BOOT0 high for duration of the test. 
Then you start STM32CubeProgrammer and connect to device via UART in DFU mode and load firmware to programmer and tick "Run After Programming"

 

To give better visibility on the answered topics, please click on Accept as Solution on the reply which solved your issue or answered your question.Best regards,FBL
TLuke.2
TLuke.2Author
Associate II
February 2, 2024

Thanks, but I forgot to specify, I'm trying to specifically enter DFU via USB and not UART. Under the USB heading in cube programmer, I just see No DFU Detected. On the eval board, I've pulled the BOOT0 pin high and reset the MCU to no avail.

TLuke.2
TLuke.2Author
Associate II
February 9, 2024

Does anyone have any other insight on this? I should note I'm on Windows 11, but have also tried it on a machine running Windows 10. This question is specifically for DFU mode using USB and not UART.

Pavel A.
Super User
February 9, 2024

Are you sure that no USB device is detected by Windows? (not necessary named "DFU")

 

 

 

TLuke.2
TLuke.2Author
Associate II
February 10, 2024

Absolutely 100% sure

TarunBest answer
Associate II
February 12, 2024

Hi,

I have different ST board, but I wanted to specify few things about DFU Mode.

1. To enter into DFU mode, flash memory must be completely blank.

2. So erase the flash and unplug the board USB from the host machine then plug it back.

3. Open Windows 10 -> Settings -> Bluetooth & devices should list your DFU device. 

TLuke.2
TLuke.2Author
Associate II
February 12, 2024

That did the trick. I didn't know DFU mode required flash memory to be completely blank. Thank you.

Pavel, thank you as well for the suggestions. I'm leaving these in my notes in case of future problems.

Pavel A.
Super User
February 12, 2024

DFU mode required flash memory to be completely blank. 

Blank flash is NOT one of "patterns" which force booting from the built-in bootloader for STM32H753. The "patterns" for activation of system bootloader are documented in AN2606 section  4.1. So I suspect that the option bytes for the boot address were corrupted, and the full erase restored them to factory values.

 

 

 

Technical Moderator
February 12, 2024

Hello again @TLuke.2 

You may need to install the STM32CubeProgrammer DFU driver by running the “STM32 Bootloader.bat” file.

 

To give better visibility on the answered topics, please click on Accept as Solution on the reply which solved your issue or answered your question.Best regards,FBL
Pavel A.
Super User
February 12, 2024

@FBL but the OP says that no USB device is detected at all?   So there's nothing to install the driver on. Suspecting that BOOT0 is not set well, or the option bytes of H753 for the boot address have been changed and no longer point to the built-in bootloader.

@TLuke.2 Can you connect with CubeProgrammer over SWD and check the boot address for BOOT0=1 in the option bytes?