22#define Q_NORETURN [[ noreturn ]] void
26#define QACTIVE_EQUEUE_TYPE QEQueue
29#define QACTIVE_OS_OBJ_TYPE void*
32#define QACTIVE_THREAD_TYPE void const *
36#define QF_INT_DISABLE() intDisable()
39#define QF_INT_ENABLE() intEnable()
54#define QF_CRIT_STAT std::uint32_t crit_stat_;
63#define QF_CRIT_ENTRY() (crit_stat_ = critEntry())
71#define QF_CRIT_EXIT() critExit(crit_stat_)
87 #define QF_ON_CONTEXT_SW 1U
90 #define QF_MEM_SYS() QF_onMemSys()
93 #define QF_MEM_APP() QF_onMemApp()
100#define QV_CPU_SLEEP() \
102 __disable_interrupt(); \
105 __enable_interrupt(); \
111#define QK_ISR_CONTEXT_() (QK_priv_.intNest != 0U)
114#define QK_ISR_ENTRY() \
117 ++QK_priv_.intNest; \
118 QF_QS_ISR_ENTRY(QK_priv_.intNest, QK_currPrio_); \
123#define QK_ISR_EXIT() \
126 --QK_priv_.intNest; \
127 if (QK_priv_.intNest == 0U) { \
128 if (QK_sched_() != 0U) { \
137#define QXK_ISR_CONTEXT_() (QXK_get_IPSR() != 0U)
140#define QXK_CONTEXT_SWITCH_() (trigPendSV())
143#define QXK_ISR_ENTRY() ((void)0)
146#define QXK_ISR_EXIT() do { \
148 if (QXK_sched_() != 0U) { \
149 *Q_UINT2PTR_CAST(uint32_t, 0xE000ED04U) = (1U << 28U);\
152 QXK_ARM_ERRATUM_838869(); \
QP natvie, platform-independent, thread-safe event queue interface Backward Traceability
QK/C++ (preemptive non-blocking kernel) platform-independent public interface.
QP native, platform-independent memory pool QP::QMPool interface. Backward Traceability
QP/C++ platform-independent public interface.
std::uint32_t critEntry(void)
std::uint32_t QK_get_IPSR(void)
void critExit(std::uint32_t stat)