Sample QP/C configuration file. More...
Go to the source code of this file.
Macros | |
#define | QP_API_VERSION 0 |
QP Framework API backwards-compatibility version. | |
#define | Q_UNSAFE |
Disable the QP Functional Safety (FuSa) Subsystem. | |
#define | Q_SIGNAL_SIZE 2U |
Size of the QEvt signal [bytes]. | |
#define | QF_MAX_ACTIVE 32U |
Maximum # Active Objects in the system (1..64) | |
#define | QF_MAX_EPOOL 3U |
Maximum # event pools in the system (0..15) | |
#define | QF_MAX_TICK_RATE 1U |
Maximum # clock tick rates in the system (0..15) | |
#define | QEVT_PAR_INIT |
Event parameter initialization (RAII) for dynamic events. | |
#define | QACTIVE_CAN_STOP |
Enable the Active Object stop API. | |
#define | QF_EVENT_SIZ_SIZE 2U |
Maximum size of dynamic events managed by QP. | |
#define | QF_TIMEEVT_CTR_SIZE 4U |
Time event counter size. | |
#define | QF_EQUEUE_CTR_SIZE 1U |
Event queue counter size. | |
#define | QF_MPOOL_CTR_SIZE 2U |
Memory pool counter size (QF_MPOOL_CTR_SIZE) | |
#define | QF_MPOOL_SIZ_SIZE 2U |
Memory block size (QF_MPOOL_SIZ_SIZE) | |
#define | QS_TIME_SIZE 4U |
QS timestamp size (QS_TIME_SIZE) | |
#define | QS_CTR_SIZE 2U |
QS buffer counter size (QS_CTR_SIZE) | |
#define | QF_ON_CONTEXT_SW |
Enable context switch callback WITHOUT QS. | |
#define | QF_MEM_ISOLATE |
Enable MPU memory isolation. | |
#define | QK_USE_IRQ_NUM 31 |
Use IRQ handler for QK return-from-preemption in ARM Cortex-M. | |
#define | QK_USE_IRQ_HANDLER Reserved31_IRQHandler |
Use IRQ handler for QK return-from-preemption in ARM Cortex-M. | |
#define | QXK_USE_IRQ_NUM 31 |
Use IRQ handler for QXK return-from-preemption in ARM Cortex-M. | |
#define | QXK_USE_IRQ_HANDLER Reserved31_IRQHandler |
Use IRQ handler for QK return-from-preemption in ARM Cortex-M. | |
Sample QP/C configuration file.
This an example of a QP/C configuration file with the explanation of the available configuration macros. The qp_config.h
file is optional and does not need to be provided (see the description of the QP_CONFIG macro below). In that case, all the listed configuration macros will be set at their default values.
qp_config.h
configuration file takes effect only when the command-line macro QP_CONFIG is defined.Also, if the qp_config.h
file is provided and enabled (by defining the command-line macro QP_CONFIG), but any of the listed configuration macros is not defined in the provided file, the default value will be used.
The qp_config.h
header files provided in the various QP/C examples are formatted to support the "Configuration Wizard" editor available in some IDEs (e.g., KEIL uVision). The screen shot below shows how to edit qp_config.h
in that mode.
Definition in file qp_config.h.
#define QP_API_VERSION 0 |
QP Framework API backwards-compatibility version.
QP API backwards compatibility with the QP/C API version. Lower QP_API_VERSION
values enable backwards compatibility with lower (older) QP API versions.
For example, QP_API_VERSION==691
will enable the compatibility layer with QP version 6.9.1 and newer, but not older than 6.9.1. QP_API_VERSION==0
enables the maximum currently supported backwards compatibility. Conversely, QP_API_VERSION==9999
means that no backwards compatibility layer should be enabled. Default: 0 (All supported)
Definition at line 61 of file qp_config.h.
#define Q_UNSAFE |
Disable the QP Functional Safety (FuSa) Subsystem.
Defining the macro Q_UNSAFE
disables QP FuSa Subsystem, which consists of the following facilities:
Default: undefined
Q_UNSAFE
), especially in the final production release, CONTRADICTS the most fundamental principles of functional safety and is NOT recommended. Definition at line 86 of file qp_config.h.
#define Q_SIGNAL_SIZE 2U |
Size of the QEvt signal [bytes].
This macro controls the dynamic range of event signals.
Definition at line 101 of file qp_config.h.
#define QF_MAX_ACTIVE 32U |
Maximum # Active Objects in the system (1..64)
Defines the maximum # Active Objects that QP Framework can manage at any time.
Definition at line 118 of file qp_config.h.
#define QF_MAX_EPOOL 3U |
Maximum # event pools in the system (0..15)
Definition at line 128 of file qp_config.h.
#define QF_MAX_TICK_RATE 1U |
Maximum # clock tick rates in the system (0..15)
Definition at line 138 of file qp_config.h.
#define QEVT_PAR_INIT |
Event parameter initialization (RAII) for dynamic events.
When defined, the macro activates initialization of event parameters while creating dynamic events. This could be use for Resource Acquisition Is Initialization (RAII) for dynamic events.
Default: undefined
Definition at line 156 of file qp_config.h.
#define QACTIVE_CAN_STOP |
Enable the Active Object stop API.
When defined, enable Active Object stop API (Not recommended)
Default: undefined
Definition at line 167 of file qp_config.h.
#define QF_EVENT_SIZ_SIZE 2U |
Maximum size of dynamic events managed by QP.
This macro controls the maximum size of dynamic events managed by QP Framework.
Default: 2 byte dynamic range (64K bytes maximum event size)
Definition at line 180 of file qp_config.h.
#define QF_TIMEEVT_CTR_SIZE 4U |
Time event counter size.
This macro controls the dynamic range of timeouts allowed in QTimeEvt. The timeouts are counted in tick of the associated clock tick rate.
Default: 4 bytes (2^32 dynamic range)
Definition at line 195 of file qp_config.h.
#define QF_EQUEUE_CTR_SIZE 1U |
Event queue counter size.
This macro controls the maximum number of events that QEQueue can hold
Default: 1 (maximum 255 events in a queue)
Definition at line 209 of file qp_config.h.
#define QF_MPOOL_CTR_SIZE 2U |
Memory pool counter size (QF_MPOOL_CTR_SIZE)
This macro controls the maximum number of memory blocks that QMPool can hold
Default: 2 bytes (up to 65535 memory blocks maximum in a pool)
Definition at line 223 of file qp_config.h.
#define QF_MPOOL_SIZ_SIZE 2U |
Memory block size (QF_MPOOL_SIZ_SIZE)
This macro controls the maximum size of memory blocks that QMPool can hold.
Default: 2 byte dynamic range (64K bytes maximum block size)
Definition at line 236 of file qp_config.h.
#define QS_TIME_SIZE 4U |
QS timestamp size (QS_TIME_SIZE)
This macro controls the dynamic range of timestamp produced by QS software tracing.
Default: 4 bytes (2^32 dynamic range)
Definition at line 258 of file qp_config.h.
#define QS_CTR_SIZE 2U |
QS buffer counter size (QS_CTR_SIZE)
This macro controls the maximum number of bytes held in the QS TX/RX buffers.
Default: 2 bytes (maximum 65535 bytes in QS buffers)
Definition at line 272 of file qp_config.h.
#define QF_ON_CONTEXT_SW |
#define QF_MEM_ISOLATE |
Enable MPU memory isolation.
When defined, enables memory isolation (requires MPU)
Definition at line 295 of file qp_config.h.
#define QK_USE_IRQ_NUM 31 |
Use IRQ handler for QK return-from-preemption in ARM Cortex-M.
If QK_USE_IRQ_NUM macro is defined, it specifies the IRQ number in ARM Cortex-M to be used as the exception for return-from-preemption in the QK kernel.
This macro should be defined only if the NMI handler is utilized in the project. The specified IRQ number must be otherwise unused.
Default: undefined
Definition at line 314 of file qp_config.h.
#define QK_USE_IRQ_HANDLER Reserved31_IRQHandler |
Use IRQ handler for QK return-from-preemption in ARM Cortex-M.
If QK_USE_IRQ_HANDLER macro is defined, it specifies the IRQ handler name in ARM Cortex-M to be used as the exception for return-from-preemption in the QK kernel.
This macro should be defined only if the NMI handler is utilized in the project. The specified IRQ handler must be otherwise unused.
Definition at line 330 of file qp_config.h.
#define QXK_USE_IRQ_NUM 31 |
Use IRQ handler for QXK return-from-preemption in ARM Cortex-M.
If QXK_USE_IRQ_NUM macro is defined, it specifies the IRQ number in ARM Cortex-M to be used as the exception for return-from-preemption in the QXK kernel.
This macro should be defined only if the NMI handler is utilized in the project. The specified IRQ number must be otherwise unused.
Default: undefined
Definition at line 348 of file qp_config.h.
#define QXK_USE_IRQ_HANDLER Reserved31_IRQHandler |
Use IRQ handler for QK return-from-preemption in ARM Cortex-M.
If QXK_USE_IRQ_HANDLER macro is defined, it specifies the IRQ handler name in ARM Cortex-M to be used as the exception for return-from-preemption in the QK kernel.
This macro should be defined only if the NMI handler is utilized in the project. The specified IRQ handler must be otherwise unused.
Default: undefined
Definition at line 366 of file qp_config.h.