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();
}