#include <stdlib.h>
#include <string.h>
#include "FreeRTOS.h"
#include "task.h"
#include "timers.h"
#include "stack_macros.h"
Go to the source code of this file.
◆ configIDLE_TASK_NAME
#define configIDLE_TASK_NAME "IDLE" |
◆ MPU_WRAPPERS_INCLUDED_FROM_API_FILE
#define MPU_WRAPPERS_INCLUDED_FROM_API_FILE |
◆ portRESET_READY_PRIORITY
◆ prvAddTaskToReadyList
#define prvAddTaskToReadyList |
( |
|
pxTCB | ) |
|
Value: taskRECORD_READY_PRIORITY( ( pxTCB )->uxPriority ); \
vListInsertEnd( &(
pxReadyTasksLists[ ( pxTCB )->uxPriority ] ), &( ( pxTCB )->xStateListItem ) ); \
tracePOST_MOVED_TASK_TO_READY_STATE( pxTCB )
static PRIVILEGED_DATA List_t pxReadyTasksLists[configMAX_PRIORITIES]
#define traceMOVED_TASK_TO_READY_STATE(pxTCB)
Definition at line 235 of file tasks.c.
◆ prvGetTCBFromHandle
◆ taskEVENT_LIST_ITEM_VALUE_IN_USE
#define taskEVENT_LIST_ITEM_VALUE_IN_USE 0x80000000UL |
◆ taskNOT_WAITING_NOTIFICATION
#define taskNOT_WAITING_NOTIFICATION ( ( uint8_t ) 0 ) |
◆ taskNOTIFICATION_RECEIVED
#define taskNOTIFICATION_RECEIVED ( ( uint8_t ) 2 ) |
◆ taskRECORD_READY_PRIORITY
#define taskRECORD_READY_PRIORITY |
( |
|
uxPriority | ) |
|
Value:{ \
{ \
uxTopReadyPriority = ( uxPriority ); \
} \
}
static PRIVILEGED_DATA volatile UBaseType_t uxTopReadyPriority
Definition at line 140 of file tasks.c.
◆ taskRESET_READY_PRIORITY
#define taskRESET_READY_PRIORITY |
( |
|
uxPriority | ) |
|
◆ taskSELECT_HIGHEST_PRIORITY_TASK
#define taskSELECT_HIGHEST_PRIORITY_TASK |
( |
| ) |
|
Value:{ \
\
\
{ \
configASSERT( uxTopPriority ); \
--uxTopPriority; \
} \
\
\
uxTopReadyPriority = uxTopPriority; \
}
static PRIVILEGED_DATA List_t pxReadyTasksLists[configMAX_PRIORITIES]
PRIVILEGED_DATA TCB_t *volatile pxCurrentTCB
#define listLIST_IS_EMPTY(pxList)
static PRIVILEGED_DATA volatile UBaseType_t uxTopReadyPriority
Definition at line 150 of file tasks.c.
◆ taskSWITCH_DELAYED_LISTS
#define taskSWITCH_DELAYED_LISTS |
( |
| ) |
|
Value:{ \
List_t *pxTemp; \
\
\
\
pxOverflowDelayedTaskList = pxTemp; \
xNumOfOverflows++; \
prvResetNextTaskUnblockTime(); \
}
#define listLIST_IS_EMPTY(pxList)
static PRIVILEGED_DATA List_t *volatile pxDelayedTaskList
static PRIVILEGED_DATA List_t *volatile pxOverflowDelayedTaskList
Definition at line 215 of file tasks.c.
◆ taskWAITING_NOTIFICATION
#define taskWAITING_NOTIFICATION ( ( uint8_t ) 1 ) |
◆ taskYIELD_IF_USING_PREEMPTION
#define taskYIELD_IF_USING_PREEMPTION |
( |
| ) |
|
◆ tskBLOCKED_CHAR
#define tskBLOCKED_CHAR ( 'B' ) |
◆ tskDELETED_CHAR
#define tskDELETED_CHAR ( 'D' ) |
◆ tskDYNAMICALLY_ALLOCATED_STACK_AND_TCB
#define tskDYNAMICALLY_ALLOCATED_STACK_AND_TCB ( ( uint8_t ) 0 ) |
◆ tskREADY_CHAR
#define tskREADY_CHAR ( 'R' ) |
◆ tskSET_NEW_STACKS_TO_KNOWN_VALUE
#define tskSET_NEW_STACKS_TO_KNOWN_VALUE 0 |
◆ tskSTACK_FILL_BYTE
#define tskSTACK_FILL_BYTE ( 0xa5U ) |
◆ tskSTATIC_AND_DYNAMIC_ALLOCATION_POSSIBLE
◆ tskSTATICALLY_ALLOCATED_STACK_AND_TCB
#define tskSTATICALLY_ALLOCATED_STACK_AND_TCB ( ( uint8_t ) 2 ) |
◆ tskSTATICALLY_ALLOCATED_STACK_ONLY
#define tskSTATICALLY_ALLOCATED_STACK_ONLY ( ( uint8_t ) 1 ) |
◆ tskSUSPENDED_CHAR
#define tskSUSPENDED_CHAR ( 'S' ) |
◆ TCB_t
◆ tskTCB
◆ pcTaskGetName()
◆ portTASK_FUNCTION()
static portTASK_FUNCTION |
( |
prvIdleTask |
, |
|
|
pvParameters |
|
|
) |
| |
|
static |
THIS IS THE RTOS IDLE TASK - WHICH IS CREATED AUTOMATICALLY WHEN THE SCHEDULER IS STARTED.
Definition at line 3226 of file tasks.c.
◆ prvAddCurrentTaskToDelayedList()
static void prvAddCurrentTaskToDelayedList |
( |
TickType_t |
xTicksToWait, |
|
|
const BaseType_t |
xCanBlockIndefinitely |
|
) |
| |
|
static |
◆ prvAddNewTaskToReadyList()
static void prvAddNewTaskToReadyList |
( |
TCB_t * |
pxNewTCB | ) |
|
|
static |
◆ prvCheckTasksWaitingTermination()
static void prvCheckTasksWaitingTermination |
( |
void |
| ) |
|
|
static |
THIS FUNCTION IS CALLED FROM THE RTOS IDLE TASK
Definition at line 3477 of file tasks.c.
◆ prvInitialiseTaskLists() [1/2]
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.
Definition at line 440 of file tasks.c.
◆ prvInitialiseTaskLists() [2/2]
static void prvInitialiseTaskLists |
( |
void |
| ) |
|
|
static |
◆ prvResetNextTaskUnblockTime()
static void prvResetNextTaskUnblockTime |
( |
void |
| ) |
|
|
static |
◆ uxTaskGetNumberOfTasks()
◆ uxTaskResetEventItemValue()
◆ vTaskEndScheduler()
void vTaskEndScheduler |
( |
void |
| ) |
|
◆ vTaskInternalSetTimeOutState()
void vTaskInternalSetTimeOutState |
( |
TimeOut_t *const |
pxTimeOut | ) |
|
◆ vTaskMissedYield()
void vTaskMissedYield |
( |
void |
| ) |
|
◆ vTaskPlaceOnEventList()
void vTaskPlaceOnEventList |
( |
List_t *const |
pxEventList, |
|
|
const TickType_t |
xTicksToWait |
|
) |
| |
◆ vTaskPlaceOnUnorderedEventList()
◆ vTaskRemoveFromUnorderedEventList()
void vTaskRemoveFromUnorderedEventList |
( |
ListItem_t * |
pxEventListItem, |
|
|
const TickType_t |
xItemValue |
|
) |
| |
◆ vTaskSetTimeOutState()
void vTaskSetTimeOutState |
( |
TimeOut_t *const |
pxTimeOut | ) |
|
◆ vTaskStartScheduler()
◆ vTaskSuspendAll()
void vTaskSuspendAll |
( |
void |
| ) |
|
◆ vTaskSwitchContext()
void vTaskSwitchContext |
( |
void |
| ) |
|
◆ xTaskCheckForTimeOut()
◆ xTaskGetTickCount()
◆ xTaskGetTickCountFromISR()
◆ xTaskIncrementTick()
◆ xTaskRemoveFromEventList()
◆ xTaskResumeAll()
◆ pxCurrentTCB
◆ pxDelayedTaskList
◆ pxOverflowDelayedTaskList
◆ pxReadyTasksLists
◆ uxCurrentNumberOfTasks
◆ uxPendedTicks
◆ uxSchedulerSuspended
◆ uxTaskNumber
◆ uxTopReadyPriority
◆ xDelayedTaskList1
◆ xDelayedTaskList2
◆ xIdleTaskHandle
◆ xNextTaskUnblockTime
◆ xNumOfOverflows
◆ xPendingReadyList
◆ xSchedulerRunning
◆ xTickCount
◆ xYieldPending