cancel
Showing results for 
Search instead for 
Did you mean: 

STM32H745 - How to stop or reset CM4 from CM7 core

Erwin Reuss
Associate II

I have built a bootloader at the begin of CM7 flash memory. I want to update both CM7 and CM4 flash memory. How is it possible to stop CM4 execution before updating the flash memory and reset the CM4 core after update? All must be controlled only from CM7 core.

2 REPLIES 2
berendi
Principal
  1. Clear the BOOT_CM4 option bit (see flash option bytes in the reference manual)
  2. Do a software reset, e.g. NVIC_SystemReset(). A software reset issued on either core will reset both cores.
  3. The CM7 reset handler checks the reset source and the option bit, and proceeds to update the flash
  4. Set BOOT_CM4=1
  5. Do a software reset again

Or you can permanently disable BOOT_CM4, if you can find a way to start the CM4 from CM7 code.

iTTy
Associate III

Hi there!

I resume this thread because I'm in the same condition: developing a custom bootloader for a stm32h755 I need to understand how to stop and resume the CM4 core.

I'm also learning about BCM4 and BCM7 flags in the RCC-> CR1 register.

Is not totally clear to me whats the difference between BOOT_CMx and BCMx flags.

 

Thanks!