This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

CC2340R5: reset function

Part Number: CC2340R5

 NVIC_SystemReset(); is a soft reset or hard reset?

  • Hi bijendra,

    Writing 1 to the SCB:AIRCR:SYSRESETREQ bit causes the SYSRESETREQ signal to the outer system to be asserted to request a reset. The intention is to force a large system reset of all major components except for debug. The C_HALT bit in the DHCSR is cleared as a result of the system reset requested. The debugger does not lose contact with the device.  Thus it is a soft reset.

    Fullscreen
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    /**
    \brief System Reset
    \details Initiates a system reset request to reset the MCU.
    */
    __NO_RETURN __STATIC_INLINE void __NVIC_SystemReset(void)
    {
    __DSB(); /* Ensure all outstanding memory accesses included
    buffered write are completed before reset */
    SCB->AIRCR = ((0x5FAUL << SCB_AIRCR_VECTKEY_Pos) |
    SCB_AIRCR_SYSRESETREQ_Msk);
    __DSB(); /* Ensure completion of memory access */
    for(;;) /* wait until reset */
    {
    __NOP();
    }
    }
    XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

    Regards,
    Ryan