23#define Q_NORETURN _Noreturn void
27#define QACTIVE_EQUEUE_TYPE QEQueue
30#define QACTIVE_OS_OBJ_TYPE void*
33#define QACTIVE_THREAD_TYPE void const *
37#define QF_INT_DISABLE() intDisable()
40#define QF_INT_ENABLE() intEnable()
55#define QF_CRIT_STAT crit_stat_t crit_stat_;
64#define QF_CRIT_ENTRY() (crit_stat_ = critEntry())
72#define QF_CRIT_EXIT() critExit(crit_stat_)
81 #define QF_ON_CONTEXT_SW 1U
84 #define QF_MEM_SYS() QF_onMemSys()
87 #define QF_MEM_APP() QF_onMemApp()
94#define QV_CPU_SLEEP() \
96 __disable_interrupt(); \
99 __enable_interrupt(); \
105#define QK_ISR_CONTEXT_() (QK_priv_.intNest != 0U)
108#define QK_ISR_ENTRY() \
111 ++QK_priv_.intNest; \
112 QF_QS_ISR_ENTRY(QK_priv_.intNest, QK_currPrio_); \
117#define QK_ISR_EXIT() \
120 --QK_priv_.intNest; \
121 if (QK_priv_.intNest == 0U) { \
122 if (QK_sched_() != 0U) { \
131#define QXK_ISR_CONTEXT_() (QXK_get_IPSR() != 0U)
134#define QXK_CONTEXT_SWITCH_() (trigPendSV())
137#define QXK_ISR_ENTRY() ((void)0)
140#define QXK_ISR_EXIT() do { \
142 if (QXK_sched_() != 0U) { \
143 *Q_UINT2PTR_CAST(uint32_t, 0xE000ED04U) = (1U << 28U);\
146 QXK_ARM_ERRATUM_838869(); \
QP native platform-independent thread-safe event queue interface.
QK/C (preemptive non-blocking kernel) platform-independent public interface.
QP native platform-independent memory pool QMPool interface.
QP/C platform-independent public interface.
crit_stat_t critEntry(void)
void critExit(crit_stat_t stat)