Freertos Stack Overflow Hook [Closed]
According to Freertos Documentation Regarding Stack Overflow: the Application Must Provide a Stack Overflow Hook Function If configCHECK_FOR_STACK_OVERFLOW Is...
According to FreeRTOS documentation regarding stack overflow:
The application must provide a stack overflow hook function if configCHECK_FOR_STACK_OVERFLOW is not set to 0. The hook function must be called vApplicationStackOverflowHook(), and have the prototype below:
void vApplicationStackOverflowHook( TaskHandle_t xTask,signed char *pcTaskName );
And in FreeRTOS the following prototype is defined inside tasks.h file:
/* Callback function prototypes. --------------------------*/
extern void vApplicationStackOverflowHook( xTaskHandle pxTask, signed char *pcTaskName );
So, I set configCHECK_FOR_STACK_OVERFLOW to 2 and implement the function
in my application code:
void vApplicationStackOverflowHook( xTaskHandle pxTask, signed char *pcTaskName )
{
while (1)
{
/* my code. Prints stuff directly to the console*/
}
}
My question is whether or not this implementation is correct? i.e, the hook implementation is in my application code, and the declaration in tasks.h remains untouched.
Looks right to me. You will find many, many, many examples in the FreeRTOS/Demo directory of the FreeRTOS download. The rationale for using 2 rather than 1 is here: