Go to the documentation of this file.
33 #ifndef INC_FREERTOS_H
34 #error "include FreeRTOS.h must appear in source files before include task.h"
47 #define tskKERNEL_VERSION_NUMBER "V9.0.0"
48 #define tskKERNEL_VERSION_MAJOR 9
49 #define tskKERNEL_VERSION_MINOR 0
50 #define tskKERNEL_VERSION_BUILD 0
122 #if ( ( portUSING_MPU_WRAPPERS == 1 ) && ( configSUPPORT_STATIC_ALLOCATION == 1 ) )
155 #define tskIDLE_PRIORITY ( ( UBaseType_t ) 0U )
165 #define taskYIELD() portYIELD()
179 #define taskENTER_CRITICAL() portENTER_CRITICAL()
180 #define taskENTER_CRITICAL_FROM_ISR() portSET_INTERRUPT_MASK_FROM_ISR()
194 #define taskEXIT_CRITICAL() portEXIT_CRITICAL()
195 #define taskEXIT_CRITICAL_FROM_ISR( x ) portCLEAR_INTERRUPT_MASK_FROM_ISR( x )
204 #define taskDISABLE_INTERRUPTS() portDISABLE_INTERRUPTS()
214 #define taskENABLE_INTERRUPTS() portENABLE_INTERRUPTS()
219 #define taskSCHEDULER_SUSPENDED ( ( BaseType_t ) 0 )
220 #define taskSCHEDULER_NOT_STARTED ( ( BaseType_t ) 1 )
221 #define taskSCHEDULER_RUNNING ( ( BaseType_t ) 2 )
321 #if( configSUPPORT_DYNAMIC_ALLOCATION == 1 )
323 const char *
const pcName,
325 void *
const pvParameters,
437 #if( configSUPPORT_STATIC_ALLOCATION == 1 )
439 const char *
const pcName,
440 const uint32_t ulStackDepth,
441 void *
const pvParameters,
519 #if( portUSING_MPU_WRAPPERS == 1 )
607 #if( ( portUSING_MPU_WRAPPERS == 1 ) && ( configSUPPORT_STATIC_ALLOCATION == 1 ) )
1431 #ifdef configUSE_APPLICATION_TASK_TAG
1432 #if configUSE_APPLICATION_TASK_TAG == 1
1453 #if( configNUM_THREAD_LOCAL_STORAGE_POINTERS > 0 )
1767 #define xTaskNotify( xTaskToNotify, ulValue, eAction ) xTaskGenericNotify( ( xTaskToNotify ), ( ulValue ), ( eAction ), NULL )
1768 #define xTaskNotifyAndQuery( xTaskToNotify, ulValue, eAction, pulPreviousNotifyValue ) xTaskGenericNotify( ( xTaskToNotify ), ( ulValue ), ( eAction ), ( pulPreviousNotifyValue ) )
1858 #define xTaskNotifyFromISR( xTaskToNotify, ulValue, eAction, pxHigherPriorityTaskWoken ) xTaskGenericNotifyFromISR( ( xTaskToNotify ), ( ulValue ), ( eAction ), NULL, ( pxHigherPriorityTaskWoken ) )
1859 #define xTaskNotifyAndQueryFromISR( xTaskToNotify, ulValue, eAction, pulPreviousNotificationValue, pxHigherPriorityTaskWoken ) xTaskGenericNotifyFromISR( ( xTaskToNotify ), ( ulValue ), ( eAction ), ( pulPreviousNotificationValue ), ( pxHigherPriorityTaskWoken ) )
1980 #define xTaskNotifyGive( xTaskToNotify ) xTaskGenericNotify( ( xTaskToNotify ), ( 0 ), eIncrement, NULL )
@ eIncrement
Definition: task.h:86
#define configSTACK_DEPTH_TYPE
Definition: FreeRTOS.h:827
UBaseType_t uxTaskGetNumberOfTasks(void) PRIVILEGED_FUNCTION
Definition: tasks.c:2260
TickType_t uxTaskResetEventItemValue(void) PRIVILEGED_FUNCTION
Definition: tasks.c:4382
BaseType_t xTaskCallApplicationTaskHook(TaskHandle_t xTask, void *pvParameter) PRIVILEGED_FUNCTION
UBaseType_t uxTaskGetSystemState(TaskStatus_t *const pxTaskStatusArray, const UBaseType_t uxArraySize, uint32_t *const pulTotalRunTime) PRIVILEGED_FUNCTION
#define portNUM_CONFIGURABLE_REGIONS
Definition: portable.h:85
BaseType_t(* TaskHookFunction_t)(void *)
Definition: task.h:68
UBaseType_t uxCurrentPriority
Definition: task.h:135
void vTaskAllocateMPURegions(TaskHandle_t xTask, const MemoryRegion_t *const pxRegions) PRIVILEGED_FUNCTION
eNotifyAction
Definition: task.h:83
void * pvParameters
Definition: task.h:118
#define pxMutexHolder
Definition: queue.c:67
void * pvBaseAddress
Definition: task.h:105
BaseType_t xTaskRemoveFromEventList(const List_t *const pxEventList) PRIVILEGED_FUNCTION
Definition: tasks.c:2983
void vTaskPlaceOnEventList(List_t *const pxEventList, const TickType_t xTicksToWait) PRIVILEGED_FUNCTION
Definition: tasks.c:2909
char * pcTaskGetName(TaskHandle_t xTaskToQuery) PRIVILEGED_FUNCTION
Definition: tasks.c:2268
void vTaskStepTick(const TickType_t xTicksToJump) PRIVILEGED_FUNCTION
MemoryRegion_t xRegions[portNUM_CONFIGURABLE_REGIONS]
Definition: task.h:121
UBaseType_t uxTaskPriorityGet(TaskHandle_t xTask) PRIVILEGED_FUNCTION
Definition: tasks.c:1403
void vTaskSetTimeOutState(TimeOut_t *const pxTimeOut) PRIVILEGED_FUNCTION
Definition: tasks.c:3085
eTaskState
Definition: task.h:72
uint16_t usStackDepth
Definition: task.h:117
void vTaskSuspend(TaskHandle_t xTaskToSuspend) PRIVILEGED_FUNCTION
Definition: tasks.c:1629
BaseType_t xTaskAbortDelay(TaskHandle_t xTask) PRIVILEGED_FUNCTION
TaskHandle_t xHandle
Definition: task.h:131
void vTaskInternalSetTimeOutState(TimeOut_t *const pxTimeOut) PRIVILEGED_FUNCTION
Definition: tasks.c:3097
@ eNoAction
Definition: task.h:84
UBaseType_t xTaskNumber
Definition: task.h:133
struct xTASK_PARAMETERS TaskParameters_t
void vTaskStartScheduler(void) PRIVILEGED_FUNCTION
Definition: tasks.c:1900
BaseType_t xTaskCheckForTimeOut(TimeOut_t *const pxTimeOut, TickType_t *const pxTicksToWait) PRIVILEGED_FUNCTION
Definition: tasks.c:3105
BaseType_t xTaskNotifyWait(uint32_t ulBitsToClearOnEntry, uint32_t ulBitsToClearOnExit, uint32_t *pulNotificationValue, TickType_t xTicksToWait) PRIVILEGED_FUNCTION
Definition: tasks.c:4483
TaskHandle_t xTaskGetIdleTaskHandle(void) PRIVILEGED_FUNCTION
void vTaskDelayUntil(TickType_t *const pxPreviousWakeTime, const TickType_t xTimeIncrement) PRIVILEGED_FUNCTION
Definition: tasks.c:1203
BaseType_t xTaskGenericNotify(TaskHandle_t xTaskToNotify, uint32_t ulValue, eNotifyAction eAction, uint32_t *pulPreviousNotificationValue) PRIVILEGED_FUNCTION
Definition: tasks.c:4563
@ eInvalid
Definition: task.h:78
TaskFunction_t pvTaskCode
Definition: task.h:115
void vTaskSuspendAll(void) PRIVILEGED_FUNCTION
Definition: tasks.c:2031
@ eSetBits
Definition: task.h:85
void vTaskRemoveFromUnorderedEventList(ListItem_t *pxEventListItem, const TickType_t xItemValue) PRIVILEGED_FUNCTION
Definition: tasks.c:3051
@ eRunning
Definition: task.h:73
eTaskState eTaskGetState(TaskHandle_t xTask) PRIVILEGED_FUNCTION
Definition: tasks.c:1332
#define PRIVILEGED_FUNCTION
Definition: mpu_wrappers.h:174
@ eDeleted
Definition: task.h:77
uint32_t TickType_t
Definition: portmacro.h:64
UBaseType_t uxTaskGetStackHighWaterMark(TaskHandle_t xTask) PRIVILEGED_FUNCTION
void vTaskPrioritySet(TaskHandle_t xTask, UBaseType_t uxNewPriority) PRIVILEGED_FUNCTION
Definition: tasks.c:1465
void * pvTaskIncrementMutexHeldCount(void) PRIVILEGED_FUNCTION
@ eSetValueWithOverwrite
Definition: task.h:87
@ eStandardSleep
Definition: task.h:146
void * TaskHandle_t
Definition: task.h:62
@ eReady
Definition: task.h:74
void vTaskPlaceOnUnorderedEventList(List_t *pxEventList, const TickType_t xItemValue, const TickType_t xTicksToWait) PRIVILEGED_FUNCTION
Definition: tasks.c:2926
StackType_t * puxStackBuffer
Definition: task.h:120
unsigned long UBaseType_t
Definition: portmacro.h:58
void vTaskGetInfo(TaskHandle_t xTask, TaskStatus_t *pxTaskStatus, BaseType_t xGetFreeStackSpace, eTaskState eState) PRIVILEGED_FUNCTION
@ eAbortSleep
Definition: task.h:145
eTaskState eCurrentState
Definition: task.h:134
eSleepModeStatus
Definition: task.h:144
uint32_t ulParameters
Definition: task.h:107
void vTaskDelay(const TickType_t xTicksToDelay) PRIVILEGED_FUNCTION
Definition: tasks.c:1287
void vTaskList(char *pcWriteBuffer) PRIVILEGED_FUNCTION
UBaseType_t uxPriority
Definition: task.h:119
@ eNoTasksWaitingTimeout
Definition: task.h:147
StackType_t * pxStackBase
Definition: task.h:138
portSTACK_TYPE StackType_t
Definition: portmacro.h:56
const char * pcTaskName
Definition: task.h:132
uint16_t usStackHighWaterMark
Definition: task.h:139
eSleepModeStatus eTaskConfirmSleepModeStatus(void) PRIVILEGED_FUNCTION
void vTaskPriorityDisinheritAfterTimeout(TaskHandle_t const pxMutexHolder, UBaseType_t uxHighestPriorityWaitingTask) PRIVILEGED_FUNCTION
Definition: FreeRTOS.h:986
void vTaskEndScheduler(void) PRIVILEGED_FUNCTION
Definition: tasks.c:2020
void(* TaskFunction_t)(void *)
Definition: projdefs.h:36
BaseType_t xTaskResumeFromISR(TaskHandle_t xTaskToResume) PRIVILEGED_FUNCTION
uint32_t ulRunTimeCounter
Definition: task.h:137
void vTaskGetRunTimeStats(char *pcWriteBuffer) PRIVILEGED_FUNCTION
struct xTIME_OUT TimeOut_t
uint32_t ulLengthInBytes
Definition: task.h:106
TickType_t xTaskGetTickCountFromISR(void) PRIVILEGED_FUNCTION
Definition: tasks.c:2229
BaseType_t xTaskGenericNotifyFromISR(TaskHandle_t xTaskToNotify, uint32_t ulValue, eNotifyAction eAction, uint32_t *pulPreviousNotificationValue, BaseType_t *pxHigherPriorityTaskWoken) PRIVILEGED_FUNCTION
Definition: tasks.c:4669
struct xTASK_STATUS TaskStatus_t
@ eSuspended
Definition: task.h:76
BaseType_t xOverflowCount
Definition: task.h:96
long BaseType_t
Definition: portmacro.h:57
TickType_t xTaskGetTickCount(void) PRIVILEGED_FUNCTION
Definition: tasks.c:2214
void vTaskSetTaskNumber(TaskHandle_t xTask, const UBaseType_t uxHandle) PRIVILEGED_FUNCTION
UBaseType_t uxTaskGetTaskNumber(TaskHandle_t xTask) PRIVILEGED_FUNCTION
void vTaskMissedYield(void) PRIVILEGED_FUNCTION
Definition: tasks.c:3168
TaskHandle_t xTaskGetCurrentTaskHandle(void) PRIVILEGED_FUNCTION
Definition: tasks.c:3755
void vTaskDelete(TaskHandle_t xTaskToDelete) PRIVILEGED_FUNCTION
Definition: tasks.c:1111
BaseType_t xTaskPriorityInherit(TaskHandle_t const pxMutexHolder) PRIVILEGED_FUNCTION
BaseType_t xTaskIncrementTick(void) PRIVILEGED_FUNCTION
Definition: tasks.c:2588
BaseType_t xTaskResumeAll(void) PRIVILEGED_FUNCTION
Definition: tasks.c:2104
void vTaskSwitchContext(void) PRIVILEGED_FUNCTION
Definition: tasks.c:2850
TaskHandle_t xTaskGetHandle(const char *pcNameToQuery) PRIVILEGED_FUNCTION
BaseType_t xTaskGetSchedulerState(void) PRIVILEGED_FUNCTION
UBaseType_t uxTaskPriorityGetFromISR(TaskHandle_t xTask) PRIVILEGED_FUNCTION
Definition: tasks.c:1425
struct xMEMORY_REGION MemoryRegion_t
BaseType_t xTaskPriorityDisinherit(TaskHandle_t const pxMutexHolder) PRIVILEGED_FUNCTION
TickType_t xTimeOnEntering
Definition: task.h:97
uint32_t ulTaskNotifyTake(BaseType_t xClearCountOnExit, TickType_t xTicksToWait) PRIVILEGED_FUNCTION
Definition: tasks.c:4415
UBaseType_t uxBasePriority
Definition: task.h:136
const char *const pcName
Definition: task.h:116
void vTaskNotifyGiveFromISR(TaskHandle_t xTaskToNotify, BaseType_t *pxHigherPriorityTaskWoken) PRIVILEGED_FUNCTION
Definition: tasks.c:4793
void vTaskResume(TaskHandle_t xTaskToResume) PRIVILEGED_FUNCTION
Definition: tasks.c:1776
@ eSetValueWithoutOverwrite
Definition: task.h:88
BaseType_t xTaskNotifyStateClear(TaskHandle_t xTask)
Definition: tasks.c:4882
void vTaskPlaceOnEventListRestricted(List_t *const pxEventList, TickType_t xTicksToWait, const BaseType_t xWaitIndefinitely) PRIVILEGED_FUNCTION
@ eBlocked
Definition: task.h:75