QV non-preemptive kernel.
More...
#include <qv.h>
|
| void | QV_onIdle (void) |
| | QV idle callback (customized in BSPs for QV).
|
QV non-preemptive kernel.
- See also
- Non-Preemptive Kernel
Definition at line 34 of file qv.h.
◆ QV_onIdle()
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.
◆ readySet
Set of active-objects/threads that are ready to run in the QV kernel.
Definition at line 35 of file qv.h.
◆ QV_priv_
Definition at line 42 of file qv.h.
The documentation for this class was generated from the following files: