Greetings,
I am beginning a project with STM32H7xx dual core MCPU, with both an M7 and M4 core. I generated the project with CubeMX, and opened it with ARM MDK.
Upon running the programming (it defaults to M7 core) I cannot proceed because the code is stuck at this point:
/* Wait until CPU2 boots and enters in stop mode or timeout*/ timeout = 0xFFFF; while((__HAL_RCC_GET_FLAG(RCC_FLAG_D2CKRDY) != RESET) && (timeout-- > 0)); if ( timeout < 0 ) { Error_Handler(); }
After doing a little digging I learned that in order for the CM4 core to boot I need to:
* Set BOOT_CM4 in the option bytes
* Flash code to the CM4
* Make sure the CM4 boot address is set to where I flashed it
I'm not sure how to do these things with ARM MDK (specifically making sure it's flashed)
With the latest STM32H7xx_DFP v3.0.0, the correct setup in uVision using STM32CubeMX for dual core STM32H7xx devices is described in the local documentation located in your STM32H7xx_DFP v3.0.0 pack installation folder, such as file:///C:/Keil_pack/ARM/PACK/Keil/STM32H7xx_DFP/3.0.0/MDK/CubeMX/Documentation/cubemx_using.html