Part Number: MSP432P401R
In the MSP432P4 SimpleLink SDK, the core_cm4.h implementation of NVIC_SystemReset() sets the SYSRESETREQ bit on SCB->AIRCR and afterwards has to `for(;;) __NOP();` since the request is not honored right away.
However I noticed no such logic in the MSP432 driverlib implementation of `ResetCtl_initiateHardReset()` — do the RSTCTL registers take effect right away?
For example:
void testReset(void) { ResetCtl_initiateHardReset(); // could this ever happen? or is above line guaranteed to never return? GPIO_toggleOutputOnPin(GPIO_PORT_P1, GPIO_PIN0); }
Or is it expected that I will do this in my own code?
void myReset(void) { ResetCtl_initiateHardReset(); // do I need this? while (true) __nop(); }