2025-04-17 9:22 AM
Hey everyone, I'm working with the STM32H747I-DISCO board and trying to get it into USB DFU mode to flash firmware using STM32CubeProgrammer. However, the board isn't being detected, and I couldn’t find clear instructions in the documentation about how to properly enter DFU mode. If anyone has managed to get this working or knows the correct steps, I'd really appreciate your guidance. Thanks in advance!
Solved! Go to Solution.
2025-04-18 2:18 AM - edited 2025-04-18 2:19 AM
Hello,
The AN2606 is a reference for all STM32 bootloader. Other application notes are specific (AN2606 page 26):
– AN3154: CAN protocol used in the STM32 bootloader
– AN3155: USART protocol used in the STM32 bootloader
– AN3156: USB DFU protocol used in the STM32 bootloader
– AN4221: I2C protocol used in the STM32 bootloader
– AN4286: SPI protocol used in the STM32 bootloader
– AN5405: FDCAN protocol used in the STM32 bootloader
– AN5927: I3C protocol used in the STM32 bootloader
The hardware to be used is described in the AN2606 and there is no specific bootloader document for ST boards as the bootloader is silicon specific not to the board.
And starting a project from STM32CubeMx based on the STM32H747I-DISCO board, the USB FS is not enabled by default. Only USB HS is enabled:
Hope it's clear now.
2025-04-18 2:35 AM
Right, thank you for your responses, I really appreciate that, if I have any other query related to it, I'll surely reach you out.
2025-04-18 3:01 AM - edited 2025-04-18 3:02 AM
Hello,
If one of the replies answered your question please accept it as solution.
For any other query (not related to DFU usage on that board) I suggest to open a new thread.
Thank you and welcome again to this community.
2025-04-18 3:05 AM
Hi @HassaanSaleem-101 @mƎALLEm
You can find an example provided for this board to enter DFU mode using USB HS interface.
However, you cannot access ST's bootloader interface through this HS interface. You need to ensure that bootloader mode is not entered by checking with a tool like STM32CubeProgrammer.
After that, you can adjust USBD_DFU_APP_DEFAULT_ADD, specifying the address from where user's application will be downloaded.
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.
2025-04-18 3:16 AM - edited 2025-04-18 3:21 AM
Thank you @FBL I was not aware of that example.
So in conclusion:
1- You cannot use the AN2606 as reference for this board for ST bootloader.
2- You can use the example provided by my colleague @FBL as a "custom bootloader" and no need to use the boot pin in this case.
Did @FBL comment answer your question?
2025-04-18 10:20 AM
This is an article how to use USB DFU ST bootloader on Nucleo-H742ZI: How can I use STM32CubeProgrammer to access the USB-DFU bootloader on my STM32 board?
It doesn't apply to the board you have (point 1 in my previous comment) but at least to know how to use the USB DFU ST bootloader and its process.