QP/C++  7.0.1
Real-Time Embedded Framework
qk_port.hpp File Reference

QK/C++ port to ARM Cortex-M, preempive QK kernel, GNU-ARM. More...

#include "qk.hpp"

Go to the source code of this file.

Macros

#define QK_ISR_CONTEXT_()   (QK_get_IPSR() != 0U)
 
#define QK_ISR_ENTRY()   ((void)0)
 
#define QK_ISR_EXIT()
 
#define QK_ARM_ERRATUM_838869()    __asm volatile ("dsb" ::: "memory")
 
#define QK_INIT()   QK_init()
 

Functions

 __attribute__ ((always_inline)) static inline uint32_t QK_get_IPSR(void)
 
void QK_init (void)
 
void QK_thread_ret (void)
 

Detailed Description

Date
Last updated on: 2022-05-02
Version
Last updated for: Version 7.0.0, 2022-04-30

Definition in file qk_port.hpp.

Macro Definition Documentation

◆ QK_ISR_CONTEXT_

#define QK_ISR_CONTEXT_ ( )    (QK_get_IPSR() != 0U)

Definition at line 34 of file qk_port.hpp.

◆ QK_ISR_ENTRY

#define QK_ISR_ENTRY ( )    ((void)0)

Definition at line 44 of file qk_port.hpp.

◆ QK_ISR_EXIT

#define QK_ISR_EXIT ( )
Value:
do { \
QF_INT_DISABLE(); \
if (QK_sched_() != 0U) { \
*Q_UINT2PTR_CAST(uint32_t, 0xE000ED04U) = (1U << 28U);\
} \
QF_INT_ENABLE(); \
QK_ARM_ERRATUM_838869(); \
} while (false)
#define Q_UINT2PTR_CAST(type_, uint_)
Perform cast from unsigned integer uint_ to pointer of type type_.
Definition: qep.hpp:102
std::uint_fast8_t QK_sched_(void) noexcept
QK scheduler finds the highest-priority thread ready to run.
Definition: qk.cpp:321

Definition at line 46 of file qk_port.hpp.

◆ QK_ARM_ERRATUM_838869

#define QK_ARM_ERRATUM_838869 ( )     __asm volatile ("dsb" ::: "memory")

Definition at line 62 of file qk_port.hpp.

◆ QK_INIT

#define QK_INIT ( )    QK_init()

Definition at line 79 of file qk_port.hpp.

Function Documentation

◆ __attribute__()

__attribute__ ( (always_inline)  )

Definition at line 36 of file qk_port.hpp.

◆ QK_init()

void QK_init ( void  )

Definition at line 73 of file qk_port.cpp.

◆ QK_thread_ret()

void QK_thread_ret ( void  )