#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include "include/FreeRTOS.h"
#include "include/task.h"
#include "include/timers.h"
#include "include/StackMacros.h"
Data Structures | |
struct | tskTaskControlBlock |
Macros | |
#define | MPU_WRAPPERS_INCLUDED_FROM_API_FILE |
#define | portRESET_READY_PRIORITY(uxPriority, uxTopReadyPriority) |
#define | prvAddTaskToReadyQueue(pxTCB) |
#define | prvCheckDelayedTasks() |
#define | prvGetTCBFromHandle(pxHandle) ( ( ( pxHandle ) == NULL ) ? ( tskTCB * ) pxCurrentTCB : ( tskTCB * ) ( pxHandle ) ) |
#define | taskRECORD_READY_PRIORITY(uxPriority) |
#define | taskRESET_READY_PRIORITY(uxPriority) |
#define | taskSELECT_HIGHEST_PRIORITY_TASK() |
#define | tskBLOCKED_CHAR ( ( signed char ) 'B' ) |
#define | tskDELETED_CHAR ( ( signed char ) 'D' ) |
#define | tskIDLE_STACK_SIZE configMINIMAL_STACK_SIZE |
#define | tskREADY_CHAR ( ( signed char ) 'R' ) |
#define | tskSTACK_FILL_BYTE ( 0xa5U ) |
#define | tskSUSPENDED_CHAR ( ( signed char ) 'S' ) |
Typedefs | |
typedef struct tskTaskControlBlock | tskTCB |
Functions | |
eTaskState | eTaskStateGet (xTaskHandle pxTask) |
task. More... | |
static | portTASK_FUNCTION (prvIdleTask, pvParameters) |
static void | prvAddCurrentTaskToDelayedList (portTickType xTimeToWake) |
static tskTCB * | prvAllocateTCBAndStack (unsigned short usStackDepth, portSTACK_TYPE *puxStackBuffer) |
static void | prvCheckTasksWaitingTermination (void) |
static void | prvDeleteTCB (tskTCB *pxTCB) |
static void | prvInitialiseTaskLists (static void prvCheckTasksWaitingTermination void) |
static void | prvInitialiseTaskLists (void) |
static void | prvInitialiseTCBVariables (tskTCB *pxTCB, const signed char *const pcName, unsigned portBASE_TYPE uxPriority, const xMemoryRegion *const xRegions, unsigned short usStackDepth) PRIVILEGED_FUNCTION |
static unsigned short | usTaskCheckFreeStackSpace (const unsigned char *pucStackByte) |
unsigned portBASE_TYPE | uxTaskGetNumberOfTasks (void) |
unsigned portBASE_TYPE | uxTaskGetStackHighWaterMark (xTaskHandle xTask) |
task.h More... | |
unsigned portBASE_TYPE | uxTaskPriorityGet (xTaskHandle pxTask) |
void | vApplicationStackOverflowHook (xTaskHandle pxTask, signed char *pcTaskName) |
void | vApplicationTickHook (void) |
void | vTaskDelay (portTickType xTicksToDelay) |
void | vTaskDelayUntil (portTickType *const pxPreviousWakeTime, portTickType xTimeIncrement) |
void | vTaskDelete (xTaskHandle pxTaskToDelete) |
void | vTaskEndScheduler (void) |
void | vTaskIncrementTick (void) |
void | vTaskMissedYield (void) |
void | vTaskPlaceOnEventList (const xList *const pxEventList, portTickType xTicksToWait) |
void | vTaskPlaceOnEventListRestricted (const xList *const pxEventList, portTickType xTicksToWait) |
void | vTaskPrioritySet (xTaskHandle pxTask, unsigned portBASE_TYPE uxNewPriority) |
void | vTaskResume (xTaskHandle pxTaskToResume) |
void | vTaskSetApplicationTaskTag (xTaskHandle xTask, pdTASK_HOOK_CODE pxHookFunction) |
void | vTaskSetTimeOutState (xTimeOutType *const pxTimeOut) |
void | vTaskStartScheduler (void) |
void | vTaskSuspend (xTaskHandle pxTaskToSuspend) |
void | vTaskSuspendAll (void) |
void | vTaskSwitchContext (void) |
portBASE_TYPE | xTaskCallApplicationTaskHook (xTaskHandle xTask, void *pvParameter) |
task.h More... | |
portBASE_TYPE | xTaskCheckForTimeOut (xTimeOutType *const pxTimeOut, portTickType *const pxTicksToWait) |
pdTASK_HOOK_CODE | xTaskGetApplicationTaskTag (xTaskHandle xTask) |
portBASE_TYPE | xTaskGetSchedulerState (void) |
portTickType | xTaskGetTickCount (void) |
portTickType | xTaskGetTickCountFromISR (void) |
signed portBASE_TYPE | xTaskIsTaskSuspended (xTaskHandle xTask) |
task. More... | |
signed portBASE_TYPE | xTaskRemoveFromEventList (const xList *const pxEventList) |
signed portBASE_TYPE | xTaskResumeAll (void) |
portBASE_TYPE | xTaskResumeFromISR (xTaskHandle pxTaskToResume) |
Variables | |
PRIVILEGED_DATA tskTCB *volatile | pxCurrentTCB = NULL |
static PRIVILEGED_DATA xList *volatile | pxDelayedTaskList |
static PRIVILEGED_DATA xList *volatile | pxOverflowDelayedTaskList |
static PRIVILEGED_DATA xList | pxReadyTasksLists [configMAX_PRIORITIES] |
static PRIVILEGED_DATA volatile unsigned portBASE_TYPE | uxCurrentNumberOfTasks = ( unsigned portBASE_TYPE ) 0U |
static PRIVILEGED_DATA volatile unsigned portBASE_TYPE | uxMissedTicks = ( unsigned portBASE_TYPE ) 0U |
static PRIVILEGED_DATA volatile unsigned portBASE_TYPE | uxSchedulerSuspended = ( unsigned portBASE_TYPE ) pdFALSE |
static PRIVILEGED_DATA unsigned portBASE_TYPE | uxTaskNumber = ( unsigned portBASE_TYPE ) 0U |
static PRIVILEGED_DATA volatile unsigned portBASE_TYPE | uxTasksDeleted = ( unsigned portBASE_TYPE ) 0U |
static PRIVILEGED_DATA volatile unsigned portBASE_TYPE | uxTopReadyPriority = tskIDLE_PRIORITY |
static PRIVILEGED_DATA unsigned portBASE_TYPE | uxTopUsedPriority = tskIDLE_PRIORITY |
static PRIVILEGED_DATA xList | xDelayedTaskList1 |
static PRIVILEGED_DATA xList | xDelayedTaskList2 |
static PRIVILEGED_DATA volatile portBASE_TYPE | xMissedYield = ( portBASE_TYPE ) pdFALSE |
static PRIVILEGED_DATA volatile portTickType | xNextTaskUnblockTime = ( portTickType ) portMAX_DELAY |
static PRIVILEGED_DATA volatile portBASE_TYPE | xNumOfOverflows = ( portBASE_TYPE ) 0 |
static PRIVILEGED_DATA xList | xPendingReadyList |
static PRIVILEGED_DATA volatile signed portBASE_TYPE | xSchedulerRunning = pdFALSE |
static PRIVILEGED_DATA xList | xSuspendedTaskList |
static PRIVILEGED_DATA xList | xTasksWaitingTermination |
static PRIVILEGED_DATA volatile portTickType | xTickCount = ( portTickType ) 0U |
#define MPU_WRAPPERS_INCLUDED_FROM_API_FILE |
#define portRESET_READY_PRIORITY | ( | uxPriority, | |
uxTopReadyPriority | |||
) |
Referenced by vTaskDelay(), vTaskDelayUntil(), vTaskPlaceOnEventList(), and vTaskPlaceOnEventListRestricted().
#define prvAddTaskToReadyQueue | ( | pxTCB | ) |
Referenced by prvInitialiseTaskLists(), vTaskPrioritySet(), vTaskResume(), xTaskRemoveFromEventList(), xTaskResumeAll(), and xTaskResumeFromISR().
#define prvCheckDelayedTasks | ( | ) |
Referenced by vTaskIncrementTick().
#define prvGetTCBFromHandle | ( | pxHandle | ) | ( ( ( pxHandle ) == NULL ) ? ( tskTCB * ) pxCurrentTCB : ( tskTCB * ) ( pxHandle ) ) |
Referenced by uxTaskGetStackHighWaterMark(), uxTaskPriorityGet(), vTaskDelete(), vTaskPrioritySet(), and vTaskSuspend().
#define taskRECORD_READY_PRIORITY | ( | uxPriority | ) |
#define taskRESET_READY_PRIORITY | ( | uxPriority | ) |
Referenced by vTaskDelete(), vTaskPrioritySet(), and vTaskSuspend().
#define taskSELECT_HIGHEST_PRIORITY_TASK | ( | ) |
Referenced by vTaskSwitchContext().
#define tskBLOCKED_CHAR ( ( signed char ) 'B' ) |
#define tskDELETED_CHAR ( ( signed char ) 'D' ) |
#define tskIDLE_STACK_SIZE configMINIMAL_STACK_SIZE |
Referenced by vTaskStartScheduler().
#define tskREADY_CHAR ( ( signed char ) 'R' ) |
#define tskSTACK_FILL_BYTE ( 0xa5U ) |
Referenced by prvAllocateTCBAndStack(), and usTaskCheckFreeStackSpace().
#define tskSUSPENDED_CHAR ( ( signed char ) 'S' ) |
typedef struct tskTaskControlBlock tskTCB |
eTaskState eTaskStateGet | ( | xTaskHandle | pxTask | ) |
task.
h
eTaskState eTaskStateGet( xTaskHandle pxTask );
INCLUDE_eTaskStateGet must be defined as 1 for this function to be available. See the configuration section for more information.
Obtain the state of any task. States are encoded by the eTaskState enumerated type.
pxTask | Handle of the task to be queried. |
References eBlocked, eDeleted, eReady, eRunning, eSuspended, listLIST_ITEM_CONTAINER, pxCurrentTCB, pxDelayedTaskList, pxOverflowDelayedTaskList, taskENTER_CRITICAL, taskEXIT_CRITICAL, tskTaskControlBlock::xGenericListItem, xSuspendedTaskList, and xTasksWaitingTermination.
|
static |
|
static |
|
static |
References pvPortMalloc(), pvPortMallocAligned, tskTaskControlBlock::pxStack, tskSTACK_FILL_BYTE, and vPortFree().
Referenced by prvInitialiseTaskLists().
|
static |
References listGET_OWNER_OF_HEAD_ENTRY, listLIST_IS_EMPTY, pdFALSE, prvDeleteTCB(), taskENTER_CRITICAL, taskEXIT_CRITICAL, uxCurrentNumberOfTasks, uxListRemove(), uxTasksDeleted, vTaskSuspendAll(), tskTaskControlBlock::xGenericListItem, xTaskResumeAll(), and xTasksWaitingTermination.
Referenced by portTASK_FUNCTION().
|
static |
References portCLEAN_UP_TCB, tskTaskControlBlock::pxStack, vPortFree(), and vPortFreeAligned.
Referenced by prvCheckTasksWaitingTermination().
|
static |
References configASSERT, configMAX_PRIORITIES, errCOULD_NOT_ALLOCATE_REQUIRED_MEMORY, pdFALSE, pdPASS, pdTRUE, portALIGNMENT_ASSERT_pxCurrentTCB, portPOINTER_SIZE_TYPE, portPRIVILEGE_BIT, portSETUP_TCB, portYIELD_WITHIN_API, prvAddTaskToReadyQueue, prvAllocateTCBAndStack(), prvInitialiseTCBVariables(), pxCurrentTCB, pxPortInitialiseStack(), tskTaskControlBlock::pxStack, tskTaskControlBlock::pxTopOfStack, taskENTER_CRITICAL, taskEXIT_CRITICAL, traceTASK_CREATE, traceTASK_CREATE_FAILED, uxCurrentNumberOfTasks, tskTaskControlBlock::uxPriority, uxTaskNumber, uxTopUsedPriority, and xSchedulerRunning.
|
static |
|
static |
References configMAX_PRIORITIES, configMAX_TASK_NAME_LEN, listSET_LIST_ITEM_OWNER, listSET_LIST_ITEM_VALUE, tskTaskControlBlock::pcTaskName, tskTaskControlBlock::pxStack, tskTaskControlBlock::pxTaskTag, tskTaskControlBlock::uxPriority, vListInitialiseItem(), tskTaskControlBlock::xEventListItem, and tskTaskControlBlock::xGenericListItem.
Referenced by prvInitialiseTaskLists().
|
static |
References tskSTACK_FILL_BYTE.
Referenced by uxTaskGetStackHighWaterMark().
unsigned portBASE_TYPE uxTaskGetNumberOfTasks | ( | void | ) |
References uxCurrentNumberOfTasks.
unsigned portBASE_TYPE uxTaskGetStackHighWaterMark | ( | xTaskHandle | xTask | ) |
unsigned portBASE_TYPE uxTaskGetStackHighWaterMark( xTaskHandle xTask );
INCLUDE_uxTaskGetStackHighWaterMark must be set to 1 in FreeRTOSConfig.h for this function to be available.
Returns the high water mark of the stack associated with xTask. That is, the minimum free stack space there has been (in words, so on a 32 bit machine a value of 1 means 4 bytes) since the task started. The smaller the returned number the closer the task has come to overflowing its stack.
xTask | Handle of the task associated with the stack to be checked. Set xTask to NULL to check the stack of the calling task. |
References prvGetTCBFromHandle, tskTaskControlBlock::pxStack, and usTaskCheckFreeStackSpace().
unsigned portBASE_TYPE uxTaskPriorityGet | ( | xTaskHandle | pxTask | ) |
References prvGetTCBFromHandle, taskENTER_CRITICAL, taskEXIT_CRITICAL, and tskTaskControlBlock::uxPriority.
void vApplicationStackOverflowHook | ( | xTaskHandle | pxTask, |
signed char * | pcTaskName | ||
) |
References taskDISABLE_INTERRUPTS.
void vApplicationTickHook | ( | void | ) |
Referenced by vTaskIncrementTick().
void vTaskDelay | ( | portTickType | xTicksToDelay | ) |
void vTaskDelayUntil | ( | portTickType *const | pxPreviousWakeTime, |
portTickType | xTimeIncrement | ||
) |
References configASSERT, pdFALSE, pdTRUE, portRESET_READY_PRIORITY, portYIELD_WITHIN_API, prvAddCurrentTaskToDelayedList(), pxCurrentTCB, traceTASK_DELAY_UNTIL, uxListRemove(), tskTaskControlBlock::uxPriority, uxTopReadyPriority, vTaskSuspendAll(), tskTaskControlBlock::xGenericListItem, xTaskResumeAll(), and xTickCount.
Referenced by prvAppPhyTask(), prvGetRxTask(), and prvGetTxResultTask().
void vTaskDelete | ( | xTaskHandle | pxTaskToDelete | ) |
References pdFALSE, portYIELD_WITHIN_API, prvGetTCBFromHandle, xLIST_ITEM::pvContainer, pxCurrentTCB, taskENTER_CRITICAL, taskEXIT_CRITICAL, taskRESET_READY_PRIORITY, traceTASK_DELETE, uxListRemove(), tskTaskControlBlock::uxPriority, uxTaskNumber, uxTasksDeleted, vListInsertEnd(), tskTaskControlBlock::xEventListItem, tskTaskControlBlock::xGenericListItem, xSchedulerRunning, and xTasksWaitingTermination.
void vTaskEndScheduler | ( | void | ) |
References pdFALSE, vPortEndScheduler(), and xSchedulerRunning.
void vTaskIncrementTick | ( | void | ) |
References configASSERT, listGET_LIST_ITEM_VALUE, listGET_OWNER_OF_HEAD_ENTRY, listLIST_IS_EMPTY, pdFALSE, prvCheckDelayedTasks, pxDelayedTaskList, pxOverflowDelayedTaskList, traceTASK_INCREMENT_TICK, uxMissedTicks, uxSchedulerSuspended, vApplicationTickHook(), tskTaskControlBlock::xGenericListItem, xNextTaskUnblockTime, xNumOfOverflows, and xTickCount.
Referenced by xTaskResumeAll().
void vTaskMissedYield | ( | void | ) |
References pdTRUE, and xMissedYield.
Referenced by prvUnlockQueue().
void vTaskPlaceOnEventList | ( | const xList *const | pxEventList, |
portTickType | xTicksToWait | ||
) |
References configASSERT, portRESET_READY_PRIORITY, prvAddCurrentTaskToDelayedList(), pxCurrentTCB, uxListRemove(), tskTaskControlBlock::uxPriority, uxTopReadyPriority, vListInsert(), vListInsertEnd(), tskTaskControlBlock::xEventListItem, tskTaskControlBlock::xGenericListItem, xSuspendedTaskList, and xTickCount.
Referenced by xQueueGenericReceive(), and xQueueGenericSend().
void vTaskPlaceOnEventListRestricted | ( | const xList *const | pxEventList, |
portTickType | xTicksToWait | ||
) |
References configASSERT, portRESET_READY_PRIORITY, prvAddCurrentTaskToDelayedList(), pxCurrentTCB, traceTASK_DELAY_UNTIL, uxListRemove(), tskTaskControlBlock::uxPriority, uxTopReadyPriority, vListInsertEnd(), tskTaskControlBlock::xEventListItem, tskTaskControlBlock::xGenericListItem, and xTickCount.
Referenced by vQueueWaitForMessageRestricted().
void vTaskPrioritySet | ( | xTaskHandle | pxTask, |
unsigned portBASE_TYPE | uxNewPriority | ||
) |
References configASSERT, configMAX_PRIORITIES, listIS_CONTAINED_WITHIN, listSET_LIST_ITEM_VALUE, pdFALSE, pdTRUE, portYIELD_WITHIN_API, prvAddTaskToReadyQueue, prvGetTCBFromHandle, pxCurrentTCB, pxReadyTasksLists, taskENTER_CRITICAL, taskEXIT_CRITICAL, taskRESET_READY_PRIORITY, traceTASK_PRIORITY_SET, uxListRemove(), tskTaskControlBlock::uxPriority, tskTaskControlBlock::xEventListItem, and tskTaskControlBlock::xGenericListItem.
void vTaskResume | ( | xTaskHandle | pxTaskToResume | ) |
void vTaskSetApplicationTaskTag | ( | xTaskHandle | xTask, |
pdTASK_HOOK_CODE | pxHookFunction | ||
) |
References pxCurrentTCB, tskTaskControlBlock::pxTaskTag, taskENTER_CRITICAL, and taskEXIT_CRITICAL.
void vTaskSetTimeOutState | ( | xTimeOutType *const | pxTimeOut | ) |
References configASSERT, xNumOfOverflows, xTIME_OUT::xOverflowCount, xTickCount, and xTIME_OUT::xTimeOnEntering.
Referenced by xQueueGenericReceive(), xQueueGenericSend(), and xTaskCheckForTimeOut().
void vTaskStartScheduler | ( | void | ) |
References configASSERT, pdFALSE, pdPASS, pdTRUE, portCONFIGURE_TIMER_FOR_RUN_TIME_STATS, portPRIVILEGE_BIT, tskIDLE_PRIORITY, tskIDLE_STACK_SIZE, xPortStartScheduler(), xSchedulerRunning, xTaskCreate, xTickCount, and xTimerCreateTimerTask().
Referenced by execute_tx_test().
void vTaskSuspend | ( | xTaskHandle | pxTaskToSuspend | ) |
References listCURRENT_LIST_LENGTH, pdFALSE, portYIELD_WITHIN_API, prvGetTCBFromHandle, xLIST_ITEM::pvContainer, pxCurrentTCB, taskENTER_CRITICAL, taskEXIT_CRITICAL, taskRESET_READY_PRIORITY, traceTASK_SUSPEND, uxCurrentNumberOfTasks, uxListRemove(), tskTaskControlBlock::uxPriority, vListInsertEnd(), vTaskSwitchContext(), tskTaskControlBlock::xEventListItem, tskTaskControlBlock::xGenericListItem, xSchedulerRunning, and xSuspendedTaskList.
void vTaskSuspendAll | ( | void | ) |
void vTaskSwitchContext | ( | void | ) |
portBASE_TYPE xTaskCallApplicationTaskHook | ( | xTaskHandle | xTask, |
void * | pvParameter | ||
) |
portBASE_TYPE xTaskCallApplicationTaskHook( xTaskHandle xTask, pdTASK_HOOK_CODE pxHookFunction );
Calls the hook function associated with xTask. Passing xTask as NULL has the effect of calling the Running tasks (the calling task) hook function.
pvParameter is passed to the hook function for the task to interpret as it wants.
References pdFAIL, pxCurrentTCB, and tskTaskControlBlock::pxTaskTag.
portBASE_TYPE xTaskCheckForTimeOut | ( | xTimeOutType *const | pxTimeOut, |
portTickType *const | pxTicksToWait | ||
) |
References configASSERT, pdFALSE, pdTRUE, taskENTER_CRITICAL, taskEXIT_CRITICAL, vTaskSetTimeOutState(), xNumOfOverflows, xTIME_OUT::xOverflowCount, xTickCount, and xTIME_OUT::xTimeOnEntering.
Referenced by xQueueGenericReceive(), and xQueueGenericSend().
pdTASK_HOOK_CODE xTaskGetApplicationTaskTag | ( | xTaskHandle | xTask | ) |
References pxCurrentTCB, tskTaskControlBlock::pxTaskTag, taskENTER_CRITICAL, and taskEXIT_CRITICAL.
portBASE_TYPE xTaskGetSchedulerState | ( | void | ) |
References pdFALSE, taskSCHEDULER_NOT_STARTED, taskSCHEDULER_RUNNING, taskSCHEDULER_SUSPENDED, uxSchedulerSuspended, and xSchedulerRunning.
Referenced by xTimerGenericCommand().
portTickType xTaskGetTickCount | ( | void | ) |
References taskENTER_CRITICAL, taskEXIT_CRITICAL, and xTickCount.
Referenced by prvAppPhyTask(), prvGetRxTask(), prvGetTxResultTask(), and prvSampleTimeNow().
portTickType xTaskGetTickCountFromISR | ( | void | ) |
References portCLEAR_INTERRUPT_MASK_FROM_ISR, portSET_INTERRUPT_MASK_FROM_ISR, and xTickCount.
signed portBASE_TYPE xTaskIsTaskSuspended | ( | xTaskHandle | xTask | ) |
task.
h
signed portBASE_TYPE xTaskIsTaskSuspended( xTaskHandle xTask );
Utility task that simply returns pdTRUE if the task referenced by xTask is currently in the Suspended state, or pdFALSE if the task referenced by xTask is in any other state.
References configASSERT, listIS_CONTAINED_WITHIN, pdFALSE, pdTRUE, tskTaskControlBlock::xEventListItem, tskTaskControlBlock::xGenericListItem, xPendingReadyList, and xSuspendedTaskList.
Referenced by vTaskResume(), and xTaskResumeFromISR().
signed portBASE_TYPE xTaskRemoveFromEventList | ( | const xList *const | pxEventList | ) |
References configASSERT, listGET_OWNER_OF_HEAD_ENTRY, pdFALSE, pdTRUE, prvAddTaskToReadyQueue, pxCurrentTCB, uxListRemove(), tskTaskControlBlock::uxPriority, uxSchedulerSuspended, vListInsertEnd(), tskTaskControlBlock::xEventListItem, tskTaskControlBlock::xGenericListItem, and xPendingReadyList.
Referenced by prvUnlockQueue(), xQueueGenericReceive(), xQueueGenericReset(), xQueueGenericSend(), xQueueGenericSendFromISR(), and xQueueReceiveFromISR().
signed portBASE_TYPE xTaskResumeAll | ( | void | ) |
References configASSERT, listGET_OWNER_OF_HEAD_ENTRY, listLIST_IS_EMPTY, pdFALSE, pdTRUE, portYIELD_WITHIN_API, prvAddTaskToReadyQueue, pxCurrentTCB, taskENTER_CRITICAL, taskEXIT_CRITICAL, uxCurrentNumberOfTasks, uxListRemove(), uxMissedTicks, tskTaskControlBlock::uxPriority, uxSchedulerSuspended, vTaskIncrementTick(), tskTaskControlBlock::xEventListItem, tskTaskControlBlock::xGenericListItem, xMissedYield, and xPendingReadyList.
Referenced by portTASK_FUNCTION(), prvCheckTasksWaitingTermination(), prvProcessTimerOrBlockTask(), pvPortMalloc(), vPortFree(), vTaskDelay(), vTaskDelayUntil(), xQueueGenericReceive(), and xQueueGenericSend().
portBASE_TYPE xTaskResumeFromISR | ( | xTaskHandle | pxTaskToResume | ) |
References configASSERT, pdFALSE, pdTRUE, portCLEAR_INTERRUPT_MASK_FROM_ISR, portSET_INTERRUPT_MASK_FROM_ISR, prvAddTaskToReadyQueue, pxCurrentTCB, traceTASK_RESUME_FROM_ISR, uxListRemove(), tskTaskControlBlock::uxPriority, uxSchedulerSuspended, vListInsertEnd(), tskTaskControlBlock::xEventListItem, tskTaskControlBlock::xGenericListItem, xPendingReadyList, and xTaskIsTaskSuspended().
PRIVILEGED_DATA tskTCB* volatile pxCurrentTCB = NULL |
Referenced by eTaskStateGet(), prvAddCurrentTaskToDelayedList(), prvInitialiseTaskLists(), vTaskDelay(), vTaskDelayUntil(), vTaskDelete(), vTaskPlaceOnEventList(), vTaskPlaceOnEventListRestricted(), vTaskPrioritySet(), vTaskResume(), vTaskSetApplicationTaskTag(), vTaskSuspend(), vTaskSwitchContext(), xTaskCallApplicationTaskHook(), xTaskGetApplicationTaskTag(), xTaskRemoveFromEventList(), xTaskResumeAll(), and xTaskResumeFromISR().
|
static |
Referenced by eTaskStateGet(), prvAddCurrentTaskToDelayedList(), prvInitialiseTaskLists(), and vTaskIncrementTick().
|
static |
Referenced by eTaskStateGet(), prvAddCurrentTaskToDelayedList(), prvInitialiseTaskLists(), and vTaskIncrementTick().
|
static |
Referenced by portTASK_FUNCTION(), prvInitialiseTaskLists(), and vTaskPrioritySet().
|
static |
|
static |
Referenced by vTaskIncrementTick(), and xTaskResumeAll().
|
static |
|
static |
Referenced by prvInitialiseTaskLists(), and vTaskDelete().
|
static |
Referenced by prvCheckTasksWaitingTermination(), and vTaskDelete().
|
static |
Referenced by vTaskDelay(), vTaskDelayUntil(), vTaskPlaceOnEventList(), and vTaskPlaceOnEventListRestricted().
|
static |
Referenced by prvInitialiseTaskLists().
|
static |
Referenced by prvInitialiseTaskLists().
|
static |
Referenced by prvInitialiseTaskLists().
|
static |
Referenced by vTaskMissedYield(), vTaskSwitchContext(), and xTaskResumeAll().
|
static |
Referenced by portTASK_FUNCTION(), prvAddCurrentTaskToDelayedList(), and vTaskIncrementTick().
|
static |
Referenced by vTaskIncrementTick(), vTaskSetTimeOutState(), and xTaskCheckForTimeOut().
|
static |
Referenced by prvInitialiseTaskLists(), xTaskIsTaskSuspended(), xTaskRemoveFromEventList(), xTaskResumeAll(), and xTaskResumeFromISR().
|
static |
Referenced by prvInitialiseTaskLists(), vTaskDelete(), vTaskEndScheduler(), vTaskStartScheduler(), vTaskSuspend(), and xTaskGetSchedulerState().
|
static |
Referenced by eTaskStateGet(), prvInitialiseTaskLists(), vTaskPlaceOnEventList(), vTaskSuspend(), and xTaskIsTaskSuspended().
|
static |
Referenced by eTaskStateGet(), prvCheckTasksWaitingTermination(), prvInitialiseTaskLists(), and vTaskDelete().
|
static |
Referenced by portTASK_FUNCTION(), prvAddCurrentTaskToDelayedList(), vTaskDelay(), vTaskDelayUntil(), vTaskIncrementTick(), vTaskPlaceOnEventList(), vTaskPlaceOnEventListRestricted(), vTaskSetTimeOutState(), vTaskStartScheduler(), xTaskCheckForTimeOut(), xTaskGetTickCount(), and xTaskGetTickCountFromISR().