The QP/C framework can be easily adapted to various operating systems, processor architectures, and compilers. Adapting the QP/C software is called porting and the QP/C framework has been designed from the ground up to make porting easy.
The QP/C distribution contains many QP/C ports, which are organized into the three categories:
All QP/C ports are located in sub-directories of the ports/
top-level directory, with the hierarchical organization outlined below:
[1a-b]
Native Ports are located in sub-directories named after the CPU architecture, such as arm-cm
for ARM Cortex-M or arm-cr
for ARM Cortex-R. Under that directory, the sub-directories qk
and qv
contain ports for the QK and QV kernels, respectively.
[2a-b]
Ports for 3rd-party RTOS are located in sub-directories named after the RTOS, such as embos
for embOS RTOS or freertos
for FreeRTOS.
[3a-b]
Ports for the POSIX OS Standard are located in sub-directories named posix
for the POSIX API (multi-threaded variant) and posix-qv
for the POSIX API (single-threaded) variant.
[4a-b]
Ports for the Win32 API are are located in sub-directories named win32
for the Win32 API (multi-threaded variant) and win32-qv
for the Win32 API (single-threaded) variant.
ports
folder may seem daunting. However, knowing the structure of the ports
folder, you can simply delete the sub-directories that are not relevant to you.