- QUICK START
LICENSING QP™: The QP™ frameworks are licensed under the terms of the open source GNU General Public License (GPL). Alternatively, the QP™ frameworks may be licensed under the terms of closed source Quantum Leaps commercial licenses, which are specifically designed for QP™ users interested in retaining the proprietary status of their code.
NOTE: If your company has a policy forbidding open source in your product, all QP™ frameworks can be licensed commercially, in which case you don't use any open source license and you do not violate your policy.
learn more about QP™ dual licensing
The QP™ Baseline Code downloads contain the platform-independent QP™ source code plus selected ports and all the examples described in the PSiCC2 book. The QP™ Baseline Code is available from the SourceForge.net repository, where you can download the platform-independent ZIP or the self-extracting Windows executable (.EXE).
INSTALLATION: It is higly recommended to copy the QP Base Line code into a directory close to the root of your disk (e.g.,
C:\qp\). After installation, you need to define the environment variables:
QPN, pointing to the installation folders of QP/C, QP/C++, and QP-nano, respectively. For example, assuming that you copied QP/C to
C:\qp\qpc, you need to define
C:\qp\qpc, and similarly for
|QP™ Baseline Code|
The QTools™ Collection contains various open source tools for working with the QP state machine frameworks, such as:
QSPY host application,
QCLEAN for cleanup of source code files,
QFSGEN for generating ROM-based file systems for embedded web servers, etc. The QTools Collection for Windows provides also the MinGW C/C++ compiler (GNU GCC) and GNU make for Windows, as well as the realated file utilities (
INSTALLATION: After copying the files to your disk. It is hihgly recommended to add the
\bin sub-folder of the Qtools collection to the
PATH. Also, some examples for Windows and Linux assume that the environment variable
QTOOLS is defined and points to the Qtools installation folder. For example, assuming that you installed Qtools in
C:\tools\qtools, you need to add the directory
C:\tools\qtools\bin to the
PATH and define
QM™ (QP™ Modeler) is a free, graphical modeling tool for designing and implementing real-time embedded applications based on the QP™ state machine frameworks. QM™ provides best-in-class, intuitive diagramming environment and generates very compact C or C++ code that is 100% traceable from your design.
INSTALLATION: QM™ is available for Windows, Linux, and Mac OS X. The installation on any platform is trivial and does not require any big third-party software packages (no Java, Eclipse, etc.). The provided setup installs the QM™ application, creates a desktop icon, and associates the QM model files (*.qm and *.qmp) with the QM application. QM™ is very easy to uninstall with the provided uninstaller.
LICENSING QM™: The QM™ graphical modeling tool is freeware: free to download and use, but is not open source. The QM™ tool is provided under the terms of a simple End-User License Agreement (EULA), which legally protects Quantum Leaps from any warranty claims, prohibits removing any copyright notices from QM, selling it, and creating similar competitive products.
|QM™ Modeling Tool|
Mac OS X
The Quick Start videos show how to get started with QP, QM, and Qtools quickly.
The complete QP source code trees, including all ports and examples, are available in Git repositories hosted on SourceForge.net. The Application Note Accessing QP Git Repositories on SourceForge.net describes how to access the QP source code via Git repositories on SourceForge.net.
|QP Git Repositories|
|Soure Tree For||Git Repository (read access)|
The QP™ frameworks can be easily adapted to various operating systems, processor architectures, and compilers. Adapting the QP™ software is called porting and all QP™ frameworks have been designed from the ground up to make porting easy.
A continuously growing number of QP Development Kits™ (QDKs) are available for immediate download. A QDK™ contains the port of the specified QP™ framework type, compiler, and development board, plus example application(s) illustrating the use of QP™ on the specific operating system or processor architecture.
NOTE: Some QDKs™ for obsolete or less popular processors are provided for reference only, but are no longer actively supported. These QDKs are not recommended for future designs.
|Supported QDKs™ for bare metal MCUs|
|Processor (Vendor) — alphabetical order|
|ARM Cortex-M (Texas Instruments, NXP, ST, Atmel)|
|ARM7 / ARM9 (Atmel, ST)|
|MSP430 (Texas Instruments)|
|PIC24 / dsPIC (Microchip)|
|TMS320C2000 (28x) (Texas Instruments)|
|TMS320C5000 (55x) (Texas Instruments)|
|Unsupported QDKs™ for bare metal MCUs|
|Processor (Vendor) — alphabetical order|
|M16C / M32C (Renesas)|
|8051 / 80251 (Silicon Labs, Atmel)|
|QDKs™ for various Operating Systems/RTOSes|
|POSIX (Embedded Linux, QNX, INTEGRITY)|
|Windows (Embedded) (Microsoft)|
|QDKs™ for various RTOSes|
|ThreadX (Express Logic)|
|QDKs™ for various Middleware|
|Middleware Library (Vendor)|
|lwIP TCP/IP Stack (Open Source)|
|emWin / µC/GUI (SEGGER / Micrium)|
|QDKs™ for Learning and Experimenting|
|Unsupported QDKs™ for various RTOSes|
|RTOS (Vendor) — alphabetical order|
|eCos (Cygnus/Red Hat)|
|FreeRTOS.org (Richard Barry)|
|VxWorks (Wind River)|
Last updated: July 01, 2014