cancel
Showing results for 
Search instead for 
Did you mean: 

How does STM32CubeProgrammer know which core to program on h745?

BChan.4
Associate

I use STM32CubeIDE to generate two elf files, one for CM7 and one for CM4. Does the elf files contain the information needed for STM32CubeProgrammer to know which core to target when programming?

2 REPLIES 2
SofLit
ST Employee

Dear @BChan.4​ ,

Elf file contains the address location of your program. So in you project you did configure the program address of each core with linker file.

So CubeProgrammer will get automatically these addresses from your .elf or .hex file and will update the Flash according to these addresses.

SofLit

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.
Andreas Bolsch
Lead II

Major parts of the address space are shared by both cores (see Table 2 and Figure 1 in RM0399), so the choice where the code for M7 and M4, resp., reside in flash is rather arbitrary. There is a single flash range for both.

Of course, the linker files for both cores should be arranged in such a way that the execution ranges for both do not overlap, although in special cases it might even be possible to use a single library image by both cores.

The boot addresses do the trick: FLASH_BOOT7_CURR and FLASH_BOOT4_CURR.