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 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-17 9:57 AM
Normal way is use boot0 pin , more complicated and STLink required is opt bits and config...
Bootloader starts is described in AN2606
2025-04-17 10:32 AM
Hi @HassaanSaleem-101 and welcome to ST Community
I suggest you the following application note USB DFU protocol used in the STM32 bootloader.
You need to short the BOOT0 pin to Vdd to enter the bootloader mode and ensure that the boot address is set correctly.
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-17 11:13 AM
Hello,
According to the AN2606 the pins to be used for DFU are PA11 and PA11 in USB full speed:
But according to the STM32H747I-DISCO board schematic only USB HS is available on the board and PA11/PA12 are used for other purpose:
So unfortunately you cannot use DFU mode with this board.
@FBL could you confirm?
2025-04-18 1:20 AM
Hi, could you confirm the location of the boot0 pin, where might the boot pin lie on the STM32H747I-DISCO board. I have read the documents but there is nothing mentioned about the boot pin related to dfu, and I have also checked the board, but I couldn't find a dedicated pin or a jumper related the boot pin. In the schematic there is an R192 which connects with the Boot0, do we have to short it? We tried shorting it with a jumper wire but it didn't work. If you know anything about this issue, then kindly let me know about it, thanks.
2025-04-18 1:36 AM
Starting system bootloader is described in Table 2 Patterns AN2606. And yes R192 is pinout for solder wired button switch or jumper. But as mƎALLEm
USB on this board isnt connected to DFU USB pins. Then for use it you require change board and add connector for USB FS.
Better and simpler is try use one UART based on AN2606 and load firmware over it and (any USB UART bridge for PC), when STLink isnt ok.
2025-04-18 1:38 AM
Yes that's the Boot pin but as I said you cannot use DFU mode on this board.
2025-04-18 1:42 AM
I checked the document, there is nothing specifically mentioned related to shorting to the Boot pin to enter the dfu mode, I have also read other documents and over there as well nothing has been mentioned regarding this. We still tried the shorting the boot pin but it didn't work out. Is there any other method or anything else we should/need to try to make the STM32H747I-DISCO board into dfu mode? If you know, then kindly let me know.
2025-04-18 1:44 AM
Are you seeing my replies?
2025-04-18 2:07 AM
yes, I have just seen your replies, thank you for your response, I was just going through the document https://www.st.com/resource/en/application_note/an2606-stm32-microcontroller-system-memory-boot-mode-stmicroelectronics.pdf that you shared, is there any validation for this other than this document related to the USB HS and USB FS for this STM32H747I-DISCO board, because in the case of USB FS, in the ioc I have the option to go into USB FS mode.