|
QP-nano
|
Public QP-nano interface. More...
Go to the source code of this file.
Defines | |
| #define | QK_PREEMPTIVE 1 |
| Preprocessor switch for configuring preemptive real-time kernel (QK-nano). The macro is automatically defined by including the qkn.h file in qpn_port.h. | |
| #define | QK_SCHEDULE_() |
| The macro to invoke the QK scheduler in the QK_ISR_EXIT() | |
| #define | QK_schedule_() |
| QK-nano scheduler for backwards compatiblity. | |
Functions | |
| void | QK_init (void) |
| QK-nano initialization. | |
| uint8_t | QK_schedPrio_ (void) Q_REENTRANT |
| Find the highest-priority task ready to run. | |
| void | QK_sched_ (uint8_t p) Q_REENTRANT |
| QK-nano scheduler. | |
| void | QK_onIdle (void) |
| QK idle callback (customized in BSPs for QK) | |
Variables | |
| uint8_t volatile | QK_currPrio_ |
Public QP-nano interface.
This header file must be included in all modules that use QP-nano with preemptive kernel option. Typically, this header file is included indirectly through the header file qpn.h.
Definition in file qkn.h.
| #define QK_PREEMPTIVE 1 |
Preprocessor switch for configuring preemptive real-time kernel (QK-nano). The macro is automatically defined by including the qkn.h file in qpn_port.h.
| #define QK_schedule_ | ( | ) |
do { \ uint8_t p = QK_schedPrio_(); \ if (p != (uint8_t)0) { \ QK_sched_(p); \ } \ } while(0)
QK-nano scheduler for backwards compatiblity.
| void QK_init | ( | void | ) |
QK-nano initialization.
This function is optional and might be used in some QK-nano ports. When the function is defined, it must called exactly once before any other QK function, typically from the BSP initialization function.
| void QK_onIdle | ( | void | ) |
QK idle callback (customized in BSPs for QK)
QK_onIdle() is called continously by the QK-nano idle loop. This callback gives the application an opportunity to enter a power-saving CPU mode, or perform some other idle processing.
Referenced by QF_run().
| void QK_sched_ | ( | uint8_t | p | ) |
QK-nano scheduler.
Definition at line 125 of file qkn.c.
References QActive::nUsed, Q_ASSERT, Q_PAR, Q_PARAM_SIZE, Q_ROM, Q_ROM_BYTE, Q_ROM_PTR, Q_ROM_VAR, Q_SIG, QF_active, QF_INT_LOCK, QF_INT_UNLOCK, QF_readySet_, QFsm_dispatch(), QHsm_dispatch(), QK_currPrio_, and QActive::tail.
Referenced by QActive_post().
| uint8_t QK_schedPrio_ | ( | void | ) |
Find the highest-priority task ready to run.
Definition at line 98 of file qkn.c.
References Q_ROM_BYTE, and QF_readySet_.
Referenced by QActive_post().
| uint8_t volatile QK_currPrio_ |
1.7.5.1