I am running a modified version of the simple serial socket server example application, ported to the SDK version 3_20_00_21. The software runs correctly sending data to a PC application for a couple hours, but the application hangs after some period of time.
After loading the ROM symbols, the debugger indicates the program is spinning at the null check in Hwi_excHandler.
Void Hwi_excHandler(UInt *excStack, UInt lr)
{
Hwi_module->excActive[0] = TRUE;
/* spin here if no exception handler is plugged */
while (Hwi_excHandlerFunc == NULL) {
;
}
Hwi_excHandlerFunc(excStack, lr);
}
The callstack indicates the Queue_remove function was interrupted by the hwi.
The stack fill patterns indicate that none of the stacks are close to overflowing, including CSTACK, gapRole task , SSSS Task, and ICall task stacks. Additonally, checks were added to ICall_Malloc and ICall_Free to verify memory being freed or allocated was within the heap.
Is there anything in the OS configuration or operation that could cause this behavior? Can you provide any guidance on where to look for the cause of this issue?