Static task memory allocation issue (FREERTOS 9.0.0)
There is a mistake in official example for static memory allocation for IDLE task and Timers task.
http://www.freertos.org/a00110.html#configSUPPORTSTATICALLOCATION
Found this issue when task list becomes corrupted and I start figure outing what happened with debug plugin in IDE.
The issue is in lines
static StaticTask_t xIdleTaskTCB;
static StackTypet uxIdleTaskStack[ configMINIMALSTACK_SIZE ];
and
static StaticTask_t xTimerTaskTCB;
static StackTypet uxTimerTaskStack[ configTIMERTASKSTACKDEPTH ];
the example proposes to allocate only 1/2/4 bytes of RAM to store TBC_t structure which is >100 bytes long
Example code “works” until allocated stack is enough big and stack overflow check algorithms did not turned on.
the correct code could be
staticTCB_t xIdleTaskTCB;
But, type xIdleTaskTCB is described inside tasks.c.
Static task memory allocation issue (FREERTOS 9.0.0)
Sorry, incorrectly read StaticTaskt as StackTypet .
No issue.