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.