QP/C++ 6.9.3
qk_port.hpp File Reference

QK/C++ port to Lint, Generic C++ compiler. More...

#include "qk.hpp"
Include dependency graph for qk_port.hpp:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Macros

#define QK_ON_CONTEXT_SW   1
 enable the context-switch callback More...
 
#define QK_ISR_ENTRY()
 Define the ISR entry sequence, if the compiler supports writing interrupts in C++. More...
 
#define QK_ISR_EXIT()
 Define the ISR exit sequence, if the compiler supports writing interrupts in C++. More...
 

Functions

void FPU_save (void *ctx)
 
void FPU_restore (void *ctx)
 

Variables

void * impure_ptr
 

Detailed Description

QK/C++ port to Lint, Generic C++ compiler.

Definition in file qk_port.hpp.

Macro Definition Documentation

◆ QK_ON_CONTEXT_SW

#define QK_ON_CONTEXT_SW   1

enable the context-switch callback

Definition at line 45 of file qk_port.hpp.

◆ QK_ISR_ENTRY

#define QK_ISR_ENTRY ( )
Value:
do { \
} while (false)
QK_Attr QK_attr_
global attributes of the QK kernel
Definition: qk.cpp:60
std::uint8_t volatile intNest
ISR nesting level.
Definition: qk.hpp:72

Define the ISR entry sequence, if the compiler supports writing interrupts in C++.

Note
This is just an example of QK_ISR_ENTRY. You need to define the macro appropriately for the CPU/compiler you're using. Also, some QK ports will not define this macro, but instead will provide ISR skeleton code in assembly.

Definition at line 56 of file qk_port.hpp.

◆ QK_ISR_EXIT

#define QK_ISR_EXIT ( )
Value:
do { \
if (QK_attr_.intNest == 0U) { \
if (QK_sched_() != 0U) { \
QK_activate_(); \
} \
} \
else { \
Q_ERROR(); \
} \
} while (false)
std::uint_fast8_t QK_sched_(void) noexcept
QK scheduler finds the highest-priority thread ready to run.
Definition: qk.cpp:329

Define the ISR exit sequence, if the compiler supports writing interrupts in C++.

Note
This is just an example of QK_ISR_EXIT. You need to define the macro appropriately for the CPU/compiler you're using. Also, some QK ports will not define this macro, but instead will provide ISR skeleton code in assembly.

Definition at line 67 of file qk_port.hpp.

Function Documentation

◆ FPU_save()

void FPU_save ( void *  ctx)

◆ FPU_restore()

void FPU_restore ( void *  ctx)

Variable Documentation

◆ impure_ptr

void* impure_ptr
extern