|
SuperTinyKernel™ RTOS 1.08.x
Lightweight, high-performance, deterministic, bare-metal C++ RTOS for resource-constrained embedded systems. MIT Open Source License.
|
Classes | |
| class | StkThread |
| class | ScopedWaitKind |
| class | StkBytePool |
| class | StkTimerThread |
Variables | |
| stk::TId | g_TimerTid = stk::TID_NONE |
| volatile bool | g_IntDisabled = false |
| int64_t | g_TimeOffset = 0 |
| const size_t | BLOCK_HDR_SIZE = sizeof(void *) |
| StkBytePool * | g_BytePools = nullptr |
| StkTimerThread | g_TimerThread |
| stk::sync::Event | g_TimerEvent (false, false) |
| TX_TIMER * | g_TimerHead = nullptr |
| __stk_forceinline stk::memory::BlockMemoryPool * anonymous_namespace{threadx_stk.cpp}::BlockPoolOf | ( | TX_BLOCK_POOL * | p | ) |
Definition at line 1938 of file threadx_stk.cpp.
References __stk_forceinline, BlockPoolOf(), and TX_BLOCK_POOL_STRUCT::tx_block_pool_stk_storage.
Referenced by BlockPoolOf().
| StkBytePool * anonymous_namespace{threadx_stk.cpp}::BytePoolFind | ( | const void * | mem | ) |
Definition at line 2217 of file threadx_stk.cpp.
References BytePoolFind(), anonymous_namespace{threadx_stk.cpp}::StkBytePool::Contains(), g_BytePools, and anonymous_namespace{threadx_stk.cpp}::StkBytePool::m_next.
Referenced by BytePoolFind().
| void anonymous_namespace{threadx_stk.cpp}::BytePoolLink | ( | StkBytePool * | p | ) |
Definition at line 2192 of file threadx_stk.cpp.
References BytePoolLink(), g_BytePools, and anonymous_namespace{threadx_stk.cpp}::StkBytePool::m_next.
Referenced by BytePoolLink().
| __stk_forceinline StkBytePool * anonymous_namespace{threadx_stk.cpp}::BytePoolOf | ( | TX_BYTE_POOL * | p | ) |
Definition at line 2182 of file threadx_stk.cpp.
References __stk_forceinline, BytePoolOf(), and TX_BYTE_POOL_STRUCT::tx_byte_pool_stk_storage.
Referenced by BytePoolOf().
| void anonymous_namespace{threadx_stk.cpp}::BytePoolUnlink | ( | StkBytePool * | p | ) |
Definition at line 2199 of file threadx_stk.cpp.
References BytePoolUnlink(), g_BytePools, and anonymous_namespace{threadx_stk.cpp}::StkBytePool::m_next.
Referenced by BytePoolUnlink().
| __stk_forceinline bool anonymous_namespace{threadx_stk.cpp}::CanBlock | ( | ULONG | wait_option | ) |
Definition at line 291 of file threadx_stk.cpp.
References __stk_forceinline, CanBlock(), CurrentThread(), and TX_NO_WAIT.
Referenced by CanBlock(), and QueueSend().
| StkThread * anonymous_namespace{threadx_stk.cpp}::CurrentThread | ( | ) |
Definition at line 224 of file threadx_stk.cpp.
References CurrentThread(), g_TimerTid, stk::GetTid(), stk::GetUserTaskFromTid(), InIsr(), KernelRunning(), and stk::TID_NONE.
Referenced by CanBlock(), CurrentThread(), and anonymous_namespace{threadx_stk.cpp}::ScopedWaitKind::ScopedWaitKind().
| __stk_forceinline stk::sync::EventFlags * anonymous_namespace{threadx_stk.cpp}::EfOf | ( | TX_EVENT_FLAGS_GROUP * | g | ) |
Definition at line 1473 of file threadx_stk.cpp.
References __stk_forceinline, EfOf(), and TX_EVENT_FLAGS_GROUP_STRUCT::tx_event_flags_group_stk_storage.
Referenced by EfOf().
| UINT anonymous_namespace{threadx_stk.cpp}::EnsureTimerThread | ( | ) |
Definition at line 2592 of file threadx_stk.cpp.
References EnsureTimerThread(), g_StkKernel, g_TimerThread, g_TimerTid, stk::GetTidFromUserTask(), TX_NO_MEMORY, TX_STK_MAX_THREADS, and TX_SUCCESS.
Referenced by EnsureTimerThread().
|
static |
Definition at line 256 of file threadx_stk.cpp.
References FillSuspended(), stk::ISyncObject::GetFirstWaiterTid(), stk::util::DListHead< T, TClosedLoop >::GetSize(), stk::ISyncObject::GetWaitList(), ThreadFromTid(), and stk::TID_NONE.
Referenced by FillSuspended(), and FillSuspended().
|
static |
Definition at line 274 of file threadx_stk.cpp.
References FillSuspended(), stk::sync::EventFlags::GetFirstWaiterTid(), stk::util::DListHead< T, TClosedLoop >::GetSize(), stk::sync::EventFlags::GetWaitList(), ThreadFromTid(), and stk::TID_NONE.
| __stk_forceinline bool anonymous_namespace{threadx_stk.cpp}::InIsr | ( | ) |
Definition at line 63 of file threadx_stk.cpp.
References __stk_forceinline, InIsr(), and stk::hw::IsInsideISR().
Referenced by CurrentThread(), InIsr(), and WaitThreadRemoved().
| __stk_forceinline bool anonymous_namespace{threadx_stk.cpp}::IsValidBlockPool | ( | const TX_BLOCK_POOL * | p | ) |
Definition at line 1942 of file threadx_stk.cpp.
References __stk_forceinline, IsValidBlockPool(), TX_BLOCK_POOL_ID, and TX_BLOCK_POOL_STRUCT::tx_block_pool_id.
Referenced by IsValidBlockPool().
| __stk_forceinline bool anonymous_namespace{threadx_stk.cpp}::IsValidBytePool | ( | const TX_BYTE_POOL * | p | ) |
Definition at line 2186 of file threadx_stk.cpp.
References __stk_forceinline, IsValidBytePool(), TX_BYTE_POOL_ID, and TX_BYTE_POOL_STRUCT::tx_byte_pool_id.
Referenced by IsValidBytePool().
| __stk_forceinline bool anonymous_namespace{threadx_stk.cpp}::IsValidEf | ( | const TX_EVENT_FLAGS_GROUP * | g | ) |
Definition at line 1477 of file threadx_stk.cpp.
References __stk_forceinline, IsValidEf(), TX_EVENT_FLAGS_GROUP_STRUCT::tx_event_flags_group_id, and TX_EVENT_FLAGS_ID.
Referenced by IsValidEf().
| __stk_forceinline bool anonymous_namespace{threadx_stk.cpp}::IsValidMutex | ( | const TX_MUTEX * | m | ) |
Definition at line 1110 of file threadx_stk.cpp.
References __stk_forceinline, IsValidMutex(), TX_MUTEX_ID, and TX_MUTEX_STRUCT::tx_mutex_id.
Referenced by IsValidMutex().
| __stk_forceinline bool anonymous_namespace{threadx_stk.cpp}::IsValidQueue | ( | const TX_QUEUE * | q | ) |
Definition at line 1705 of file threadx_stk.cpp.
References __stk_forceinline, IsValidQueue(), TX_QUEUE_ID, and TX_QUEUE_STRUCT::tx_queue_id.
Referenced by IsValidQueue(), and QueueSend().
| __stk_forceinline bool anonymous_namespace{threadx_stk.cpp}::IsValidSem | ( | const TX_SEMAPHORE * | s | ) |
Definition at line 1266 of file threadx_stk.cpp.
References __stk_forceinline, IsValidSem(), TX_SEMAPHORE_ID, and TX_SEMAPHORE_STRUCT::tx_semaphore_id.
Referenced by IsValidSem().
| __stk_forceinline bool anonymous_namespace{threadx_stk.cpp}::IsValidThread | ( | const TX_THREAD * | tx | ) |
Definition at line 218 of file threadx_stk.cpp.
References __stk_forceinline, IsValidThread(), TX_THREAD_ID, and TX_THREAD_STRUCT::tx_thread_id.
Referenced by IsValidThread().
| __stk_forceinline bool anonymous_namespace{threadx_stk.cpp}::IsValidTimer | ( | const TX_TIMER * | t | ) |
Definition at line 2614 of file threadx_stk.cpp.
References __stk_forceinline, IsValidTimer(), TX_TIMER_ID, and TX_TIMER_STRUCT::tx_timer_id.
Referenced by IsValidTimer().
| __stk_forceinline bool anonymous_namespace{threadx_stk.cpp}::KernelInitialized | ( | ) |
Definition at line 73 of file threadx_stk.cpp.
References __stk_forceinline, g_StkKernel, KernelInitialized(), and stk::IKernel::KSTATE_INACTIVE.
Referenced by KernelInitialized().
| __stk_forceinline bool anonymous_namespace{threadx_stk.cpp}::KernelRunning | ( | ) |
Definition at line 68 of file threadx_stk.cpp.
References __stk_forceinline, g_StkKernel, KernelRunning(), and stk::IKernel::KSTATE_RUNNING.
Referenced by CurrentThread(), KernelRunning(), and WaitThreadRemoved().
| __stk_forceinline stk::sync::Mutex * anonymous_namespace{threadx_stk.cpp}::MutexOf | ( | TX_MUTEX * | m | ) |
Definition at line 1106 of file threadx_stk.cpp.
References __stk_forceinline, MutexOf(), and TX_MUTEX_STRUCT::tx_mutex_stk_storage.
Referenced by MutexOf().
| __stk_forceinline stk::sync::MessageQueue * anonymous_namespace{threadx_stk.cpp}::QueueOf | ( | TX_QUEUE * | q | ) |
Definition at line 1701 of file threadx_stk.cpp.
References __stk_forceinline, QueueOf(), and TX_QUEUE_STRUCT::tx_queue_stk_storage.
Referenced by QueueOf(), and QueueSend().
| UINT anonymous_namespace{threadx_stk.cpp}::QueueSend | ( | TX_QUEUE * | queue_ptr, |
| void * | source_ptr, | ||
| ULONG | wait_option, | ||
| bool | front ) |
Definition at line 1832 of file threadx_stk.cpp.
References CanBlock(), IsValidQueue(), stk::sync::MessageQueue::PutEx(), stk::sync::MessageQueue::PutFrontEx(), QueueOf(), QueueSend(), ToStkTimeout(), TX_PTR_ERROR, TX_QUEUE_ERROR, TX_QUEUE_FULL, TX_QUEUE_STRUCT::tx_queue_send_notify, TX_QUEUE_SUSP, TX_SUCCESS, TX_WAIT_ERROR, VOID, and WaitResultToTx().
Referenced by QueueSend().
Definition at line 383 of file threadx_stk.cpp.
References g_StkKernel, anonymous_namespace{threadx_stk.cpp}::StkThread::m_registered, anonymous_namespace{threadx_stk.cpp}::StkThread::m_removed, anonymous_namespace{threadx_stk.cpp}::StkThread::m_tx, RegisterThread(), TX_READY, TX_START_ERROR, TX_STK_MAX_THREADS, TX_SUCCESS, and TX_THREAD_STRUCT::tx_thread_state.
Referenced by RegisterThread().
| __stk_forceinline stk::sync::Semaphore * anonymous_namespace{threadx_stk.cpp}::SemOf | ( | TX_SEMAPHORE * | s | ) |
Definition at line 1262 of file threadx_stk.cpp.
References __stk_forceinline, SemOf(), and TX_SEMAPHORE_STRUCT::tx_semaphore_stk_storage.
Referenced by SemOf().
Definition at line 241 of file threadx_stk.cpp.
References g_TimerTid, stk::GetUserTaskFromTid(), stk::IsIsrTid(), ThreadFromTid(), and stk::TID_NONE.
Referenced by FillSuspended(), FillSuspended(), and ThreadFromTid().
| __stk_forceinline StkThread * anonymous_namespace{threadx_stk.cpp}::ThreadOf | ( | TX_THREAD * | tx | ) |
Definition at line 213 of file threadx_stk.cpp.
References __stk_forceinline, ThreadOf(), and TX_THREAD_STRUCT::tx_thread_stk_storage.
Referenced by ThreadOf(), and ThreadStateOf().
Definition at line 335 of file threadx_stk.cpp.
References g_StkKernel, anonymous_namespace{threadx_stk.cpp}::StkThread::m_registered, anonymous_namespace{threadx_stk.cpp}::StkThread::m_removed, anonymous_namespace{threadx_stk.cpp}::StkThread::m_wait_kind, stk::TaskStateInfo::state, stk::TASK_STATE_EXITING, stk::TASK_STATE_READY, stk::TASK_STATE_REMOVED, stk::TASK_STATE_SLEEPING, stk::TASK_STATE_SUSPENDED, stk::TASK_STATE_WAITING, ThreadOf(), ThreadStateOf(), TX_COMPLETED, TX_READY, TX_SLEEP, TX_SUSPENDED, TX_THREAD_STRUCT::tx_thread_state, and stk::WAIT_INFINITE.
Referenced by ThreadStateOf().
| bool anonymous_namespace{threadx_stk.cpp}::TimerListInsert | ( | TX_TIMER * | t | ) |
Definition at line 2491 of file threadx_stk.cpp.
References g_TimerHead, TimerListInsert(), TX_TIMER_STRUCT::tx_timer_stk_expiry, TX_TIMER_STRUCT::tx_timer_stk_next, and TX_TIMER_STRUCT::tx_timer_stk_prev.
Referenced by anonymous_namespace{threadx_stk.cpp}::StkTimerThread::Run(), and TimerListInsert().
| void anonymous_namespace{threadx_stk.cpp}::TimerListRemove | ( | TX_TIMER * | t | ) |
Definition at line 2470 of file threadx_stk.cpp.
References g_TimerHead, TimerListRemove(), TX_TIMER_STRUCT::tx_timer_stk_next, and TX_TIMER_STRUCT::tx_timer_stk_prev.
Referenced by anonymous_namespace{threadx_stk.cpp}::StkTimerThread::Run(), and TimerListRemove().
| __stk_forceinline stk::Timeout anonymous_namespace{threadx_stk.cpp}::ToStkTimeout | ( | ULONG | wait_option | ) |
Definition at line 79 of file threadx_stk.cpp.
References __stk_forceinline, stk::NO_WAIT, ToStkTimeout(), TX_NO_WAIT, and stk::WAIT_INFINITE.
Referenced by QueueSend(), and ToStkTimeout().
| __stk_forceinline stk::Weight anonymous_namespace{threadx_stk.cpp}::ToStkWeight | ( | UINT | priority, |
| UINT | threshold ) |
Definition at line 100 of file threadx_stk.cpp.
References __stk_forceinline, stk::SwitchStrategyPreemptionThreshold< 32, true >::FromThreadX(), and ToStkWeight().
Referenced by anonymous_namespace{threadx_stk.cpp}::StkTimerThread::GetWeight(), anonymous_namespace{threadx_stk.cpp}::StkThread::StkThread(), and ToStkWeight().
| __stk_forceinline UINT anonymous_namespace{threadx_stk.cpp}::WaitResultToTx | ( | stk::EWaitResult | wr, |
| UINT | timeout_status ) |
Definition at line 107 of file threadx_stk.cpp.
References __stk_forceinline, TX_SUCCESS, TX_WAIT_ABORTED, TX_WAIT_ERROR, stk::WAIT_RESULT_CANCELED, stk::WAIT_RESULT_FAIL, stk::WAIT_RESULT_SIGNAL, stk::WAIT_RESULT_TIMEOUT, and WaitResultToTx().
Referenced by QueueSend(), and WaitResultToTx().
| bool anonymous_namespace{threadx_stk.cpp}::WaitThreadRemoved | ( | const StkThread * | th | ) |
Definition at line 404 of file threadx_stk.cpp.
References InIsr(), KernelRunning(), anonymous_namespace{threadx_stk.cpp}::StkThread::m_removed, stk::Sleep(), and WaitThreadRemoved().
Referenced by WaitThreadRemoved().
| const size_t anonymous_namespace{threadx_stk.cpp}::BLOCK_HDR_SIZE = sizeof(void *) |
Definition at line 1936 of file threadx_stk.cpp.
| StkBytePool* anonymous_namespace{threadx_stk.cpp}::g_BytePools = nullptr |
Definition at line 2180 of file threadx_stk.cpp.
Referenced by BytePoolFind(), BytePoolLink(), and BytePoolUnlink().
| volatile bool anonymous_namespace{threadx_stk.cpp}::g_IntDisabled = false |
Definition at line 438 of file threadx_stk.cpp.
| int64_t anonymous_namespace{threadx_stk.cpp}::g_TimeOffset = 0 |
Definition at line 465 of file threadx_stk.cpp.
| stk::sync::Event anonymous_namespace{threadx_stk.cpp}::g_TimerEvent(false, false) | ( | false | , |
| false | ) |
Referenced by anonymous_namespace{threadx_stk.cpp}::StkTimerThread::Run().
| TX_TIMER* anonymous_namespace{threadx_stk.cpp}::g_TimerHead = nullptr |
Definition at line 2466 of file threadx_stk.cpp.
Referenced by anonymous_namespace{threadx_stk.cpp}::StkTimerThread::Run(), TimerListInsert(), and TimerListRemove().
| StkTimerThread anonymous_namespace{threadx_stk.cpp}::g_TimerThread |
Definition at line 2464 of file threadx_stk.cpp.
Referenced by EnsureTimerThread().
| stk::TId anonymous_namespace{threadx_stk.cpp}::g_TimerTid = stk::TID_NONE |
Definition at line 61 of file threadx_stk.cpp.
Referenced by CurrentThread(), EnsureTimerThread(), and ThreadFromTid().