Pigweed
 
Loading...
Searching...
No Matches
FreeRTOS_application_functions

Macros

#define TASK_STACK_SIZE_TYPE   uint32_t
 

Functions

void vApplicationStackOverflowHook (TaskHandle_t, char *pcTaskName)
 
void vApplicationGetIdleTaskMemory (StaticTask_t **ppxIdleTaskTCBBuffer, StackType_t **ppxIdleTaskStackBuffer, uint32_t *pulIdleTaskStackSize)
 
void vApplicationGetTimerTaskMemory (StaticTask_t **ppxTimerTaskTCBBuffer, StackType_t **ppxTimerTaskStackBuffer, uint32_t *pulTimerTaskStackSize)
 

Detailed Description

FreeRTOS requires the application to implement certain functions, depending on its configuration.

If static allocation (configSUPPORT_STATIC_ALLOCATION) is enabled and configKERNEL_PROVIDED_STATIC_MEMORY is disabled, FreeRTOS requires applications to implement functions that provide static memory for the idle task and timer task. See https://www.freertos.org/a00110.html for details.

Link against "//third_party/freertos:support" to include these function implementations.

Function Documentation

◆ vApplicationGetIdleTaskMemory()

void vApplicationGetIdleTaskMemory ( StaticTask_t **  ppxIdleTaskTCBBuffer,
StackType_t **  ppxIdleTaskStackBuffer,
uint32_t *  pulIdleTaskStackSize 
)

Allocates static memory for the idle task. Provides a configMINIMAL_STACK_SIZE stack.

◆ vApplicationGetTimerTaskMemory()

void vApplicationGetTimerTaskMemory ( StaticTask_t **  ppxTimerTaskTCBBuffer,
StackType_t **  ppxTimerTaskStackBuffer,
uint32_t *  pulTimerTaskStackSize 
)

Allocates static memory for the timer task. Provides a configTIMER_TASK_STACK_DEPTH stack.

◆ vApplicationStackOverflowHook()

void vApplicationStackOverflowHook ( TaskHandle_t  ,
char *  pcTaskName 
)

If configCHECK_FOR_STACK_OVERFLOW is enabled, FreeRTOS requires applications to implement vApplicationStackOverflowHook, which is called when a stack overflow is detected. This implementation invokes

embed:rst:inline :c:macro:`PW_CRASH` 

with the task name.