Skip to main content
Associate III
August 19, 2024
Solved

Reset CM7 Core from CM4 core

  • August 19, 2024
  • 3 replies
  • 1082 views

Hello. I have a STM32H747XI project. This MCU has both CM4 and CM7 cores. I can reset both of them, when I use NVIC_SystemReset() function. How can I reset only CM7 core from CM4 core?

This topic has been closed for replies.
Best answer by mƎALLEm

Hello,

Resetting cores independently is a little bit tricky. We suggest to perform a full system reset if needed.
If we reset the CPU we need to make sure that there is no ongoing transaction with a slave that could be locked if the master is reset asynchronously to the slave.
For example, if there is an ongoing Cortex M7 access to the Flash memory and you perform a core reset, after reboot there is a risk to not have the access to the Flash due to a stall of the AXI.

 

3 replies

GökhanAuthor
Associate III
August 20, 2024

Do you  have any suggestion for this?

mƎALLEm
mƎALLEmBest answer
ST Technical Moderator
August 20, 2024

Hello,

Resetting cores independently is a little bit tricky. We suggest to perform a full system reset if needed.
If we reset the CPU we need to make sure that there is no ongoing transaction with a slave that could be locked if the master is reset asynchronously to the slave.
For example, if there is an ongoing Cortex M7 access to the Flash memory and you perform a core reset, after reboot there is a risk to not have the access to the Flash due to a stall of the AXI.

 

To give better visibility on the answered topics, please click "Best answer" on the reply which solved your issue or answered your question.
GökhanAuthor
Associate III
August 20, 2024

@mƎALLEm Thank you for your answer. If I use watchDogTimers of the cores (to reset corresponding core) instead of using CM4 to reset CM7, will there be a "locking" risk like you mentioned above?