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
QP™ Baseline Code
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™ Graphical Modeling Tool
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.
QP™ Git Repositories
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)|
QP™ Development Kits
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™ are already included in the QP™ Baseline Code, to you get started with QP quickly. However, many QDKs™ are provided as separate downloads to be added to the existing QP directory structure. In other words, you always need to install the QP Baseline Code, before you install any QDKs.
|QDKs™ for various Processors|
|Processor (Vendor) — alphabetical order|
|ARM Cortex-M / ARM7 / ARM9 (Texas Instruments, ST, Atmel, NXP)|
|AVR / AVR32 (Atmel)|
|M16C / M32C (Renesas)|
|MSP430 (Texas Instruments)|
|PIC24 / dsPIC (Microchip)|
|TMS320C28x / C55x (Texas Instruments)|
|8051 / 80251 (Silicon Labs, Atmel)|
|QDKs™ for various Operating Systems/RTOSes|
|POSIX (Linux, BSD, Mac OS X, QNX)|
|Windows / WindowsCE (Microsoft)|
|QDKs™ for various RTOSes|
|VxWorks (Wind River)|
|ThreadX (Express Logic)|
|FreeRTOS.org™ (Richard Barry)|
|QDKs™ for Learning and Experimenting|
QP™ Integrations with Middleware
The event-driven QP™ frameworks have been also integrated with various middleware packages, such as communication stacks and GUI libraries.
|QDKs™ for various Middleware|
|Middleware Library (Vendor)|
|lwIP TCP/IP Stack (Open Source)|
|emWin / µC/GUI (SEGGER / Micrium)|
Last updated: May 20, 2013