![]() |
SuperTinyKernel™ RTOS 1.06.x
Lightweight, high-performance, deterministic, bare-metal C++ RTOS for resource-constrained embedded systems. MIT Open Source License.
|
Classes | |
| struct | NotifySlot |
Public Types | |
| enum class | State : uint8_t { Ready , Suspended , Deleted } |
Public Member Functions | |
| FrtosTask () | |
| virtual | ~FrtosTask () |
| void | Run () override |
| Entry point of the user task. | |
| void | OnExit () override |
| Called by the kernel before removal from the scheduling (see stk::KERNEL_DYNAMIC). | |
| const stk::Word * | GetStack () const override |
| Get pointer to the stack memory. | |
| size_t | GetStackSize () const override |
| Get number of elements of the stack memory array. | |
| stk::EAccessMode | GetAccessMode () const override |
| Get hardware access mode of the user task. | |
| int32_t | GetWeight () const override |
| Get static base weight of the task. | |
| const char * | GetTraceName () const override |
| Get task trace name set by application. | |
| void | OnDeadlineMissed (uint32_t) override |
| Called by the scheduler if deadline of the task is missed when Kernel is operating in Hard Real-Time mode (see stk::KERNEL_HRT). | |
| size_t | GetStackHighWaterMark () const |
| virtual IStackMemory * | GetSecureStackMemory () |
| Get pointer to the stack memory. | |
| TId | GetId () const |
| Get task Id set by application. | |
| virtual size_t | GetStackSpace () const |
| Get available stack space. | |
Public Attributes | |
| TaskFunction_t | m_func |
| void * | m_argument |
| const char * | m_name |
| volatile int32_t | m_weight |
| stk::Word * | m_stack |
| size_t | m_stack_size |
| bool | m_stack_owned |
| bool | m_cb_owned |
| volatile State | m_state |
| uint32_t | m_task_number |
| void * | m_tls [4U] |
| NotifySlot | m_notify [1U] |
Static Public Attributes | |
| static uint32_t | s_task_counter = 0U |
Definition at line 397 of file freertos_stk.cpp.
|
strong |
| Enumerator | |
|---|---|
| Ready | |
| Suspended | |
| Deleted | |
Definition at line 399 of file freertos_stk.cpp.
|
inlineexplicit |
< Per-task TLS pointer slots.
Definition at line 406 of file freertos_stk.cpp.
References configNUM_THREAD_LOCAL_STORAGE_POINTERS, FrtosPrioToStkWeight(), m_argument, m_cb_owned, m_func, m_name, m_stack, m_stack_owned, m_stack_size, m_state, m_task_number, m_tls, m_weight, s_task_counter, and tskIDLE_PRIORITY.
|
inlinevirtual |
Definition at line 418 of file freertos_stk.cpp.
References m_stack, m_stack_owned, and ObjFreeArray().
|
inlineoverridevirtual |
Get hardware access mode of the user task.
Implements stk::ITask.
Definition at line 441 of file freertos_stk.cpp.
References stk::ACCESS_PRIVILEGED.
|
inlineinherited |
Get task Id set by application.
Implementation of ITask::GetId, see ITask. Placed here as it depends on GetTidFromUserTask.
Definition at line 228 of file stk_helper.h.
References stk::GetTidFromUserTask().
Referenced by stk::Kernel< TMode, TSize, TStrategy, TPlatform >::KernelTask::Bind(), and stk_task_get_id().
|
inlinevirtualinherited |
Get pointer to the stack memory.
Definition at line 692 of file stk_common.h.
|
inlineoverridevirtual |
Get pointer to the stack memory.
Implements stk::IStackMemory.
Definition at line 439 of file freertos_stk.cpp.
References m_stack.
|
inline |
Definition at line 450 of file freertos_stk.cpp.
References stk::IStackMemory::GetStackSpace().
Referenced by uxTaskGetStackHighWaterMark(), uxTaskGetStackHighWaterMark2(), uxTaskGetSystemState(), and vTaskList().
|
inlineoverridevirtual |
Get number of elements of the stack memory array.
Implements stk::IStackMemory.
Definition at line 440 of file freertos_stk.cpp.
References m_stack_size.
|
inlinevirtualinherited |
Get available stack space.
Definition at line 336 of file stk_common.h.
References stk::ArrayView< T >::GetSize(), GetStack(), GetStackSize(), and STK_STACK_MEMORY_FILLER.
Referenced by FrtosTask::GetStackHighWaterMark(), and osThreadGetStackSpace().
|
inlineoverridevirtual |
Get task trace name set by application.
NULL if unused. Reimplemented from stk::ITask.
Definition at line 443 of file freertos_stk.cpp.
References m_name.
|
inlineoverridevirtual |
Get static base weight of the task.
Reimplemented from stk::ITask.
Definition at line 442 of file freertos_stk.cpp.
References m_weight.
|
inlineoverridevirtual |
Called by the scheduler if deadline of the task is missed when Kernel is operating in Hard Real-Time mode (see stk::KERNEL_HRT).
| [in] | duration | Elapsed active time in ticks at the point the deadline was detected. Always greater than the task's configured deadline (ticks). |
Reimplemented from stk::ITask.
Definition at line 445 of file freertos_stk.cpp.
|
inlineoverridevirtual |
Called by the kernel before removal from the scheduling (see stk::KERNEL_DYNAMIC).
Reimplemented from stk::ITask.
Definition at line 434 of file freertos_stk.cpp.
|
inlineoverridevirtual |
Entry point of the user task.
Kernel is configured as KERNEL_STATIC, the body must contain an infinite loop. Implements stk::ITask.
Definition at line 428 of file freertos_stk.cpp.
References m_argument, and m_func.
| void* FrtosTask::m_argument |
Definition at line 454 of file freertos_stk.cpp.
Referenced by FrtosTask(), Run(), xTaskCreate(), and xTaskCreateStatic().
| bool FrtosTask::m_cb_owned |
Definition at line 460 of file freertos_stk.cpp.
Referenced by FrtosTask(), and xTaskCreateStatic().
| TaskFunction_t FrtosTask::m_func |
Definition at line 453 of file freertos_stk.cpp.
Referenced by FrtosTask(), Run(), xTaskCreate(), and xTaskCreateStatic().
| const char* FrtosTask::m_name |
Definition at line 455 of file freertos_stk.cpp.
Referenced by FrtosTask(), GetTraceName(), uxTaskGetSystemState(), vTaskGetRunTimeStats(), vTaskList(), xTaskCreate(), and xTaskCreateStatic().
| NotifySlot FrtosTask::m_notify[1U] |
Definition at line 494 of file freertos_stk.cpp.
Referenced by ulTaskNotifyTakeIndexed(), ulTaskNotifyValueClearIndexed(), xTaskNotifyAndQueryIndexed(), xTaskNotifyGiveIndexed(), xTaskNotifyIndexed(), xTaskNotifyStateClearIndexed(), and xTaskNotifyWaitIndexed().
| stk::Word* FrtosTask::m_stack |
Definition at line 457 of file freertos_stk.cpp.
Referenced by FrtosTask(), GetStack(), uxTaskGetSystemState(), xTaskCreate(), xTaskCreateStatic(), and ~FrtosTask().
| bool FrtosTask::m_stack_owned |
Definition at line 459 of file freertos_stk.cpp.
Referenced by FrtosTask(), xTaskCreate(), xTaskCreateStatic(), and ~FrtosTask().
| size_t FrtosTask::m_stack_size |
Definition at line 458 of file freertos_stk.cpp.
Referenced by FrtosTask(), GetStackSize(), xTaskCreate(), and xTaskCreateStatic().
| volatile State FrtosTask::m_state |
Definition at line 461 of file freertos_stk.cpp.
Referenced by eTaskGetState(), FrtosTask(), OnExit(), uxTaskGetSystemState(), vTaskList(), vTaskResume(), vTaskSuspend(), xTaskAbortDelay(), and xTaskResumeFromISR().
| uint32_t FrtosTask::m_task_number |
Definition at line 462 of file freertos_stk.cpp.
Referenced by FrtosTask(), and uxTaskGetSystemState().
| void* FrtosTask::m_tls[4U] |
Definition at line 471 of file freertos_stk.cpp.
Referenced by FrtosTask(), pvTaskGetThreadLocalStoragePointer(), and vTaskSetThreadLocalStoragePointer().
| volatile int32_t FrtosTask::m_weight |
Definition at line 456 of file freertos_stk.cpp.
Referenced by FrtosTask(), GetWeight(), uxTaskGetSystemState(), uxTaskPriorityGet(), vTaskList(), vTaskPrioritySet(), xTaskCreate(), and xTaskCreateStatic().
|
static |
Definition at line 466 of file freertos_stk.cpp.
Referenced by FrtosTask().