QP/C  8.0.0
Real-Time Embedded Framework
Loading...
Searching...
No Matches
qs_port.h
Go to the documentation of this file.
1//! @file
2//! @brief Sample QS/C port
3//!
4//! @code_litem{Details}
5//! This is just an example of a QS port for a 32-bit CPU.
6//! Other specific QS ports will define the QS facilities differently.
7//!
8//! @remark
9//! QS might be used with or without the other %QP Framework components,
10//! in which case the separate definitions of the macros QS_CRIT_STAT,
11//! QS_CRIT_ENTRY(), and QS_CRIT_EXIT() are needed. In this sample port QS is
12//! configured to be used with the other QP component, by simply including
13//! "qp_port.h" *before* "qs.h".
14
15#ifndef QS_PORT_H_
16#define QS_PORT_H_
17
18/*! @brief object pointer size in bytes (depends on the CPU)
19
20@code_litem{Details}
21- 2U => 2 bytes
22- 4U => 4 bytes (default)
23- 8U => 8 bytes
24
25@note
26#QS_OBJ_PTR_SIZE depends on the CPU/Compiler and is defined in `qs_port.h`. It cannot be overridden in `qp_config.h`.
27*/
28#define QS_OBJ_PTR_SIZE 4U
29
30/*! @brief function pointer size in bytes (depends on the CPU)
31
32@code_litem{Details}
33- 2U => 2 bytes
34- 4U => 4 bytes (default)
35- 8U => 8 bytes
36
37@note
38#QS_FUN_PTR_SIZE depends on the CPU/Compiler and is defined in `qs_port.h`. It cannot be overridden in `qp_config.h`.
39*/
40#define QS_FUN_PTR_SIZE 4U
41
42// NOTE: QS might be used with or without other QP components, in which
43// case the separate definitions of the macros QF_CRIT_STAT, QF_CRIT_ENTRY(),
44// and QF_CRIT_EXIT() are needed. In this port QS is configured to be used
45// with the other QP component, by simply including "qp_port.h"
46// *before* "qs.h".
47#ifndef QP_PORT_H_
48#include "qp_port.h" // use QS with QF
49#endif
50
51#include "qs.h" // QS platform-independent public interface
52
53#endif // QS_PORT_H_
Sample QP/C port.