QP/C++  7.0.1
Real-Time Embedded Framework
uC-OS2
uC-OS2

About the QP 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-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.

Note
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).

Using this QP Port to uC-OS2

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

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 source code (and this port) in the application projects. There is no QP library to build.

However, this port can also be used as a library, in which case you need to build the QP library yourself and include in your project.

QP Source Files Needed in this QP Port

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

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

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

QP and uC-OS2

Zephyr