Reference Manual For QP/C++ 8.1.5
Loading...
Searching...
No Matches
QP::QV Class Reference

QV non-preemptive kernel. More...

Static Public Member Functions

static void onIdle ()

Public Attributes

QPSet readySet
 Set of active-objects/threads that are ready to run in the QV kernel .

Static Public Attributes

static QV priv_

Detailed Description

QV non-preemptive kernel.

See also

Definition at line 36 of file qv.hpp.

Constructor & Destructor Documentation

◆ QV()

QP::QV::QV ( )
noexcept

Definition at line 56 of file qv.cpp.

Member Function Documentation

◆ onIdle()

void QP::QV::onIdle ( )
static

QV idle callback (customized in BSPs for QV)

QV::onIdle() is called by the non-preemptive QV kernel (from QF::run()) when the scheduler detects that no events are available for active objects (the idle condition). This callback gives the application an opportunity to enter a power-saving CPU mode, or perform some other idle processing (such as QS software tracing output).

Attention
QV::onIdle() is invoked with interrupts DISABLED because the idle condition can be asynchronously changed at any time by an interrupt. QV::onIdle() MUST enable the interrupts internally, but not before putting the CPU into the low-power mode. (Ideally, enabling interrupts and low-power mode should happen atomically). At the very least, the function MUST enable interrupts, otherwise interrupts will remain disabled permanently.

Member Data Documentation

◆ readySet

QPSet QP::QV::readySet

Set of active-objects/threads that are ready to run in the QV kernel .

Definition at line 38 of file qv.hpp.

◆ priv_

QV QP::QV::priv_
static

Definition at line 44 of file qv.hpp.