2021-03-15 12:46 PM
The STM32 dev board I'm working with is the Nucleo H745ZI-Q.
This one has two cores, a M7 and a M4.
Now when I try to load code onto it, it runs fine the first time I run the debugger.
I noticed that when I reconnect the board, the second core doesn't boot up. I've to manually boot the second core to get it to work. This is unusable for me and probably isn't the way to go. The default CubeMX sketch gives me hardfault errors so that's not an option.
I tried adding this to the M7 code:
HAL_RCCEx_EnableBootCore(RCC_BOOT_C2);
But it didn't solve the issue.
I just want the M4 core to boot up after the M7 does. Nothing fancy, I just need to get it to work as simple as possible.
Could anyone help me?
Solved! Go to Solution.
2021-03-18 03:26 AM
I finally fixed it:
.cm4_code :
{
_cm4_code_start = .;
KEEP(*(.cm4_code));
_cm4_code_end = .;
} > FLASH_B2
Was missing in the FLASH file
2021-03-18 01:16 AM
Hello @Jvan .10 ,
I advise you to follow these resources which provide guidelines on how to debug STM32H7 dual-core applications:
Please mark my answer as best by clicking on the "Select as Best" button if it helped =)
Imen
2021-03-18 01:45 AM
Yes I tried this aswell, multiple times, with multiple people
2021-03-18 01:54 AM
The problem is not that I can't follow the guide.
Because when I use the debugger and start both cores manually it works fine.
When I reset the board or replug it, the M4 just won't boot automatically.
2021-03-18 03:26 AM
I finally fixed it:
.cm4_code :
{
_cm4_code_start = .;
KEEP(*(.cm4_code));
_cm4_code_end = .;
} > FLASH_B2
Was missing in the FLASH file
2021-03-18 03:50 AM
Good to see that your have solved your issue :) and thanks for your update.