The main purpose of integrating QP/C++ with conventional RTOSes is to enable you to incorporate various communication stacks (TCP/IP, USB, CAN, etc.) as well as other middleware, which requires the ability to block the task code.
Currently the following 3rd-party RTOSes are supported:
- embOS (directory examples/embos/)
- FreeRTOS (directory examples/freertos/)
- ThreadX (directory examples/threadx/)
- uC/OS-II (directory examples/ucos-ii/)
- Note
- You do not need to use a third-party RTOS just to achieve preemptive multitasking with QP/C++. The framework contains a selection of built-in real-time kernels, such as the cooperative QV kernel, the preemptive non-blocking QK kernel, and the preemptive, dual-mode, blocking QXK kernel. Specifically, the QXK kernel has been designed specifically for mixing event-driven active objects with traditional blocking code, such as commercial middleware (TCP/IP stacks, UDP stacks, embedded file systems, etc.) or legacy software.
Next: embOS examples