The QP-nano framework can be easily adapted to various operating systems, processor architectures, and compilers. Adapting the QP-nano software is called porting and the QP-nano framework has been designed from the ground up to make porting easy.
The QP-nano distribution contains many QP-nano ports, which are organized into the three categories:
Starting with QP-nano release 5.4.0, all available ports are bundled into the QP-nano download, as opposed to being distributed as separate QP Development Kits (QDKs). The main benefit is of this approach is that it greatly reduces chances of mistakes in combining the mainline QP-nano code with various QDKs. The downside is that the QP-nano distribution becomes quite large and that ports cannot be added or updated independently from the QP-nano baseline code.
All ports are located in sub-directories of the ports top-level folder, with the hierarchical organization outlined below:
arm-cm — Native ports for ARM-Cortex-M (bare-metal) A
A Native Ports are located in sub-directories named after the CPU architecture, such as arm-cm for ARM Cortex-M. Under that directory, the sub-directories qk and qv contain ports for the QK and QV kernels, respectively.