32 #ifndef INC_FREERTOS_H 33 #error "include FreeRTOS.h must appear in source files before include task.h" 46 #define tskKERNEL_VERSION_NUMBER "V10.1.1" 47 #define tskKERNEL_VERSION_MAJOR 10 48 #define tskKERNEL_VERSION_MINOR 1 49 #define tskKERNEL_VERSION_BUILD 1 68 typedef BaseType_t (*TaskHookFunction_t)(
void * );
87 eSetValueWithOverwrite,
88 eSetValueWithoutOverwrite
96 BaseType_t xOverflowCount;
97 TickType_t xTimeOnEntering;
106 uint32_t ulLengthInBytes;
107 uint32_t ulParameters;
115 TaskFunction_t pvTaskCode;
116 const char *
const pcName;
117 uint16_t usStackDepth;
119 UBaseType_t uxPriority;
120 StackType_t *puxStackBuffer;
122 #if ( ( portUSING_MPU_WRAPPERS == 1 ) && ( configSUPPORT_STATIC_ALLOCATION == 1 ) ) 131 TaskHandle_t xHandle;
132 const char *pcTaskName;
133 UBaseType_t xTaskNumber;
134 eTaskState eCurrentState;
135 UBaseType_t uxCurrentPriority;
136 UBaseType_t uxBasePriority;
137 uint32_t ulRunTimeCounter;
138 StackType_t *pxStackBase;
139 configSTACK_DEPTH_TYPE usStackHighWaterMark;
147 eNoTasksWaitingTimeout
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 ) 322 BaseType_t xTaskCreate( TaskFunction_t pxTaskCode,
323 const char *
const pcName,
324 const configSTACK_DEPTH_TYPE usStackDepth,
325 void *
const pvParameters,
326 UBaseType_t uxPriority,
327 TaskHandle_t *
const pxCreatedTask ) PRIVILEGED_FUNCTION;
437 #if( configSUPPORT_STATIC_ALLOCATION == 1 ) 438 TaskHandle_t xTaskCreateStatic( TaskFunction_t pxTaskCode,
439 const char *
const pcName,
440 const uint32_t ulStackDepth,
441 void *
const pvParameters,
442 UBaseType_t uxPriority,
443 StackType_t *
const puxStackBuffer,
444 StaticTask_t *
const pxTaskBuffer ) PRIVILEGED_FUNCTION;
519 #if( portUSING_MPU_WRAPPERS == 1 ) 520 BaseType_t xTaskCreateRestricted(
const TaskParameters_t *
const pxTaskDefinition, TaskHandle_t *pxCreatedTask ) PRIVILEGED_FUNCTION;
607 #if( ( portUSING_MPU_WRAPPERS == 1 ) && ( configSUPPORT_STATIC_ALLOCATION == 1 ) ) 608 BaseType_t xTaskCreateRestrictedStatic(
const TaskParameters_t *
const pxTaskDefinition, TaskHandle_t *pxCreatedTask ) PRIVILEGED_FUNCTION;
657 void vTaskAllocateMPURegions( TaskHandle_t xTask,
const MemoryRegion_t *
const pxRegions ) PRIVILEGED_FUNCTION;
698 void vTaskDelete( TaskHandle_t xTaskToDelete ) PRIVILEGED_FUNCTION;
750 void vTaskDelay(
const TickType_t xTicksToDelay ) PRIVILEGED_FUNCTION;
809 void vTaskDelayUntil( TickType_t *
const pxPreviousWakeTime,
const TickType_t xTimeIncrement ) PRIVILEGED_FUNCTION;
834 BaseType_t xTaskAbortDelay( TaskHandle_t xTask ) PRIVILEGED_FUNCTION;
881 UBaseType_t uxTaskPriorityGet(
const TaskHandle_t xTask ) PRIVILEGED_FUNCTION;
889 UBaseType_t uxTaskPriorityGetFromISR(
const TaskHandle_t xTask ) PRIVILEGED_FUNCTION;
907 eTaskState eTaskGetState( TaskHandle_t xTask ) PRIVILEGED_FUNCTION;
963 void vTaskGetInfo( TaskHandle_t xTask,
TaskStatus_t *pxTaskStatus, BaseType_t xGetFreeStackSpace, eTaskState eState ) PRIVILEGED_FUNCTION;
1005 void vTaskPrioritySet( TaskHandle_t xTask, UBaseType_t uxNewPriority ) PRIVILEGED_FUNCTION;
1056 void vTaskSuspend( TaskHandle_t xTaskToSuspend ) PRIVILEGED_FUNCTION;
1105 void vTaskResume( TaskHandle_t xTaskToResume ) PRIVILEGED_FUNCTION;
1134 BaseType_t xTaskResumeFromISR( TaskHandle_t xTaskToResume ) PRIVILEGED_FUNCTION;
1167 void vTaskStartScheduler(
void ) PRIVILEGED_FUNCTION;
1223 void vTaskEndScheduler(
void ) PRIVILEGED_FUNCTION;
1274 void vTaskSuspendAll(
void ) PRIVILEGED_FUNCTION;
1328 BaseType_t xTaskResumeAll(
void ) PRIVILEGED_FUNCTION;
1343 TickType_t xTaskGetTickCount(
void ) PRIVILEGED_FUNCTION;
1359 TickType_t xTaskGetTickCountFromISR(
void ) PRIVILEGED_FUNCTION;
1373 UBaseType_t uxTaskGetNumberOfTasks(
void ) PRIVILEGED_FUNCTION;
1386 char *pcTaskGetName( TaskHandle_t xTaskToQuery ) PRIVILEGED_FUNCTION;
1402 TaskHandle_t xTaskGetHandle(
const char *pcNameToQuery ) PRIVILEGED_FUNCTION;
1423 UBaseType_t uxTaskGetStackHighWaterMark( TaskHandle_t xTask ) PRIVILEGED_FUNCTION;
1431 #ifdef configUSE_APPLICATION_TASK_TAG 1432 #if configUSE_APPLICATION_TASK_TAG == 1 1441 void vTaskSetApplicationTaskTag( TaskHandle_t xTask, TaskHookFunction_t pxHookFunction ) PRIVILEGED_FUNCTION;
1449 TaskHookFunction_t xTaskGetApplicationTaskTag( TaskHandle_t xTask ) PRIVILEGED_FUNCTION;
1453 #if( configNUM_THREAD_LOCAL_STORAGE_POINTERS > 0 ) 1460 void vTaskSetThreadLocalStoragePointer( TaskHandle_t xTaskToSet, BaseType_t xIndex,
void *pvValue ) PRIVILEGED_FUNCTION;
1461 void *pvTaskGetThreadLocalStoragePointer( TaskHandle_t xTaskToQuery, BaseType_t xIndex ) PRIVILEGED_FUNCTION;
1476 BaseType_t xTaskCallApplicationTaskHook( TaskHandle_t xTask,
void *pvParameter ) PRIVILEGED_FUNCTION;
1485 TaskHandle_t xTaskGetIdleTaskHandle(
void ) PRIVILEGED_FUNCTION;
1584 UBaseType_t uxTaskGetSystemState(
TaskStatus_t *
const pxTaskStatusArray,
const UBaseType_t uxArraySize, uint32_t *
const pulTotalRunTime ) PRIVILEGED_FUNCTION;
1631 void vTaskList(
char * pcWriteBuffer ) PRIVILEGED_FUNCTION;
1685 void vTaskGetRunTimeStats(
char *pcWriteBuffer ) PRIVILEGED_FUNCTION;
1766 BaseType_t xTaskGenericNotify( TaskHandle_t xTaskToNotify, uint32_t ulValue, eNotifyAction eAction, uint32_t *pulPreviousNotificationValue ) PRIVILEGED_FUNCTION;
1767 #define xTaskNotify( xTaskToNotify, ulValue, eAction ) xTaskGenericNotify( ( xTaskToNotify ), ( ulValue ), ( eAction ), NULL ) 1768 #define xTaskNotifyAndQuery( xTaskToNotify, ulValue, eAction, pulPreviousNotifyValue ) xTaskGenericNotify( ( xTaskToNotify ), ( ulValue ), ( eAction ), ( pulPreviousNotifyValue ) ) 1857 BaseType_t xTaskGenericNotifyFromISR( TaskHandle_t xTaskToNotify, uint32_t ulValue, eNotifyAction eAction, uint32_t *pulPreviousNotificationValue, BaseType_t *pxHigherPriorityTaskWoken ) PRIVILEGED_FUNCTION;
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 ) ) 1934 BaseType_t xTaskNotifyWait( uint32_t ulBitsToClearOnEntry, uint32_t ulBitsToClearOnExit, uint32_t *pulNotificationValue, TickType_t xTicksToWait ) PRIVILEGED_FUNCTION;
1980 #define xTaskNotifyGive( xTaskToNotify ) xTaskGenericNotify( ( xTaskToNotify ), ( 0 ), eIncrement, NULL ) 2035 void vTaskNotifyGiveFromISR( TaskHandle_t xTaskToNotify, BaseType_t *pxHigherPriorityTaskWoken ) PRIVILEGED_FUNCTION;
2104 uint32_t ulTaskNotifyTake( BaseType_t xClearCountOnExit, TickType_t xTicksToWait ) PRIVILEGED_FUNCTION;
2120 BaseType_t xTaskNotifyStateClear( TaskHandle_t xTask );
2141 BaseType_t xTaskIncrementTick(
void ) PRIVILEGED_FUNCTION;
2174 void vTaskPlaceOnEventList(
List_t *
const pxEventList,
const TickType_t xTicksToWait ) PRIVILEGED_FUNCTION;
2175 void vTaskPlaceOnUnorderedEventList(
List_t * pxEventList,
const TickType_t xItemValue,
const TickType_t xTicksToWait ) PRIVILEGED_FUNCTION;
2188 void vTaskPlaceOnEventListRestricted(
List_t *
const pxEventList, TickType_t xTicksToWait,
const BaseType_t xWaitIndefinitely ) PRIVILEGED_FUNCTION;
2214 BaseType_t xTaskRemoveFromEventList(
const List_t *
const pxEventList ) PRIVILEGED_FUNCTION;
2215 void vTaskRemoveFromUnorderedEventList(
ListItem_t * pxEventListItem,
const TickType_t xItemValue ) PRIVILEGED_FUNCTION;
2225 void vTaskSwitchContext(
void ) PRIVILEGED_FUNCTION;
2231 TickType_t uxTaskResetEventItemValue(
void ) PRIVILEGED_FUNCTION;
2236 TaskHandle_t xTaskGetCurrentTaskHandle(
void ) PRIVILEGED_FUNCTION;
2241 void vTaskSetTimeOutState(
TimeOut_t *
const pxTimeOut ) PRIVILEGED_FUNCTION;
2247 BaseType_t xTaskCheckForTimeOut(
TimeOut_t *
const pxTimeOut, TickType_t *
const pxTicksToWait ) PRIVILEGED_FUNCTION;
2253 void vTaskMissedYield(
void ) PRIVILEGED_FUNCTION;
2259 BaseType_t xTaskGetSchedulerState(
void ) PRIVILEGED_FUNCTION;
2265 BaseType_t xTaskPriorityInherit( TaskHandle_t
const pxMutexHolder ) PRIVILEGED_FUNCTION;
2271 BaseType_t xTaskPriorityDisinherit( TaskHandle_t
const pxMutexHolder ) PRIVILEGED_FUNCTION;
2281 void vTaskPriorityDisinheritAfterTimeout( TaskHandle_t
const pxMutexHolder, UBaseType_t uxHighestPriorityWaitingTask ) PRIVILEGED_FUNCTION;
2286 UBaseType_t uxTaskGetTaskNumber( TaskHandle_t xTask ) PRIVILEGED_FUNCTION;
2292 void vTaskSetTaskNumber( TaskHandle_t xTask,
const UBaseType_t uxHandle ) PRIVILEGED_FUNCTION;
2302 void vTaskStepTick(
const TickType_t xTicksToJump ) PRIVILEGED_FUNCTION;
2318 eSleepModeStatus eTaskConfirmSleepModeStatus(
void ) PRIVILEGED_FUNCTION;
2324 TaskHandle_t pvTaskIncrementMutexHeldCount(
void ) PRIVILEGED_FUNCTION;
2330 void vTaskInternalSetTimeOutState(
TimeOut_t *
const pxTimeOut ) PRIVILEGED_FUNCTION;
Definition: FreeRTOS.h:999