QP/C  7.3.4
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:

qpc/
+---src/
| +---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
|
+---ports/
| +---uc-os2/ // QP/C port to uC/OS2
| | qp_port.h
| | qf_port.c

Zephyr