QP is a family of lightweight software frameworks for building responsive and modular real-time embedded applications as systems of cooperating, event-driven active objects (actors). The QP family consists of QP/C, QP/C++, and QP-nano frameworks, which are all strictly quality controlled, superbly documented, and commercially licensable. The behavior of active objects is specified in QP by means of hierarchical state machines (UML statecharts). The frameworks support manual coding of UML state machines in C or C++ as well as automatic code generation by means of the free QM modeling tool. All QP frameworks can run on bare-metal MCUs, completely replacing a traditional RTOS. Ports and ready-to-use examples are provided for all major CPUs, such as ARM Cortex-M, ARM7/9, MSP430, C28x, C55x, RX, R8C, AVR32, AVRMega, PIC24/dsPIC, as well as Arduino and mbed. QP/C and QP/C++ can also work with a traditional OS/RTOS, such as: POSIX (Linux, QNX), Windows, VxWorks, ThreadX, and uC/OS.
RT-Thread RTOS is a real-time operating system for 16-bit to 32-bit microcontrollers, with components which include a hard real-time kernel, a command line shell, a device virtual file system, and a graphic user interface. RT-Thread/GUI is a graphic user interface integrated with RT-Thread. It provides a multi-window, multi-thread graphic user interface. Rich widgets are implemented in RT-Thread/GUI, such as label, button, checkbox, textbox, etc. The typical RAM usage of RT-Thread/GUI is less than 20kB RAM.