QP/C Real-Time Event Framework 8.1.5
Loading...
Searching...
No Matches
QV Class Reference

QV non-preemptive kernel. More...

#include <qv.h>

Static Public Member Functions

void QV_onIdle (void)
 QV idle callback (customized in BSPs for QV).

Private Attributes

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

Detailed Description

QV non-preemptive kernel.

See also
Non-Preemptive Kernel

Definition at line 34 of file qv.h.

Member Function Documentation

◆ QV_onIdle()

void QV_onIdle ( void )
static

QV idle callback (customized in BSPs for QV).

Details
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 readySet
private

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

Definition at line 35 of file qv.h.

◆ QV_priv_

QV QV_priv_
private

Definition at line 42 of file qv.h.


The documentation for this class was generated from the following files: