Skip to main content
Visitor II
August 19, 2024
Solved

Reset CM7 Core from CM4 core

  • August 19, 2024
  • 2 replies
  • 1046 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.

     

    2 replies

    GökhanAuthor
    Visitor II
    August 20, 2024

    Do you  have any suggestion for this?

    mƎALLEmAnswer
    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.

     

    GökhanAuthor
    Visitor II
    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?