QP/C++  7.4.0-rc.1
Real-Time Embedded Framework
Loading...
Searching...
No Matches
uC-OS2
uC-OS2

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.

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

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
It is important to note that not all QP/C++ source files should be included in the build process. 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. Here is the list of QP/C++ 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/ // QP/C++ port to uC-OS2
| | qp_port.hpp
| | qf_port.cpp

Zephyr