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.0.1" 47 #define tskKERNEL_VERSION_MAJOR 10 48 #define tskKERNEL_VERSION_MINOR 0 49 #define tskKERNEL_VERSION_BUILD 1 61 typedef void * TaskHandle_t;
67 typedef BaseType_t (*TaskHookFunction_t)(
void * );
86 eSetValueWithOverwrite,
87 eSetValueWithoutOverwrite
95 BaseType_t xOverflowCount;
96 TickType_t xTimeOnEntering;
105 uint32_t ulLengthInBytes;
106 uint32_t ulParameters;
114 TaskFunction_t pvTaskCode;
115 const char *
const pcName;
116 uint16_t usStackDepth;
118 UBaseType_t uxPriority;
119 StackType_t *puxStackBuffer;
121 #if ( ( portUSING_MPU_WRAPPERS == 1 ) && ( configSUPPORT_STATIC_ALLOCATION == 1 ) ) 130 TaskHandle_t xHandle;
131 const char *pcTaskName;
132 UBaseType_t xTaskNumber;
133 eTaskState eCurrentState;
134 UBaseType_t uxCurrentPriority;
135 UBaseType_t uxBasePriority;
136 uint32_t ulRunTimeCounter;
137 StackType_t *pxStackBase;
138 uint16_t usStackHighWaterMark;
146 eNoTasksWaitingTimeout
154 #define tskIDLE_PRIORITY ( ( UBaseType_t ) 0U ) 164 #define taskYIELD() portYIELD() 178 #define taskENTER_CRITICAL() portENTER_CRITICAL() 179 #define taskENTER_CRITICAL_FROM_ISR() portSET_INTERRUPT_MASK_FROM_ISR() 193 #define taskEXIT_CRITICAL() portEXIT_CRITICAL() 194 #define taskEXIT_CRITICAL_FROM_ISR( x ) portCLEAR_INTERRUPT_MASK_FROM_ISR( x ) 203 #define taskDISABLE_INTERRUPTS() portDISABLE_INTERRUPTS() 213 #define taskENABLE_INTERRUPTS() portENABLE_INTERRUPTS() 218 #define taskSCHEDULER_SUSPENDED ( ( BaseType_t ) 0 ) 219 #define taskSCHEDULER_NOT_STARTED ( ( BaseType_t ) 1 ) 220 #define taskSCHEDULER_RUNNING ( ( BaseType_t ) 2 ) 320 #if( configSUPPORT_DYNAMIC_ALLOCATION == 1 ) 321 BaseType_t xTaskCreate( TaskFunction_t pxTaskCode,
322 const char *
const pcName,
323 const configSTACK_DEPTH_TYPE usStackDepth,
324 void *
const pvParameters,
325 UBaseType_t uxPriority,
326 TaskHandle_t *
const pxCreatedTask ) PRIVILEGED_FUNCTION;
436 #if( configSUPPORT_STATIC_ALLOCATION == 1 ) 437 TaskHandle_t xTaskCreateStatic( TaskFunction_t pxTaskCode,
438 const char *
const pcName,
439 const uint32_t ulStackDepth,
440 void *
const pvParameters,
441 UBaseType_t uxPriority,
442 StackType_t *
const puxStackBuffer,
443 StaticTask_t *
const pxTaskBuffer ) PRIVILEGED_FUNCTION;
518 #if( portUSING_MPU_WRAPPERS == 1 ) 519 BaseType_t xTaskCreateRestricted(
const TaskParameters_t *
const pxTaskDefinition, TaskHandle_t *pxCreatedTask ) PRIVILEGED_FUNCTION;
606 #if( ( portUSING_MPU_WRAPPERS == 1 ) && ( configSUPPORT_STATIC_ALLOCATION == 1 ) ) 607 BaseType_t xTaskCreateRestrictedStatic(
const TaskParameters_t *
const pxTaskDefinition, TaskHandle_t *pxCreatedTask ) PRIVILEGED_FUNCTION;
656 void vTaskAllocateMPURegions( TaskHandle_t xTask,
const MemoryRegion_t *
const pxRegions ) PRIVILEGED_FUNCTION;
697 void vTaskDelete( TaskHandle_t xTaskToDelete ) PRIVILEGED_FUNCTION;
749 void vTaskDelay(
const TickType_t xTicksToDelay ) PRIVILEGED_FUNCTION;
808 void vTaskDelayUntil( TickType_t *
const pxPreviousWakeTime,
const TickType_t xTimeIncrement ) PRIVILEGED_FUNCTION;
833 BaseType_t xTaskAbortDelay( TaskHandle_t xTask ) PRIVILEGED_FUNCTION;
880 UBaseType_t uxTaskPriorityGet( TaskHandle_t xTask ) PRIVILEGED_FUNCTION;
888 UBaseType_t uxTaskPriorityGetFromISR( TaskHandle_t xTask ) PRIVILEGED_FUNCTION;
906 eTaskState eTaskGetState( TaskHandle_t xTask ) PRIVILEGED_FUNCTION;
962 void vTaskGetInfo( TaskHandle_t xTask,
TaskStatus_t *pxTaskStatus, BaseType_t xGetFreeStackSpace, eTaskState eState ) PRIVILEGED_FUNCTION;
1004 void vTaskPrioritySet( TaskHandle_t xTask, UBaseType_t uxNewPriority ) PRIVILEGED_FUNCTION;
1055 void vTaskSuspend( TaskHandle_t xTaskToSuspend ) PRIVILEGED_FUNCTION;
1104 void vTaskResume( TaskHandle_t xTaskToResume ) PRIVILEGED_FUNCTION;
1133 BaseType_t xTaskResumeFromISR( TaskHandle_t xTaskToResume ) PRIVILEGED_FUNCTION;
1166 void vTaskStartScheduler(
void ) PRIVILEGED_FUNCTION;
1222 void vTaskEndScheduler(
void ) PRIVILEGED_FUNCTION;
1273 void vTaskSuspendAll(
void ) PRIVILEGED_FUNCTION;
1327 BaseType_t xTaskResumeAll(
void ) PRIVILEGED_FUNCTION;
1342 TickType_t xTaskGetTickCount(
void ) PRIVILEGED_FUNCTION;
1358 TickType_t xTaskGetTickCountFromISR(
void ) PRIVILEGED_FUNCTION;
1372 UBaseType_t uxTaskGetNumberOfTasks(
void ) PRIVILEGED_FUNCTION;
1385 char *pcTaskGetName( TaskHandle_t xTaskToQuery ) PRIVILEGED_FUNCTION;
1401 TaskHandle_t xTaskGetHandle(
const char *pcNameToQuery ) PRIVILEGED_FUNCTION;
1422 UBaseType_t uxTaskGetStackHighWaterMark( TaskHandle_t xTask ) PRIVILEGED_FUNCTION;
1430 #ifdef configUSE_APPLICATION_TASK_TAG 1431 #if configUSE_APPLICATION_TASK_TAG == 1 1440 void vTaskSetApplicationTaskTag( TaskHandle_t xTask, TaskHookFunction_t pxHookFunction ) PRIVILEGED_FUNCTION;
1448 TaskHookFunction_t xTaskGetApplicationTaskTag( TaskHandle_t xTask ) PRIVILEGED_FUNCTION;
1452 #if( configNUM_THREAD_LOCAL_STORAGE_POINTERS > 0 ) 1459 void vTaskSetThreadLocalStoragePointer( TaskHandle_t xTaskToSet, BaseType_t xIndex,
void *pvValue ) PRIVILEGED_FUNCTION;
1460 void *pvTaskGetThreadLocalStoragePointer( TaskHandle_t xTaskToQuery, BaseType_t xIndex ) PRIVILEGED_FUNCTION;
1475 BaseType_t xTaskCallApplicationTaskHook( TaskHandle_t xTask,
void *pvParameter ) PRIVILEGED_FUNCTION;
1484 TaskHandle_t xTaskGetIdleTaskHandle(
void ) PRIVILEGED_FUNCTION;
1583 UBaseType_t uxTaskGetSystemState(
TaskStatus_t *
const pxTaskStatusArray,
const UBaseType_t uxArraySize, uint32_t *
const pulTotalRunTime ) PRIVILEGED_FUNCTION;
1630 void vTaskList(
char * pcWriteBuffer ) PRIVILEGED_FUNCTION;
1684 void vTaskGetRunTimeStats(
char *pcWriteBuffer ) PRIVILEGED_FUNCTION;
1765 BaseType_t xTaskGenericNotify( TaskHandle_t xTaskToNotify, uint32_t ulValue, eNotifyAction eAction, uint32_t *pulPreviousNotificationValue ) PRIVILEGED_FUNCTION;
1766 #define xTaskNotify( xTaskToNotify, ulValue, eAction ) xTaskGenericNotify( ( xTaskToNotify ), ( ulValue ), ( eAction ), NULL ) 1767 #define xTaskNotifyAndQuery( xTaskToNotify, ulValue, eAction, pulPreviousNotifyValue ) xTaskGenericNotify( ( xTaskToNotify ), ( ulValue ), ( eAction ), ( pulPreviousNotifyValue ) ) 1856 BaseType_t xTaskGenericNotifyFromISR( TaskHandle_t xTaskToNotify, uint32_t ulValue, eNotifyAction eAction, uint32_t *pulPreviousNotificationValue, BaseType_t *pxHigherPriorityTaskWoken ) PRIVILEGED_FUNCTION;
1857 #define xTaskNotifyFromISR( xTaskToNotify, ulValue, eAction, pxHigherPriorityTaskWoken ) xTaskGenericNotifyFromISR( ( xTaskToNotify ), ( ulValue ), ( eAction ), NULL, ( pxHigherPriorityTaskWoken ) ) 1858 #define xTaskNotifyAndQueryFromISR( xTaskToNotify, ulValue, eAction, pulPreviousNotificationValue, pxHigherPriorityTaskWoken ) xTaskGenericNotifyFromISR( ( xTaskToNotify ), ( ulValue ), ( eAction ), ( pulPreviousNotificationValue ), ( pxHigherPriorityTaskWoken ) ) 1933 BaseType_t xTaskNotifyWait( uint32_t ulBitsToClearOnEntry, uint32_t ulBitsToClearOnExit, uint32_t *pulNotificationValue, TickType_t xTicksToWait ) PRIVILEGED_FUNCTION;
1979 #define xTaskNotifyGive( xTaskToNotify ) xTaskGenericNotify( ( xTaskToNotify ), ( 0 ), eIncrement, NULL ) 2034 void vTaskNotifyGiveFromISR( TaskHandle_t xTaskToNotify, BaseType_t *pxHigherPriorityTaskWoken ) PRIVILEGED_FUNCTION;
2103 uint32_t ulTaskNotifyTake( BaseType_t xClearCountOnExit, TickType_t xTicksToWait ) PRIVILEGED_FUNCTION;
2119 BaseType_t xTaskNotifyStateClear( TaskHandle_t xTask );
2140 BaseType_t xTaskIncrementTick(
void ) PRIVILEGED_FUNCTION;
2173 void vTaskPlaceOnEventList(
List_t *
const pxEventList,
const TickType_t xTicksToWait ) PRIVILEGED_FUNCTION;
2174 void vTaskPlaceOnUnorderedEventList(
List_t * pxEventList,
const TickType_t xItemValue,
const TickType_t xTicksToWait ) PRIVILEGED_FUNCTION;
2187 void vTaskPlaceOnEventListRestricted(
List_t *
const pxEventList, TickType_t xTicksToWait,
const BaseType_t xWaitIndefinitely ) PRIVILEGED_FUNCTION;
2213 BaseType_t xTaskRemoveFromEventList(
const List_t *
const pxEventList ) PRIVILEGED_FUNCTION;
2214 void vTaskRemoveFromUnorderedEventList(
ListItem_t * pxEventListItem,
const TickType_t xItemValue ) PRIVILEGED_FUNCTION;
2224 void vTaskSwitchContext(
void ) PRIVILEGED_FUNCTION;
2230 TickType_t uxTaskResetEventItemValue(
void ) PRIVILEGED_FUNCTION;
2235 TaskHandle_t xTaskGetCurrentTaskHandle(
void ) PRIVILEGED_FUNCTION;
2240 void vTaskSetTimeOutState(
TimeOut_t *
const pxTimeOut ) PRIVILEGED_FUNCTION;
2246 BaseType_t xTaskCheckForTimeOut(
TimeOut_t *
const pxTimeOut, TickType_t *
const pxTicksToWait ) PRIVILEGED_FUNCTION;
2252 void vTaskMissedYield(
void ) PRIVILEGED_FUNCTION;
2258 BaseType_t xTaskGetSchedulerState(
void ) PRIVILEGED_FUNCTION;
2264 BaseType_t xTaskPriorityInherit( TaskHandle_t
const pxMutexHolder ) PRIVILEGED_FUNCTION;
2270 BaseType_t xTaskPriorityDisinherit( TaskHandle_t
const pxMutexHolder ) PRIVILEGED_FUNCTION;
2280 void vTaskPriorityDisinheritAfterTimeout( TaskHandle_t
const pxMutexHolder, UBaseType_t uxHighestPriorityWaitingTask ) PRIVILEGED_FUNCTION;
2285 UBaseType_t uxTaskGetTaskNumber( TaskHandle_t xTask ) PRIVILEGED_FUNCTION;
2291 void vTaskSetTaskNumber( TaskHandle_t xTask,
const UBaseType_t uxHandle ) PRIVILEGED_FUNCTION;
2301 void vTaskStepTick(
const TickType_t xTicksToJump ) PRIVILEGED_FUNCTION;
2317 eSleepModeStatus eTaskConfirmSleepModeStatus(
void ) PRIVILEGED_FUNCTION;
2323 void *pvTaskIncrementMutexHeldCount(
void ) PRIVILEGED_FUNCTION;
2329 void vTaskInternalSetTimeOutState(
TimeOut_t *
const pxTimeOut ) PRIVILEGED_FUNCTION;
Definition: FreeRTOS.h:984