FreeRTOS port on GAP8/RISC-V
|
Data Structures | |
struct | tskTCB |
Macros | |
#define | MPU_WRAPPERS_INCLUDED_FROM_API_FILE |
#define | taskYIELD_IF_USING_PREEMPTION() |
#define | taskNOT_WAITING_NOTIFICATION |
#define | taskWAITING_NOTIFICATION |
#define | taskNOTIFICATION_RECEIVED |
#define | tskSTACK_FILL_BYTE |
#define | tskDYNAMICALLY_ALLOCATED_STACK_AND_TCB |
#define | tskSTATICALLY_ALLOCATED_STACK_ONLY |
#define | tskSTATICALLY_ALLOCATED_STACK_AND_TCB |
#define | tskSET_NEW_STACKS_TO_KNOWN_VALUE |
#define | tskRUNNING_CHAR |
#define | tskBLOCKED_CHAR |
#define | tskREADY_CHAR |
#define | tskDELETED_CHAR |
#define | tskSUSPENDED_CHAR |
#define | configIDLE_TASK_NAME |
#define | taskRECORD_READY_PRIORITY(uxPriority) |
#define | taskSELECT_HIGHEST_PRIORITY_TASK() |
#define | taskRESET_READY_PRIORITY(uxPriority) |
#define | portRESET_READY_PRIORITY(uxPriority, uxTopReadyPriority) |
#define | taskSWITCH_DELAYED_LISTS() |
#define | prvAddTaskToReadyList(pxTCB) |
#define | prvGetTCBFromHandle(pxHandle) |
#define | taskEVENT_LIST_ITEM_VALUE_IN_USE |
Typedefs | |
typedef tskTCB | TCB_t |
#define configIDLE_TASK_NAME |
Referenced by vTaskStartScheduler().
#define MPU_WRAPPERS_INCLUDED_FROM_API_FILE |
#define portRESET_READY_PRIORITY | ( | uxPriority, | |
uxTopReadyPriority | |||
) |
Referenced by prvAddCurrentTaskToDelayedList().
#define prvAddTaskToReadyList | ( | pxTCB | ) |
#define prvGetTCBFromHandle | ( | pxHandle | ) |
Referenced by pcTaskGetName().
#define taskEVENT_LIST_ITEM_VALUE_IN_USE |
Referenced by vTaskPlaceOnUnorderedEventList(), and vTaskRemoveFromUnorderedEventList().
#define taskNOT_WAITING_NOTIFICATION |
#define taskNOTIFICATION_RECEIVED |
#define taskRECORD_READY_PRIORITY | ( | uxPriority | ) |
#define taskRESET_READY_PRIORITY | ( | uxPriority | ) |
#define taskSELECT_HIGHEST_PRIORITY_TASK | ( | ) |
Referenced by vTaskSwitchContext().
#define taskSWITCH_DELAYED_LISTS | ( | ) |
Referenced by xTaskIncrementTick().
#define taskWAITING_NOTIFICATION |
#define taskYIELD_IF_USING_PREEMPTION | ( | ) |
Referenced by prvAddNewTaskToReadyList(), and xTaskResumeAll().
#define tskBLOCKED_CHAR |
#define tskDELETED_CHAR |
#define tskDYNAMICALLY_ALLOCATED_STACK_AND_TCB |
#define tskREADY_CHAR |
#define tskRUNNING_CHAR |
#define tskSET_NEW_STACKS_TO_KNOWN_VALUE |
#define tskSTACK_FILL_BYTE |
#define tskSTATICALLY_ALLOCATED_STACK_AND_TCB |
#define tskSTATICALLY_ALLOCATED_STACK_ONLY |
#define tskSUSPENDED_CHAR |
char* pcTaskGetName | ( | TaskHandle_t | xTaskToQuery | ) |
References configASSERT, tskTCB::pcTaskName, and prvGetTCBFromHandle.
Referenced by MPU_pcTaskGetName().
|
static |
THIS IS THE RTOS IDLE TASK - WHICH IS CREATED AUTOMATICALLY WHEN THE
SCHEDULER IS STARTED.
References configASSERT, configEXPECTED_IDLE_TIME_BEFORE_SLEEP, configPRE_SUPPRESS_TICKS_AND_SLEEP_PROCESSING, listCURRENT_LIST_LENGTH, mtCOVERAGE_TEST_MARKER, portALLOCATE_SECURE_CONTEXT, portSUPPRESS_TICKS_AND_SLEEP, prvCheckTasksWaitingTermination(), pxReadyTasksLists, taskYIELD, traceLOW_POWER_IDLE_BEGIN, traceLOW_POWER_IDLE_END, vTaskSuspendAll(), xNextTaskUnblockTime, xTaskResumeAll(), and xTickCount.
|
static |
References listSET_LIST_ITEM_VALUE, mtCOVERAGE_TEST_MARKER, pdFALSE, portMAX_DELAY, portRESET_READY_PRIORITY, pxCurrentTCB, pxDelayedTaskList, pxOverflowDelayedTaskList, uxListRemove(), tskTCB::uxPriority, uxTopReadyPriority, vListInsert(), vListInsertEnd(), xNextTaskUnblockTime, tskTCB::xStateListItem, and xTickCount.
Referenced by vTaskPlaceOnEventList(), and vTaskPlaceOnUnorderedEventList().
|
static |
|
static |
THIS FUNCTION IS CALLED FROM THE RTOS IDLE TASK
References listGET_OWNER_OF_HEAD_ENTRY, taskENTER_CRITICAL, taskEXIT_CRITICAL, uxCurrentNumberOfTasks, uxListRemove(), and tskTCB::xStateListItem.
Referenced by portTASK_FUNCTION().
|
static |
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.
Referenced by prvAddNewTaskToReadyList().
|
static |
|
static |
References listGET_LIST_ITEM_VALUE, listGET_OWNER_OF_HEAD_ENTRY, listLIST_IS_EMPTY, portMAX_DELAY, pxDelayedTaskList, and xNextTaskUnblockTime.
Referenced by xTaskRemoveFromEventList(), and xTaskResumeAll().
UBaseType_t uxTaskGetNumberOfTasks | ( | void | ) |
References uxCurrentNumberOfTasks.
Referenced by MPU_uxTaskGetNumberOfTasks().
TickType_t uxTaskResetEventItemValue | ( | void | ) |
References listGET_LIST_ITEM_VALUE, listSET_LIST_ITEM_VALUE, pxCurrentTCB, tskTCB::uxPriority, and tskTCB::xEventListItem.
Referenced by xEventGroupSync(), and xEventGroupWaitBits().
void vTaskEndScheduler | ( | void | ) |
References pdFALSE, portDISABLE_INTERRUPTS, vPortEndScheduler(), and xSchedulerRunning.
void vTaskInternalSetTimeOutState | ( | TimeOut_t *const | pxTimeOut | ) |
References xNumOfOverflows, TimeOut_t::xOverflowCount, xTickCount, and TimeOut_t::xTimeOnEntering.
Referenced by xQueueGenericSend(), xQueuePeek(), xQueueReceive(), xQueueSemaphoreTake(), and xTaskCheckForTimeOut().
void vTaskMissedYield | ( | void | ) |
References pdTRUE, and xYieldPending.
Referenced by prvUnlockQueue().
void vTaskPlaceOnEventList | ( | List_t *const | pxEventList, |
const TickType_t | xTicksToWait | ||
) |
References configASSERT, pdTRUE, prvAddCurrentTaskToDelayedList(), pxCurrentTCB, vListInsert(), and tskTCB::xEventListItem.
Referenced by xQueueGenericSend(), xQueuePeek(), xQueueReceive(), and xQueueSemaphoreTake().
void vTaskPlaceOnUnorderedEventList | ( | List_t * | pxEventList, |
const TickType_t | xItemValue, | ||
const TickType_t | xTicksToWait | ||
) |
References configASSERT, listSET_LIST_ITEM_VALUE, pdTRUE, prvAddCurrentTaskToDelayedList(), pxCurrentTCB, taskEVENT_LIST_ITEM_VALUE_IN_USE, uxSchedulerSuspended, vListInsertEnd(), and tskTCB::xEventListItem.
Referenced by xEventGroupSync(), and xEventGroupWaitBits().
void vTaskRemoveFromUnorderedEventList | ( | ListItem_t * | pxEventListItem, |
const TickType_t | xItemValue | ||
) |
References configASSERT, listGET_LIST_ITEM_OWNER, listSET_LIST_ITEM_VALUE, pdTRUE, prvAddTaskToReadyList, pxCurrentTCB, taskEVENT_LIST_ITEM_VALUE_IN_USE, uxListRemove(), tskTCB::uxPriority, uxSchedulerSuspended, tskTCB::xStateListItem, and xYieldPending.
Referenced by vEventGroupDelete(), and xEventGroupSetBits().
void vTaskSetTimeOutState | ( | TimeOut_t *const | pxTimeOut | ) |
References configASSERT, taskENTER_CRITICAL, taskEXIT_CRITICAL, xNumOfOverflows, TimeOut_t::xOverflowCount, xTickCount, and TimeOut_t::xTimeOnEntering.
Referenced by MPU_vTaskSetTimeOutState(), and xStreamBufferSend().
void vTaskStartScheduler | ( | void | ) |
References configASSERT, configIDLE_TASK_NAME, configINITIAL_TICK_COUNT, configMINIMAL_STACK_SIZE, errCOULD_NOT_ALLOCATE_REQUIRED_MEMORY, mtCOVERAGE_TEST_MARKER, pdFAIL, pdPASS, pdTRUE, portCONFIGURE_TIMER_FOR_RUN_TIME_STATS, portDISABLE_INTERRUPTS, portMAX_DELAY, pxCurrentTCB, traceTASK_SWITCHED_IN, xIdleTaskHandle, xNextTaskUnblockTime, xPortStartScheduler(), xSchedulerRunning, xTickCount, and xTimerCreateTimerTask().
Referenced by __os_native_kickoff().
void vTaskSuspendAll | ( | void | ) |
References portMEMORY_BARRIER, and uxSchedulerSuspended.
Referenced by MPU_vTaskSuspendAll(), portTASK_FUNCTION(), pvPortMalloc(), vEventGroupDelete(), vPortFree(), vPortGetHeapStats(), xEventGroupSetBits(), xEventGroupSync(), xEventGroupWaitBits(), xQueueGenericSend(), xQueuePeek(), xQueueReceive(), xQueueSemaphoreTake(), and xTaskCatchUpTicks().
void vTaskSwitchContext | ( | void | ) |
BaseType_t xTaskCatchUpTicks | ( | TickType_t | xTicksToCatchUp | ) |
References configASSERT, pdFALSE, uxSchedulerSuspended, vTaskSuspendAll(), xPendedTicks, and xTaskResumeAll().
Referenced by MPU_xTaskCatchUpTicks().
BaseType_t xTaskCheckForTimeOut | ( | TimeOut_t *const | pxTimeOut, |
TickType_t *const | pxTicksToWait | ||
) |
References configASSERT, pdFALSE, pdTRUE, portMAX_DELAY, pxCurrentTCB, taskENTER_CRITICAL, taskEXIT_CRITICAL, vTaskInternalSetTimeOutState(), xNumOfOverflows, TimeOut_t::xOverflowCount, xTickCount, and TimeOut_t::xTimeOnEntering.
Referenced by MPU_xTaskCheckForTimeOut(), xQueueGenericSend(), xQueuePeek(), xQueueReceive(), xQueueSemaphoreTake(), and xStreamBufferSend().
TickType_t xTaskGetTickCount | ( | void | ) |
References portTICK_TYPE_ENTER_CRITICAL, portTICK_TYPE_EXIT_CRITICAL, and xTickCount.
Referenced by MPU_xTaskGetTickCount().
TickType_t xTaskGetTickCountFromISR | ( | void | ) |
BaseType_t xTaskIncrementTick | ( | void | ) |
References listCURRENT_LIST_LENGTH, listGET_LIST_ITEM_VALUE, listGET_OWNER_OF_HEAD_ENTRY, listLIST_IS_EMPTY, listLIST_ITEM_CONTAINER, mtCOVERAGE_TEST_MARKER, pdFALSE, pdTRUE, portMAX_DELAY, prvAddTaskToReadyList, pxCurrentTCB, pxDelayedTaskList, pxReadyTasksLists, taskSWITCH_DELAYED_LISTS, traceTASK_INCREMENT_TICK, uxListRemove(), tskTCB::uxPriority, uxSchedulerSuspended, tskTCB::xEventListItem, xNextTaskUnblockTime, xPendedTicks, tskTCB::xStateListItem, xTickCount, and xYieldPending.
Referenced by xTaskResumeAll().
BaseType_t xTaskRemoveFromEventList | ( | const List_t *const | pxEventList | ) |
References configASSERT, listGET_OWNER_OF_HEAD_ENTRY, pdFALSE, pdTRUE, prvAddTaskToReadyList, prvResetNextTaskUnblockTime(), pxCurrentTCB, uxListRemove(), tskTCB::uxPriority, uxSchedulerSuspended, vListInsertEnd(), tskTCB::xEventListItem, xPendingReadyList, tskTCB::xStateListItem, and xYieldPending.
Referenced by prvUnlockQueue(), xQueueGenericReset(), xQueueGenericSend(), xQueueGenericSendFromISR(), xQueueGiveFromISR(), xQueuePeek(), xQueueReceive(), xQueueReceiveFromISR(), and xQueueSemaphoreTake().
BaseType_t xTaskResumeAll | ( | void | ) |
References configASSERT, listGET_OWNER_OF_HEAD_ENTRY, listLIST_IS_EMPTY, mtCOVERAGE_TEST_MARKER, pdFALSE, pdTRUE, prvAddTaskToReadyList, prvResetNextTaskUnblockTime(), pxCurrentTCB, taskENTER_CRITICAL, taskEXIT_CRITICAL, taskYIELD_IF_USING_PREEMPTION, uxCurrentNumberOfTasks, uxListRemove(), tskTCB::uxPriority, uxSchedulerSuspended, tskTCB::xEventListItem, xNextTaskUnblockTime, xPendedTicks, xPendingReadyList, tskTCB::xStateListItem, xTaskIncrementTick(), xTickCount, and xYieldPending.
Referenced by MPU_xTaskResumeAll(), portTASK_FUNCTION(), pvPortMalloc(), vEventGroupDelete(), vPortFree(), vPortGetHeapStats(), xEventGroupSetBits(), xEventGroupSync(), xEventGroupWaitBits(), xQueueGenericSend(), xQueuePeek(), xQueueReceive(), xQueueSemaphoreTake(), and xTaskCatchUpTicks().
PRIVILEGED_DATA TCB_t* volatile pxCurrentTCB |
Referenced by prvAddCurrentTaskToDelayedList(), prvAddNewTaskToReadyList(), uxTaskResetEventItemValue(), vTaskPlaceOnEventList(), vTaskPlaceOnUnorderedEventList(), vTaskRemoveFromUnorderedEventList(), vTaskStartScheduler(), vTaskSwitchContext(), xTaskCheckForTimeOut(), xTaskIncrementTick(), xTaskRemoveFromEventList(), and xTaskResumeAll().
|
static |
|
static |
Referenced by prvAddCurrentTaskToDelayedList(), and prvInitialiseTaskLists().
|
static |
Referenced by portTASK_FUNCTION(), prvInitialiseTaskLists(), and xTaskIncrementTick().
|
static |
Referenced by prvAddNewTaskToReadyList(), prvCheckTasksWaitingTermination(), uxTaskGetNumberOfTasks(), and xTaskResumeAll().
|
static |
|
static |
Referenced by prvAddNewTaskToReadyList().
|
static |
Referenced by prvAddCurrentTaskToDelayedList().
|
static |
Referenced by prvInitialiseTaskLists().
|
static |
Referenced by prvInitialiseTaskLists().
|
static |
Referenced by vTaskStartScheduler().
|
static |
|
static |
Referenced by vTaskInternalSetTimeOutState(), vTaskSetTimeOutState(), and xTaskCheckForTimeOut().
|
static |
Referenced by xTaskCatchUpTicks(), xTaskIncrementTick(), and xTaskResumeAll().
|
static |
Referenced by prvInitialiseTaskLists(), xTaskRemoveFromEventList(), and xTaskResumeAll().
|
static |
Referenced by prvAddNewTaskToReadyList(), vTaskEndScheduler(), and vTaskStartScheduler().
|
static |
|
static |