Without using QP, I don't believe we could have delivered on our given schedule dates with the same level of quality."
Jeff Karau, Sr. Software Engineer, General Dynamics C4 Systems
Practical UML Statecharts in C/C++, Second Edition: Event-Driven Programming for Embedded Systems (PSiCC2) is the most popular book about UML statecharts and event-driven programming for embedded systems. This ultimate resource describes all the related concepts and provides a very detailed design study of the QP™ frameworks.
companion page to PSiCC2
Without using QP, I don't believe we could have delivered on our given schedule dates with the same level of quality."
Jeff Karau, Sr. Software Engineer, General Dynamics C4 Systems
...After trying out a couple of CASE tools we came to the conclusion that expensive round-trip-engineering UML tools were cumbersome and did not fit our way of working. However, the innovative QP way to map UML state machines to C/C++ code was exactly what we were looking for..."
Henrik Bohre, Embedded Systems Consultant, GotCom AB, Göteborg, Sweden
I'm speaking from first-hand experience when I say this is really good stuff. I just hope others will recognize that and we can get past the old main+ISR vs. RTOS dilemma for a large variety of applications."
Michael Barr, President Netrino and former editor-in-chief of the ESP magazine
Practical Statecharts in C/C++ has been an indispensible reference for my embedded systems work. The clear and succinct conceptual and software framework, along with the immediately usable code enabled us to get a working prototype of our control system in a few weeks."
Dr. Haitham Hindi, Palo Alto Research Center (PARC)
...QP has been adopted accross the company and is used in all our products on a variety of OS platforms..."
Dr. Paul Montgomery, Director of Engineering, Novariant, Fremont CA
I recently rewrote a major piece of code to utilise the QP framework and it has worked wonders. My previous code used a more traditional state machine and had quickly evolved into spaghetti code. The hierarchical state machine approach made the new code smaller, more robust, and much easier to maintain and extend."
Bob Bradley, Apple Computer, Inc., from Amazon.com review
Quantum Leaps software has revolutionized not just the way we write our software, but the way we approach our design. It is intuitive, easy to implement and comes in an incredibly small package. If you're in the 8-bit world, you need this software!"
Chad Koster, Software Engineer, Honeywell
Simply put, designing sofware using the QP framework lets you code the way you think..."
Rich Wooley, Sofware Engineer, Nipro Diabetes Systems, Florida
NOTE: Unless indicated that the QP™ Development Kit (QDK™) is part of the QP™ Baseline Code, to use the listed QDKs, you need to download and install the QP™ Baseline Code first.
LICENSING: The QDKs™ are licensed the same way at the QP™ frameworks.
learn more about QP™ licensing
| Application Notes |
|---|
| ARM Cortex-M (M0 / M0+ / M1 / M3 / M4 / M4F) |
| QP and ARM Cortex-M with GNU (1.2MB PDF) |
| QP and ARM Cortex-M with IAR (1.2MB PDF) |
| ARM7 / ARM9 |
| QP/C/C++ and ARM7/ARM9 with GNU (1.5MB PDF) |
| QP/C/C++ and ARM7/ARM9 with IAR (1.1MB PDF) |
| QP-nano and ARM7/ARM9 with GNU (1.3MB PDF) |
| QP-nano and ARM7/ARM9 with IAR (0.7MB PDF) |
All QDKs for ARM Cortex-M are compliant with the Cortex Microcontroller Software Interface Standard (CMSIS).
| QDK™ | Board | QP™ Version | Compiler | Manual | Download |
|---|---|---|---|---|---|
| QDK/C™ | |||||
| QDK/C ARM-Cortex-CCS5 LM4F120XL (Cortex-M4F) |
EV-LM4F120XL (Stellaris Launchpad) |
QP/C 4.5.04 | TI CCS5 | AppNote (1.2MB) | Download (3.3MB) |
| QDK/C ARM-Cortex-IAR LM4F120XL (Cortex-M4F) |
EV-LM4F120XL (Stellaris Launchpad) |
QP/C 4.5.04 | IAR EWARM | AppNote (1.2MB) | Code included in the QP/C™ Baseline |
| QDK/C ARM-Cortex-IAR LM3S811 (Cortex-M3) |
EV-LM3S811 | QP/C 4.5.04 | IAR EWARM | AppNote (1.2MB) | Code included in the QP/C™ Baseline |
| QDK/C ARM-Cortex-GNU LM4F120XL (Cortex-M4F) |
EV-LM4F120XL (Stellaris Launchpad) |
QP/C 4.5.04 | GNU (Sourcery) | AppNote (1.2MB) | Code included in the QP/C™ Baseline |
| QDK/C ARM-Cortex-GNU LM3S811 (Cortex-M3) |
EV-LM3S811 | QP/C 4.5.04 | GNU (Sourcery) | AppNote (1.2MB) | Code included in the QP/C™ Baseline |
| QDK/C ARM-Cortex-GNU STM3210C-EVAL (Cortex-M3) |
STM3210C-EVAL | QP/C 4.5.04 | GNU (Sourcery) | Manual (1.0MB) | Download (3.7MB) |
| QDK/C ARM-Cortex-GNU LPCXpresso-1114 (Cortex-M0) |
LPCXpresso-1114 | QP/C 4.5.04 | GNU (LPCXpresso) | Manual (1.4MB) | Download (3.7MB) |
| QDK/C ARM-Cortex-GNU LPCXpresso-1343 (Cortex-M3) |
LPCXpresso-1343 | QP/C 4.5.04 | GNU (LPCXpresso) | Manual (1.4MB) | Download (3.7MB) |
| QDK/C++™ | |||||
| QDK/C++ ARM-Cortex-CCS5 LM4F120XL (Cortex-M4F) |
EV-LM4F120XL (Stellaris Launchpad) |
QP/C++ 4.5.04 | TI CCS5 | AppNote (1.2MB) | Download (5.9MB) |
| QDK/C++ ARM-Cortex-IAR LM4F120XL (Cortex-M4F) |
EV-LM4F120XL (Stellaris Launchpad) |
QP/C++ 4.5.04 | IAR EWARM | AppNote (1.2MB) | Code included in the QP/C++™ Baseline |
| QDK/C++ ARM-Cortex-IAR LM3S811 (Cortex-M3) |
EV-LM3S811 | QP/C++ 4.5.04 | IAR EWARM | AppNote (1.2MB) | Code included in the QP/C++™ Baseline |
| QDK/C ARM-Cortex-GNU LM4F120XL (Cortex-M4F) |
EV-LM4F120XL (Stellaris Launchpad) |
QP/C++ 4.5.04 | GNU (Sourcery) | AppNote (1.2MB) | Code included in the QP/C++™ Baseline |
| QDK/C++ ARM-Cortex-GNU LM3S811 (Cortex-M3) |
EV-LM3S811 | QP/C++ 4.5.04 | GNU (Sourcery) | AppNote (1.2MB) | Code included in the QP/C++™ Baseline |
| QDK/C++ ARM-Cortex-GNU STM3210C-EVAL (Cortex-M3) |
STM3210C-EVAL | QP/C++ 4.5.04 | GNU (Sourcery) | Manual (1.0MB) | Download (2.6MB) |
| QDK/C++ ARM-Cortex-GNU LPCXpresso-1114 (Cortex-M0) |
LPCXpresso-1114 | QP/C++ 4.5.04 | GNU (LPCXpresso) | Manual (1.4MB) | Download (3.7MB) |
| QDK/C++ ARM-Cortex-GNU LPCXpresso-1343 (Cortex-M3) |
LPCXpresso-1343 | QP/C++ 4.5.04 | GNU (LPCXpresso) | Manual (1.4MB) | Download (3.7MB) |
| QDK-nano™ | |||||
| QDK-nano ARM-Cortex-CCS5 LM4F120XL (Cortex-M4F) |
EV-LM4F120XL (Stellaris Launchpad) |
QP-nano 4.5.04 | TI CCS5 | AppNote (1.2MB) | Download (2.6MB) |
| QDK-nano ARM-Cortex-IAR LM4F120XL (Cortex-M4F) |
EV-LM4F120XL (Stellaris Launchpad) |
QP-nano 4.5.04 | IAR EWARM | AppNote (1.2MB) | Code included in the QP-nano™ Baseline |
| QDK-nano ARM-Cortex-IAR LM3S811 (Cortex-M3) |
EV-LM3S811 | QP-nano 4.5.04 | IAR EWARM | AppNote (1.2MB) | Code included in the QP-nano™ Baseline |
| QDK-nano ARM-Cortex-GNU LM4F120XL (Cortex-M4F) |
EV-LM4F120XL (Stellaris Launchpad) |
QP-nano 4.5.04 | GNU (Sourcery) | AppNote (1.2MB) | Code included in the QP-nano™ Baseline |
| QDK-nano ARM-Cortex-GNU LM3S811 (Cortex-M3) |
EV-LM3S811 | QP-nano 4.5.04 | GNU (Sourcery) | AppNote (1.2MB) | Code included in the QP-nano™ Baseline |
| QDK-nano ARM-Cortex-GNU STM3210C-EVAL (Cortex-M3) |
STM3210C-EVAL | QP-nano 4.5.04 | GNU (Sourcery) | AppNote (1.2MB) | Download (3.2MB) |
| QDK-nano ARM-Cortex-GNU LPCXpresso-1114 (Cortex-M0) |
LPCXpresso-1114 | QP-nano 4.5.04 | GNU (LPCXpresso) | Manual (1.4MB) | Download (3.6MB) |
| QDK-nano ARM-Cortex-GNU LPCXpresso-1343 (Cortex-M3) |
LPCXpresso-1343 | QP-nano 4.5.04 | GNU (LPCXpresso) | Manual (1.4MB) | Download (3.6MB) |
| QDK™ | Board | QP™ Version | Compiler | Manual | Download |
|---|---|---|---|---|---|
| QDK/C™ | |||||
| QDK/C ARM-GNU AT91SAM7S (ARM7) | AT91SAM7S-EK | QP/C 4.5.02 | GNU (devkitARM) | AppNote (1.2MB) | Download (2.9MB) |
| QDK/C ARM-IAR AT91SAM7S (ARM7) | AT91SAM7S-EK | QP/C 4.5.02 | IAR EWARM | AppNote (1.0MB) | Download (2.2MB) |
| QDK/C ARM-IAR LPC213X (ARM7) | LPC-P213X | QP/C 4.5.02 | IAR EWARM | AppNote (1.0MB) | Download (5.0MB) |
| QDK/C ARM-IAR STR912X (ARM9) | STR912-SK | QP/C 4.5.02 | IAR EWARM | AppNote (1.0MB) | Download (2.7MB) |
| QDK/C++™ | |||||
| QDK/C++ ARM-GNU AT91SAM7S (ARM7) | AT91SAM7S-EK | QP/C++ 4.5.02 | GNU (devkitARM) | AppNote (1.2MB) | Download (3.4MB) |
| QDK/C++ ARM-IAR AT91SAM7S (ARM7) | AT91SAM7S-EK | QP/C++ 4.5.02 | IAR EWARM | AppNote (1.0MB) | Download (2.5MB) |
| QDK/C++ ARM-IAR LPC213X (ARM7) | LPC-P213X | QP/C++ 4.5.02 | IAR EWARM | AppNote (1.0MB) | Download (5.2MB) |
| QDK/C++ ARM-IAR STR912X (ARM9) | STR912-SK | QP/C++ 4.5.02 | IAR EWARM | AppNote (1.0MB) | Download (2.9MB) |
| QDK-nano™ | |||||
| QDKn ARM-GNU AT91SAM7S (ARM7) | AT91SAM7S-EK | QP-nano 4.5.02 | GNU (devkitARM) | AppNote (1.4MB) | Download (2.8MB) |
| QDKn ARM-IAR AT91SAM7S (ARM7) | AT91SAM7S-EK | QP-nano 4.5.02 | IAR EWARM | AppNote (0.9MB) | Download (1.8MB) |
Last updated: February 15, 2013