cancel
Showing results for 
Search instead for 
Did you mean: 

STM32H7 Dual Core DFU

SEast.1
Associate

I'm working with the STM32F7 dual-core capability for the first time. Using NUCLEO-H745ZI-Q, DfuSe Demo v3.0.6, DFU File Manager v3.0.6

I have one program for the CM7 core and another for the CM4 core. I can enter the system bootloader by applying 3.3V to BT0 on my NUCLEO-H745ZI-Q board. Here's my testing:

  • I can load and run both programs on each core with the onboard ST-LINK
  • I can load and run the CM7 program by itself with DFU.
  • I cannot load and run the CM4 program by itself with DFU. DfuSe doesn't even look to start.
  • I cannot load and run a DFU file containing the CM4 and CM7 program. It stalls halfway through the erase. To have both BIN files in one DFU file, the DFU File Manager allows multiple BIN files under the BIN file button. The CM7 is placed at address 0x08000000 and the CM4 is placed at 0x08100000. This matches the memory map file for my ST-LINK, which is working.

I'm curious how to utilize the DFU to program for both cores. What am I missing? Can you point me to any threads or documentation dealing with this issue?

Thanks

1 ACCEPTED SOLUTION

Accepted Solutions
SofLit
ST Employee

Dear @SEast.1​ 

We recommend to use STM32CubeProgrammer a replacement of Dfuse tool.

The tool is downloadable from this link: https://www.st.com/en/development-tools/stm32cubeprog.html.

These are the steps to use this tool to use DFU bootloader on dual core (see screenshot):

0- Connect your USB FS of the board, connect BT0 to VDD and push reset.

1- From the menu select USB instead of STLink (default option)

2- Click "Connect" button.

3- Browse and select the hex file you want to download.

0693W00000Bdg9yQAB.png 

Normally you can do any handling on OB or the Flash. 

So you can download either CM7 program or CM4 program binaries with this manipulation.

Note that you can do this operation only if the cortex-M7 boot is enabled in option byte as it's the only the core that runs the bootloader:

0693W00000BdgHGQAZ.pngHope this answers your question. If it's the case, please click on "Select as Best" this answer.

STM32

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.

View solution in original post

2 REPLIES 2
SofLit
ST Employee

Dear @SEast.1​ 

We recommend to use STM32CubeProgrammer a replacement of Dfuse tool.

The tool is downloadable from this link: https://www.st.com/en/development-tools/stm32cubeprog.html.

These are the steps to use this tool to use DFU bootloader on dual core (see screenshot):

0- Connect your USB FS of the board, connect BT0 to VDD and push reset.

1- From the menu select USB instead of STLink (default option)

2- Click "Connect" button.

3- Browse and select the hex file you want to download.

0693W00000Bdg9yQAB.png 

Normally you can do any handling on OB or the Flash. 

So you can download either CM7 program or CM4 program binaries with this manipulation.

Note that you can do this operation only if the cortex-M7 boot is enabled in option byte as it's the only the core that runs the bootloader:

0693W00000BdgHGQAZ.pngHope this answers your question. If it's the case, please click on "Select as Best" this answer.

STM32

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.
SEast.1
Associate

This was exactly what I was looking for because I was using the incorrect software. I'll need to play around with the STM32CubeProgrammer more, but I was able to load my programs on to different cores in DFU.

Much appreciated!