After the crash, I stepped through and found that the code kept switching between SysCtrlAonUpdate and Power_idleFunc.
//*****************************************************************************
__STATIC_INLINE void
SysCtrlAonUpdate(void)
{
// Force a clock cycle on the AON interface to guarantee all registers are
// in sync.
HWREG(AON_RTC_BASE + AON_RTC_O_SYNC) = 1;
HWREG(AON_RTC_BASE + AON_RTC_O_SYNC);
}
/*
* ======== Power_idleFunc ========
* Function needs to be plugged into the idle loop.
* It calls the configured policy function if the
* 'enablePolicy' flag is set.
*/
void Power_idleFunc()
{
if (PowerCC26XX_module.enablePolicy) {
if (PowerCC26XX_module.policyFxn != NULL) {
(*(PowerCC26XX_module.policyFxn))();
}
}
}