cancel
Showing results for 
Search instead for 
Did you mean: 

STM32H745 Disco project default dual core boot up sequence?

Rodo
Senior

Hi all,

I created a dual core project for STM32H745 Disco board. I'm using the cubeIDE and I said "yes" to set all peripheral to their default values. I wonder which core (CM4 or/and CM7) is booting and which was not. The reference manual (RM0399) says that this depends on the settings of BCM4, BCM7, BOOT_C1 and BOOT_C2. But BCM4 and BCM7 show "X" as the reset value.

Looking at the actual code in each main file it looks like both cores are booting. CM4 sets a semaphore and goes to sleep waiting for CM7 to configure the system clock (SystemClock_Config()) and release the semaphore to enable CM4 to continue to run.

Is this correct? What are the reset values for BCM4 and BCM7? 

Can the system clock be configure in CM4 instead of CM7?


Thanks.

1 ACCEPTED SOLUTION

Accepted Solutions
TDK
Guru

BCM4 and BCM7 are option bytes. They are non-volatile and therefore do not have fixed values at reset. They are whatever you set them to. Use STM32CubeProgrammer to see their values and set them, if needed.

Yes, the system clock can be configured by the CM4, but I believe all of the default CubeMX projects have the CM7 performing this role. You can change it in your own code if needed.

If you feel a post has answered your question, please click "Accept as Solution".

View solution in original post

1 REPLY 1
TDK
Guru

BCM4 and BCM7 are option bytes. They are non-volatile and therefore do not have fixed values at reset. They are whatever you set them to. Use STM32CubeProgrammer to see their values and set them, if needed.

Yes, the system clock can be configured by the CM4, but I believe all of the default CubeMX projects have the CM7 performing this role. You can change it in your own code if needed.

If you feel a post has answered your question, please click "Accept as Solution".