QXK dual-mode kernel (QXK namespace emulated as a "class" in C). More...
Static Public Member Functions | |
| void | QXK_onIdle (void) |
| QXK idle callback (customized in BSPs for QXK). | |
| QSchedStatus | QXK_schedLock (uint8_t const ceiling) |
| QXK selective scheduler lock. | |
| void | QXK_schedUnlock (QSchedStatus const stat) |
| QXK selective scheduler unlock. | |
| QActive * | QXK_current (void) |
| Obtain the currently executing active-object/thread. | |
| void | QXK_contextSw_ (QActive *const next) |
| QXK context switch management. | |
| __attribute__ ((used)) | |
Static Private Member Functions | |
| uint_fast8_t | QXK_sched_ (void) |
| QXK scheduler finds the highest-priority thread ready to run. | |
| void | QXK_activate_ (void) |
| QXK activator activates the next AO that preempts the currently executing AOs. | |
| void | QXK_threadExit_ (void) |
| called right before QXThread exits | |
Private Attributes | |
| QXK_Attr | QXK_priv_ |
QXK dual-mode kernel (QXK namespace emulated as a "class" in C).
See also
The QXK class is related to the following classes:
|
static |
QXK idle callback (customized in BSPs for QXK).
Details
QXK_onIdle() is called continuously by the QXK idle thread. This callback gives the application an opportunity to enter a power-saving CPU mode, or perform some other idle processing.
|
static |
QXK selective scheduler lock.
Details
This function locks the QXK scheduler to the specified ceiling.
| [in] | ceiling | preemption ceiling to which the QXK scheduler needs to be locked |
| lock-status | The previous QXK Scheduler lock status, which is to be used to unlock the scheduler by restoring its previous lock status in QXK_schedUnlock(). |
See also
Usage
The following example shows how to lock and unlock the QXK scheduler:
|
static |
QXK selective scheduler unlock.
Details
This function unlocks the QXK scheduler to the previous status.
| [in] | stat | previous QXK Scheduler lock status returned from QXK_schedLock() |
Usage
The following example shows how to lock and unlock the QXK scheduler:
|
static |
|
staticprivate |
QXK scheduler finds the highest-priority thread ready to run.
Details
The QXK scheduler finds the priority of the highest-priority thread that is ready to run.
| priority | 1-based priority of the the thread (basic or extended) run next, or zero if no eligible thread is found. |
|
staticprivate |
QXK activator activates the next AO that preempts the currently executing AOs.
Details
QXK_activate_() activates ready-to run AOs that are above the initial active priority (QXK_priv_.actPrio).
|
static |
QXK context switch management.
Details
This internal function handles context switch. It calls QF_onContextSw() (if #QF_ON_CONTEXT_SW is defined and performs software tracing (if Q_SPY is defined).
| [in] | next | pointer to the next thread (NULL for basic-thread) |
|
staticprivate |
called right before QXThread exits
Details
Called when the extended-thread handler function returns.