QP/C++  7.0.1
Real-Time Embedded Framework
qxk/gnu/qf_port.hpp File Reference

QF/C++ port to ARM Cortex-M, dual-mode QXK kernel, GNU-ARM toolset. More...

#include "qep_port.hpp"
#include "qxk_port.hpp"
#include "qf.hpp"
#include "qxthread.hpp"

Go to the source code of this file.

Macros

#define QF_MAX_TICK_RATE   2U
 
#define QF_MAX_ACTIVE   32U
 
#define QF_PRIMASK_DISABLE()   __asm volatile ("cpsid i")
 
#define QF_PRIMASK_ENABLE()   __asm volatile ("cpsie i")
 
#define QF_INT_DISABLE()
 
#define QF_INT_ENABLE()
 
#define QF_CRIT_STAT_TYPE   uint32_t
 
#define QF_CRIT_ENTRY(basepri_)
 
#define QF_CRIT_EXIT(basepri_)    __asm volatile ("msr BASEPRI,%0" :: "r" (basepri_) : )
 
#define QF_BASEPRI   0x3F
 
#define QF_AWARE_ISR_CMSIS_PRI   (QF_BASEPRI >> (8 - __NVIC_PRIO_BITS))
 
#define QF_LOG2(n_)
 
#define QF_CRIT_EXIT_NOP()   __asm volatile ("isb")
 

Macro Definition Documentation

◆ QF_MAX_TICK_RATE

#define QF_MAX_TICK_RATE   2U

Definition at line 42 of file qxk/gnu/qf_port.hpp.

◆ QF_MAX_ACTIVE

#define QF_MAX_ACTIVE   32U

Definition at line 70 of file qxk/gnu/qf_port.hpp.

◆ QF_PRIMASK_DISABLE

#define QF_PRIMASK_DISABLE ( )    __asm volatile ("cpsid i")

Definition at line 73 of file qxk/gnu/qf_port.hpp.

◆ QF_PRIMASK_ENABLE

#define QF_PRIMASK_ENABLE ( )    __asm volatile ("cpsie i")

Definition at line 74 of file qxk/gnu/qf_port.hpp.

◆ QF_INT_DISABLE

#define QF_INT_DISABLE ( )
Value:
__asm volatile (\
"cpsid i\n" "msr BASEPRI,%0\n" "cpsie i" :: "r" (QF_BASEPRI) : )
#define QF_BASEPRI

Definition at line 77 of file qxk/gnu/qf_port.hpp.

◆ QF_INT_ENABLE

#define QF_INT_ENABLE ( )
Value:
__asm volatile (\
"msr BASEPRI,%0" :: "r" (0) : )

Definition at line 79 of file qxk/gnu/qf_port.hpp.

◆ QF_CRIT_STAT_TYPE

#define QF_CRIT_STAT_TYPE   uint32_t

Definition at line 83 of file qxk/gnu/qf_port.hpp.

◆ QF_CRIT_ENTRY

#define QF_CRIT_ENTRY (   basepri_)
Value:
do { \
__asm volatile ("mrs %0,BASEPRI" : "=r" (basepri_) :: ); \
__asm volatile ("cpsid i\n msr BASEPRI,%0\n cpsie i" \
:: "r" (QF_BASEPRI) : ); \
} while (false)

Definition at line 84 of file qxk/gnu/qf_port.hpp.

◆ QF_CRIT_EXIT

#define QF_CRIT_EXIT (   basepri_)     __asm volatile ("msr BASEPRI,%0" :: "r" (basepri_) : )

Definition at line 89 of file qxk/gnu/qf_port.hpp.

◆ QF_BASEPRI

#define QF_BASEPRI   0x3F

Definition at line 93 of file qxk/gnu/qf_port.hpp.

◆ QF_AWARE_ISR_CMSIS_PRI

#define QF_AWARE_ISR_CMSIS_PRI   (QF_BASEPRI >> (8 - __NVIC_PRIO_BITS))

Definition at line 96 of file qxk/gnu/qf_port.hpp.

◆ QF_LOG2

#define QF_LOG2 (   n_)
Value:
(static_cast<std::uint_fast8_t>( \
32U - __builtin_clz(static_cast<unsigned>(n_))))

Definition at line 99 of file qxk/gnu/qf_port.hpp.

◆ QF_CRIT_EXIT_NOP

#define QF_CRIT_EXIT_NOP ( )    __asm volatile ("isb")

Definition at line 104 of file qxk/gnu/qf_port.hpp.