QP/C++  7.3.0
Real-Time Embedded Framework
No Matches

About the QP/C++ Port to uC-OS2

This directory contains a generic platform-independent QP/C++ port to uC-OS2 V2.92.

Typically, you should not need to change the files in this directory to adapt the QP/C++-uC-OS2 port on any CPU/Compiler to which uC-OS2 has been ported, because all the CPU and compiler specifics are handled by the uC-OS2 RTOS.

uC-OS2 Source and ARM Cortex-M3/M4 Ports

The uC-OS2 V2.92 source code and ports are located in 3rd_party/uc-os2. Please make sure to read about uC-OS2 licensing in the README file found in this directory.

The official Micrium ARM-Cortex-M ports have been modified by Quantum Leaps to remove the dependencies on the Micrium's uC-CPU and uC-LIB components, and instead to inter-operate with the Cortex Microcontroller Software Interface Standard (CMSIS).

Examples for the uC-OS2 Port

The example projects for this port are located in the examples/uc-os2/arm-cm/dpp_ek-tm4c123gxl folder.

Currently, ARM-KEIL and IAR-ARM toolsets are supported (in the arm and iar sub-directories within this example project).

The example projects use this port by directly including the QP/C++ source code (and this port) in the application projects. (There is no QP/C++ library to build.)

QP/C++ Source Files Needed in this QP/C++ Port

Whether you use this QP/C++ port as source files or as a library, it is important to note that not all QP/C++ source files should be included. Here is the list of QP/C++ source files needed:

| | +-qf/
| | | +-qep_hsm.c
| | | +-qep_msm.c
| | | +-qf_act.c
| | | +-qf_actq.c // NOT included (implemented in uC-OS2)
| | | +-qf_defer.c
| | | +-qf_dyn.c
| | | +-qf_mem.c // NOT included (implemented in uC-OS2)
| | | +-qf_ps.c
| | | +-qf_qeq.c
| | | +-qf_qmact.c
| | | +-qf_time.c
| |
| | +-qs/
| | | +-qs.c // included only in the Spy build configuration
| | | +-qs_fp.c // included only in the Spy build configuration
| +-uc-os2
| | +-qf_port.c
Specifically, the QP/C++ source files qf_actq.c and qf_mem.c must NOT be included in the build, because this functionality is taken from uC-OS2.

The QP/C++ ports and examples for uC-OS2 are described in the Quantum Leaps Application Note QP and uC-OS2.