Skip to main content
Associate III
May 9, 2024
Question

How to boot trigger cm7 to cm4 in keil?

I'm implement IAP in Nucleo-H745ziq.

So. when i into application then cm7 trigger(boot) to cm4.

cm4 can't boot in keil but in stm32CubeIDE can boot.

 

SET_BIT(RCC->GCR, RCC_GCR_BOOT_C2);

yolominwoo_0-1715233361339.png

 

This topic has been closed for replies.

7 replies

ST Technical Moderator
May 9, 2024

Hello @yolominwoo,

You need to include code in the CM7 project that enables the booting of the CM4 core using the HAL_RCCEx_EnableBootCore() function from the STM32H7 HAL library.
Ensure the right memory area is selected for the CM7 core, such as Flash at 0x08000000 for Boot address 0.
Build the CM7 project and load the binary onto the target device.

You need to configure the CM4 Project and ensure the memory area and startup code are appropriate for the CM4 core. Then, Build the CM4 project and load the binary onto the target device.
Load both CM7 and CM4 projects in Keil and start the debug session for each core. You should start the CM7 project first, which will then enable the booting of the CM4 core through the code you added. Then, start the CM4 project.
For more details and step-by-step guide, you can refer to the application notes and examples provided:

  • AN5286: STM32H7x5/x7 dual-core microcontroller debugging (Using MDK-ARM section)
  • AN5557: STM32H745/755 and STM32H747/757 lines dual-core architecture" (especially the section 3 Resources for dual-core application).

Hope this helped you

In order to give better visibility on the answered topics, please click on 'Best answer' on the reply which solved your issue or answered your question. Thanks
Associate III
May 9, 2024

This doesn't work either.

I'm check already flash cm7 boot addres


HAL_RCCEx_EnableBootCore(RCC_BOOT_C2);

 

STM32CubeIDE Application Projcet it work cm4

But keil Application Project can't boot cm4

ST Technical Moderator
May 9, 2024

Please provide more details (your configuration, Cube and tools version used) and list the steps you did along with the errors you encountered, in order to be able to answer.

In order to give better visibility on the answered topics, please click on 'Best answer' on the reply which solved your issue or answered your question. Thanks
ST Technical Moderator
May 9, 2024

Hi @yolominwoo ,

Can you please test this ready-to-use example within Keil: 

\Repository\STM32Cube_FW_H7_V1.11.1\Projects\STM32H747I-DISCO\Applications\ResourcesManager\ResourcesManager_SharedResources

Then, please keep me informed about your update.

In order to give better visibility on the answered topics, please click on 'Best answer' on the reply which solved your issue or answered your question. Thanks
Associate III
May 10, 2024

I'm tried again Today in STM32CubeIDE.

First. I'm made new Application Project.

CM7 in main.c I'm code just one line SET_BIT(RCC->GCR, RCC_GCR_BOOT_C2);

yolominwoo_0-1715311289743.png

 

But I can't boot cm4.

However, I'm tried Changed CM7 timer TIM4 from SYSTICK

Then CM4 can boot.

You know why that worked?

 

Now, My Keil application project can trig boot for cm4