QP/C  8.0.3
Real-Time Event Framework
Loading...
Searching...
No Matches
Downloading & Installing QP/C

Getting StartedQP/C Tutorial

Downloading QP/C in QP-Bundle

The most recommended way of obtaining QP/C is by downloading the QP-bundle↑, which includes QP/C as well as other QP frameworks and also the QM modeling tool↑ and the QTools collection↑. The main advantage of obtaining QP/C bundled together like that is that you get all components, tools and examples ready to go.

QP-bundle downloads


Note
If you are allergic to installers and GUIs or don't have administrator privileges you can also download and install QP/C separately from the QP/C GitHub repository, as described in the next section.

Downloading QP/C from GitHub

Go to the QP/C release page on GitHub↑, and choose the QP/C version number you wish to download. You should select the latest QP/C version, unless you have a very specific reason to go with an older release.

QP/C downloads from GitHub

[1] QP/C framework ZIP archive (contains HTML documentation and 3rd-party code for the examples)

[2] QP/C framework CMSIS-Pack (see the next section)

Remarks
The QP/C GitHub repository contains the 3rd_party and examples folders as git submodules. Therefore, while cloning the qpc repository directly, it is recommended to do this as follows:
git clone https://github.com/QuantumLeaps/qpc --recurse-submodules --depth 1

Downloading QP/C as a CMSIS-Pack

The QP/C framework is available as a CMSIS-Pack↑, which you can obtain either in the KEIL Pack Installer↑ or directly from the QP/C release directory on GitHub (see previous section).

QuantumLeaps qpc and qpcpp packs in KEIL Pack Installer


QuantumLeaps qpc and qpcpp packs in IAR Pack Installer


QP/C Installation Folder

The following annotated directory tree lists the top-level directories provided in the standard QP/C distribution.

qpc
+---include // platform-independent QP/C header files
|
+---src // platform-independent QP/C source files
| +---qf // QF active object framework source files
| +---qv // QV non-preemptive kernel files
| +---qk // QK preemptive, non-blocking kernel files
| +---qxk // QXK preemptive, non-blocking/blocking kernel files
| +---qs // QS software tracing (target-resident component)
|
+---ports // platform-specific QP/C ports
|
...... the following folders can be deleted if not needed ...........
|
+---examples // QP/C examples
+---3rd_party // 3rd-party code used in the examples
Remarks
The examples/ and 3rd_party folders contain many Example Projects, which are specifically designed to help you learn to use QP/C and to serve you as starting points for your own projects.

QP License Certificate File

Every QP/C commercial license comes with the QP License Certificate file, which stores the commercial license information (for the QM modeling tool↑ and the QSPY software tracing host utility↑). The QP License Certificate file is always named exactly the same as the corresponding commercial license and has the extension .qlc. For example, a commercial license with the license number QPC-SP-230416A will be accompanied by the license file named QPC-SP-230416A.qlc.

Note
If you are a commercial licensee and for some reason you did not receive your QP License Certificate file, please send email with your license number to support@state-machine.com↑ to request your QP License Certificate.

The QP License Certificate file is a plain-text file, which you can open in any editor and inspect (but you cannot change without corrupting it). Here is an example of a QP License Certificate file:

File name: QPC-SP-230416A.qlc

Bamboozle Technologies, Inc.
qpc
2025-08-17

Copyright (c) 2024-2025 Bamboozle Technologies, Inc. All rights reserved.

SPDX-License-Identifier: LicenseRef-QL-single-product

THIS SINGLE PRODUCT LICENSE IS VALID SOLELY FOR THE FOLLOWING PRODUCT:
"eGizmo Shuffle 2nd Generation"
#20EB458E46F910356133D2A0B24E3F14A2236969

The QP License Certificate file contains the following information:

  • The license number (the file name of the certificate file)
  • The name of the commercial Licensee (company or individual)
  • The licensed QP Framework type(s) (qpc/qpcpp)
  • The expiration date of the Support Term↑ associated with the license
  • The licensed Single Product / Product Line/etc.↑ of the Licensee
  • The cryptographic hash over the contents of the file and the file name, which prevents tampering with it.

Getting StartedQP/C Tutorial