Data Structures | |
struct | xMEMORY_REGION |
struct | xTASK_PARAMTERS |
struct | xTIME_OUT |
Macros | |
#define | taskDISABLE_INTERRUPTS() portDISABLE_INTERRUPTS() |
#define | taskENABLE_INTERRUPTS() portENABLE_INTERRUPTS() |
#define | taskENTER_CRITICAL() portENTER_CRITICAL() |
#define | taskEXIT_CRITICAL() portEXIT_CRITICAL() |
#define | taskSCHEDULER_NOT_STARTED 0 |
#define | taskSCHEDULER_RUNNING 1 |
#define | taskSCHEDULER_SUSPENDED 2 |
#define | taskYIELD() portYIELD() |
#define | tskIDLE_PRIORITY ( ( unsigned portBASE_TYPE ) 0U ) |
#define | tskKERNEL_VERSION_NUMBER "V7.0.0" |
#define | xTaskCreate(pvTaskCode, pcName, usStackDepth, pvParameters, uxPriority, pxCreatedTask) xTaskGenericCreate( ( pvTaskCode ), ( pcName ), ( usStackDepth ), ( pvParameters ), ( uxPriority ), ( pxCreatedTask ), ( NULL ), ( NULL ) ) |
#define | xTaskCreateRestricted(x, pxCreatedTask) xTaskGenericCreate( ((x)->pvTaskCode), ((x)->pcName), ((x)->usStackDepth), ((x)->pvParameters), ((x)->uxPriority), (pxCreatedTask), ((x)->puxStackBuffer), ((x)->xRegions) ) |
Typedefs | |
typedef struct xMEMORY_REGION | xMemoryRegion |
typedef void * | xTaskHandle |
typedef struct xTASK_PARAMTERS | xTaskParameters |
typedef struct xTIME_OUT | xTimeOutType |
#define taskDISABLE_INTERRUPTS | ( | ) | portDISABLE_INTERRUPTS() |
#define taskENABLE_INTERRUPTS | ( | ) | portENABLE_INTERRUPTS() |
#define taskENTER_CRITICAL | ( | ) | portENTER_CRITICAL() |
#define taskEXIT_CRITICAL | ( | ) | portEXIT_CRITICAL() |
#define taskSCHEDULER_NOT_STARTED 0 |
#define taskSCHEDULER_RUNNING 1 |
#define taskSCHEDULER_SUSPENDED 2 |
#define taskYIELD | ( | ) | portYIELD() |
#define tskIDLE_PRIORITY ( ( unsigned portBASE_TYPE ) 0U ) |
#define tskKERNEL_VERSION_NUMBER "V7.0.0" |
#define xTaskCreate | ( | pvTaskCode, | |
pcName, | |||
usStackDepth, | |||
pvParameters, | |||
uxPriority, | |||
pxCreatedTask | |||
) | xTaskGenericCreate( ( pvTaskCode ), ( pcName ), ( usStackDepth ), ( pvParameters ), ( uxPriority ), ( pxCreatedTask ), ( NULL ), ( NULL ) ) |
Referenced by bdatalog_start(), device_audio_task_init(), device_cdc_task_init(), device_mass_storage_task_init(), device_mouse_hid_task_init(), device_template_task_init(), host_audio_task_init(), host_cdc_task_init(), host_mass_storage_task_init(), host_mouse_hid_task_init(), host_template_task_init(), main(), portTASK_FUNCTION(), sys_thread_new(), usb_device_task_init(), usb_host_task_init(), usb_task_init(), ushell_task_init(), vAltStartComTestTasks(), vCreateAltBlockTimeTasks(), vCreateBlockTimeTasks(), vCreateSuicidalTasks(), vDisplay_Start(), vErrorChecks(), vStartAltBlockingQueueTasks(), vStartAltGenericQueueTasks(), vStartAltPolledQueueTasks(), vStartBlockingQueueTasks(), vStartCom1Shell(), vStartCountingSemaphoreTasks(), vStartDynamicPriorityTasks(), vStartEthernetTaskLauncher(), vStartGenericQueueTasks(), vStartIntegerMathTasks(), vStartLEDFlashTasks(), vStartMathTasks(), vStartPolledQueueTasks(), vStartQueuePeekTasks(), vStartRecursiveMutexTasks(), vStartSemaphoreTasks(), vSupervisor_Start(), and vTaskStartScheduler().
#define xTaskCreateRestricted | ( | x, | |
pxCreatedTask | |||
) | xTaskGenericCreate( ((x)->pvTaskCode), ((x)->pcName), ((x)->usStackDepth), ((x)->pvParameters), ((x)->uxPriority), (pxCreatedTask), ((x)->puxStackBuffer), ((x)->xRegions) ) |
typedef struct xMEMORY_REGION xMemoryRegion |
typedef void* xTaskHandle |
typedef struct xTASK_PARAMTERS xTaskParameters |
typedef struct xTIME_OUT xTimeOutType |
unsigned long ulTaskEndTrace | ( | void | ) |
unsigned portBASE_TYPE uxTaskGetNumberOfTasks | ( | void | ) |
References uxCurrentNumberOfTasks.
Referenced by vCreateSuicidalTasks(), and xIsCreateTaskStillRunning().
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. |
unsigned portBASE_TYPE uxTaskPriorityGet | ( | xTaskHandle | pxTask | ) |
Referenced by low_level_init(), portTASK_FUNCTION(), and prvLowPriorityMutexTask().
void vTaskAllocateMPURegions | ( | xTaskHandle | xTask, |
const xMemoryRegion *const | pxRegions | ||
) |
void vTaskCleanUpResources | ( | void | ) |
void vTaskDelay | ( | portTickType | xTicksToDelay | ) |
Referenced by b_mmi_format_a(), b_mmi_format_b(), b_mmi_mkdir_aLOG(), b_mmi_mkdir_bLOG(), e_supervisor_switch_to_maintenance_mode(), lMACBSend(), portTASK_FUNCTION(), prvIndicateError(), prvLowPriorityPeekTask(), prvRecursiveMutexControllingTask(), vErrorChecks(), vPrimaryBlockTimeTestTask(), and x_supervisor_SemaphoreGive().
void vTaskDelayUntil | ( | portTickType *const | pxPreviousWakeTime, |
portTickType | xTimeIncrement | ||
) |
Referenced by device_audio_task(), device_cdc_task(), device_mass_storage_task(), device_mouse_hid_task(), device_template_task(), host_audio_task(), host_cdc_task(), host_mass_storage_task(), host_mouse_hid_task(), host_template_task(), portTASK_FUNCTION(), prv_vsave_logs(), usb_device_task(), usb_host_task(), and ushell_task().
void vTaskDelete | ( | xTaskHandle | pxTaskToDelete | ) |
Referenced by bdatalog_start(), portTASK_FUNCTION(), and vErrorChecks().
void vTaskEndScheduler | ( | void | ) |
References pdFALSE, vPortEndScheduler(), and xSchedulerRunning.
void vTaskGetRunTimeStats | ( | signed char * | pcWriteBuffer | ) |
void vTaskIncrementTick | ( | void | ) |
References configASSERT, listGET_LIST_ITEM_VALUE, listGET_OWNER_OF_HEAD_ENTRY, listLIST_IS_EMPTY, prvCheckDelayedTasks, pxDelayedTaskList, pxOverflowDelayedTaskList, traceTASK_INCREMENT_TICK, uxMissedTicks, uxSchedulerSuspended, vApplicationTickHook(), tskTaskControlBlock::xGenericListItem, xNextTaskUnblockTime, xNumOfOverflows, and xTickCount.
Referenced by xTaskResumeAll().
void vTaskList | ( | signed char * | pcWriteBuffer | ) |
Referenced by v_syscmds_display_traces().
void vTaskMissedYield | ( | void | ) |
References pdTRUE, and xMissedYield.
Referenced by prvUnlockQueue().
void vTaskPlaceOnEventList | ( | const xList *const | pxEventList, |
portTickType | xTicksToWait | ||
) |
void vTaskPlaceOnEventListRestricted | ( | const xList *const | pxEventList, |
portTickType | xTicksToWait | ||
) |
void vTaskPriorityDisinherit | ( | xTaskHandle *const | pxMutexHolder | ) |
Referenced by prvCopyDataToQueue().
void vTaskPriorityInherit | ( | xTaskHandle *const | pxMutexHolder | ) |
Referenced by xQueueGenericReceive().
void vTaskPrioritySet | ( | xTaskHandle | pxTask, |
unsigned portBASE_TYPE | uxNewPriority | ||
) |
Referenced by low_level_init(), portTASK_FUNCTION(), prvLowPriorityMutexTask(), and vPrimaryBlockTimeTestTask().
void vTaskResume | ( | xTaskHandle | pxTaskToResume | ) |
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, NULL, pdPASS, pdTRUE, portCONFIGURE_TIMER_FOR_RUN_TIME_STATS, portPRIVILEGE_BIT, tskIDLE_PRIORITY, tskIDLE_STACK_SIZE, xPortStartScheduler(), xSchedulerRunning, xTaskCreate, xTickCount, and xTimerCreateTimerTask().
Referenced by main().
void vTaskStartTrace | ( | signed char * | pcBuffer, |
unsigned long | ulBufferSize | ||
) |
void vTaskSuspend | ( | xTaskHandle | pxTaskToSuspend | ) |
Referenced by portTASK_FUNCTION(), prvHighestPriorityPeekTask(), prvHighPriorityMutexTask(), prvHighPriorityPeekTask(), prvMediumPriorityMutexTask(), prvMediumPriorityPeekTask(), prvRecursiveMutexBlockingTask(), prvRecursiveMutexControllingTask(), v_datalog_AddSensorLog(), and vSecondaryBlockTimeTestTask().
void vTaskSuspendAll | ( | void | ) |
References uxSchedulerSuspended.
Referenced by portTASK_FUNCTION(), prvCheckTasksWaitingTermination(), pvPortMalloc(), vMemCheckTask(), vParTestSetLED(), vParTestToggleLED(), vPortFree(), xQueueGenericReceive(), and xQueueGenericSend().
void vTaskSwitchContext | ( | void | ) |
References configASSERT, listGET_OWNER_OF_NEXT_ENTRY, listLIST_IS_EMPTY, pdTRUE, pxCurrentTCB, pxReadyTasksLists, taskFIRST_CHECK_FOR_STACK_OVERFLOW, taskSECOND_CHECK_FOR_STACK_OVERFLOW, traceTASK_SWITCHED_IN, traceTASK_SWITCHED_OUT, uxSchedulerSuspended, uxTopReadyPriority, vWriteTraceToBuffer, and xMissedYield.
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.
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().
signed portBASE_TYPE xTaskGenericCreate | ( | pdTASK_CODE | pxTaskCode, |
const signed char *const | pcName, | ||
unsigned short | usStackDepth, | ||
void * | pvParameters, | ||
unsigned portBASE_TYPE | uxPriority, | ||
xTaskHandle * | pxCreatedTask, | ||
portSTACK_TYPE * | puxStackBuffer, | ||
const xMemoryRegion *const | xRegions | ||
) |
xTaskHandle xTaskGetCurrentTaskHandle | ( | void | ) |
Referenced by sys_arch_timeouts(), and xQueueGenericReceive().
portBASE_TYPE xTaskGetSchedulerState | ( | void | ) |
portTickType xTaskGetTickCount | ( | void | ) |
References taskENTER_CRITICAL, taskEXIT_CRITICAL, and xTickCount.
Referenced by device_audio_task(), device_cdc_task(), device_mass_storage_task(), device_mouse_hid_task(), device_template_task(), host_audio_task(), host_cdc_task(), host_mass_storage_task(), host_mouse_hid_task(), host_template_task(), portTASK_FUNCTION(), prv_vsave_logs(), prvCheckDelayedList(), prvjoystick_ISR_NonNakedBehaviour(), sys_arch_mbox_fetch(), sys_arch_sem_wait(), usb_device_task(), usb_host_task(), ushell_task(), v_cptime_UpdateLocalTime(), vPrimaryBlockTimeTestTask(), and vSecondaryBlockTimeTestTask().
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.
signed portBASE_TYPE xTaskRemoveFromEventList | ( | const xList *const | pxEventList | ) |
References configASSERT, listGET_OWNER_OF_HEAD_ENTRY, pdFALSE, pdTRUE, prvAddTaskToReadyQueue, pxCurrentTCB, tskTaskControlBlock::uxPriority, uxSchedulerSuspended, vListInsertEnd(), vListRemove(), tskTaskControlBlock::xEventListItem, tskTaskControlBlock::xGenericListItem, and xPendingReadyList.
Referenced by prvUnlockQueue(), xQueueGenericReceive(), 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, uxMissedTicks, tskTaskControlBlock::uxPriority, uxSchedulerSuspended, vListRemove(), vTaskIncrementTick(), tskTaskControlBlock::xEventListItem, tskTaskControlBlock::xGenericListItem, xMissedYield, and xPendingReadyList.
Referenced by portTASK_FUNCTION(), prvCheckTasksWaitingTermination(), pvPortMalloc(), vMemCheckTask(), vParTestSetLED(), vParTestToggleLED(), vPortFree(), xQueueGenericReceive(), and xQueueGenericSend().
portBASE_TYPE xTaskResumeFromISR | ( | xTaskHandle | pxTaskToResume | ) |