system reset request (NVIC_systemreset) does not restart the M4 controller


I am working on M4 microcontroller. I would like to perform soft reset of the system. so I have used NVIC_SystemReset function as shown below

__STATIC_INLINE void __NVIC_SystemReset(void)
  __DSB();                                                          /* Ensure all outstanding memory accesses included
                                                                       buffered write are completed before reset */
  SCB->AIRCR  = (uint32_t)((0x5FAUL << SCB_AIRCR_VECTKEY_Pos)    |
                           (SCB->AIRCR & SCB_AIRCR_PRIGROUP_Msk) |
                            SCB_AIRCR_SYSRESETREQ_Msk    );         /* Keep priority group unchanged */
  __DSB();                                                          /* Ensure completion of memory access */

  for(;;)                                                           /* wait until reset */

When I do this, the system gets restarts only when I do power-on reset or Reset in keil debug window. Is this correct operation?

I need the processor gets restart without doing power-on reset or Resetting from keil debug window. please let me know if anyone has solution

thanks in advance

More questions in this forum