Well, i have a problem with FreeRTOS 5.0.0 running on a ARM9 STR912, compilation GCC Yagarto /Eclipse (GCC Port provided by Richard, thanks to him).
After a long time of running (could be 3-4-6 hours), my processor reset by itself.
I m (fairly) sure it’s not a problem of stack overflow because i’m monitoring periodically the free memory available via the “water level” (0xa5 in the stack) and i m always with at least 300 bytes free for each task running (5 in fact).
Inside my application, I m using the timer 0 to tick FreeRTOS (1KHz) and i m using also the RTC interrupt.
In my RTC interrupt event, I m NOT using following function, Is it right ?
(save /restore context is done directly in the assemblary file just before / after branch the interrupt)
Note : Nothing is defined with the keyword __naked__.
Thanks in advance.
My interrupt :
portBASE_TYPE xHigherPriorityTaskWoken = pdFALSE;
/* Not necessary to save context-> done in assemblary file*/
/* disable interrupt */
/* "Unblock" the task of analog measurement */
xSemaphoreGiveFromISR( xSemaphoreAnalogMeasurement, &xHigherPriorityTaskWoken );
/* Not necessary to restore context -> done in assemblary file*/
/* Not necessary to write in VIC, done in assemblary*/