Practical UML Statecharts in C/C++, 2nd Ed. 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

Jeff Karau

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

Henrik Bohre

...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

Michael_Barr

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

Haitham Hindi

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)

Paul Montgomery

...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

Apple Computer, Inc.

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

Honeywell International

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

Rich Wooley

Simply put, designing sofware using the QP framework lets you code the way you think..."

Rich Wooley, Sofware Engineer, Nipro Diabetes Systems, Florida

more user stories

NOTE: Each QP™ Development Kit (QDK™) contains only the the software dependent on the particular processor and the compiler, but does not contain the portable QP™ Baseline Code. You need to download and install the QP™ Baseline Code, before you install any QDK™.
learn more about QP™ licensing


Free and Open Source (FOSS) Tools for ARM

The following suite of Free and Open Source Software (FOSS) tools for ARM has been carefully selected, tested, and used to develop all GNU-based QP™ Development Kits (QDKs) for ARM7/ARM9 and ARM-Cortex processors. The following tools support flash-downloading and debugging with the Insight GDB frontend or with the Eclipse™ IDE.


Tool
GNU make and other related UNIX-style file utilities
devkitPro / devkitARM
devkitPro / Insight
Eclipse IDE for C/C++ Developers
Zylin Embedded CDT plugin
SEGGER J-Link GDB Server
Open OCD GDB Server
Atollic TRUE Studio Light


Application Notes

Application Notes
ARM-Cortex
QP and ARM Cortex with GNU (1.9MB PDF)
QP and ARM Cortex with IAR (0.7MB PDF)
ARM7 / ARM9
QP/C/C++ and ARM7/ARM9 with GNU (1.5MB PDF)
QP-nano and ARM7/ARM9 with GNU (1.4MB PDF)
QP/C/C++ and ARM7/ARM9 with IAR (0.7MB PDF)
QP-nano and ARM7/ARM9 with IAR (0.7MB PDF)


QP™ Development Kits (QDKs) for ARM-Cortex™

CMSIS Compliant

All QDKs for ARM-Cortex (Cortex-M0 and Cortex-M3) are compliant with the Cortex Microcontroller Software Interface Standard (CMSIS).

QDK™ Board QP™ Version Compiler Manual Download
QDK/C™
QDK/C ARM-Cortex-GNU
LPCXpresso-1114
(Cortex-M0)
LPCXpresso-1114
(Cortex-M0)
QP/C 4.1.03 GNU (LPCXpresso) AppNote (1.5MB) Download (2.6MB)
QDK/C ARM-Cortex-GNU
LPCXpresso-1343
(Cortex-M3)
LPCXpresso-1343
(Cortex-M3)
QP/C 4.1.03 GNU (LPCXpresso) AppNote (1.5MB) Download (2.6MB)
QDK/C ARM-Cortex-GNU STM3210C-EVAL STM3210C-EVAL QP/C 4.1.03 GNU (devkitARM) Manual (1.7MB) Download (4.4MB)
QDK/C ARM-Cortex-IAR LM3S811 EV-LM3S811 QP/C 4.1.03 IAR EWARM AppNote (0.7MB) Code included in the QP/C™ Baseline
QDK/C ARM-Cortex-GNU LM3S811 EV-LM3S811 QP/C 4.1.04 GNU (Sourcery G++) Code included in the QP/C™ Baseline
QDK/C++™
QDK/C++ ARM-Cortex-GNU
LPCXpresso-1114
(Cortex-M0)
LPCXpresso-1114
(Cortex-M0)
QP/C++ 4.1.03 GNU (LPCXpresso) AppNote (1.5MB) Download (2.8MB)
QDK/C++ ARM-Cortex-GNU
LPCXpresso-1343
(Cortex-M3)
LPCXpresso-1343
(Cortex-M3)
QP/C++ 4.1.03 GNU (LPCXpresso) AppNote (1.5MB) Download (2.8MB)
QDK/C ARM-Cortex-GNU STM3210C-EVAL STM3210C-EVAL QP/C++ 4.1.03 GNU (devkitARM) Manual (1.7MB) Download (4.6MB)
QDK/C++ ARM-Cortex-IAR LM3S811 EV-LM3S811 QP/C++ 4.1.03 IAR EWARM AppNote (0.7MB) Code included in the QP/C++™ Baseline
QDK/C++ ARM-Cortex-GNU LM3S811 EV-LM3S811 QP/C++ 4.1.04 GNU (Sourcery G++) Code included in the QP/C™ Baseline
QDK/C++™
QDK-nano ARM-Cortex-GNU
LPCXpresso-1114
(Cortex-M0)
LPCXpresso-1114
(Cortex-M0)
QP-nano 4.1.03 GNU (LPCXpresso) AppNote (1.5MB) Download (2.5MB)
QDK-nano ARM-Cortex-GNU
LPCXpresso-1343
(Cortex-M3)
LPCXpresso-1343
(Cortex-M3)
QP-nano 4.1.03 GNU (LPCXpresso) AppNote (1.5MB) Download (2.5MB)
QDK-nano ARM-Cortex-GNU STM3210C-EVAL STM3210C-EVAL QP-nano 4.1.03 GNU (devkitARM) Manual (1.7MB) Download (3.8MB)
QDK-nano ARM-Cortex-IAR LM3S811 EV-LM3S811 QP-nano 4.1.03 IAR EWARM AppNote (0.7MB) Code included in the QP-nano™ Baseline
QDK-nano ARM-Cortex-GNU LM3S811 EV-LM3S811 QP-nano 4.1.03 GNU (Sourcery G++) Code included in the QP-nano™ Baseline

Related Development Kits

The QP™ integration with the open source lwIP TCP/IP stack is demonstrated on the Cortex-M3-based EV-LMS6965  from Texas Instruments.

learn more about the QP-lwIP Development Kit

QP™ Development Kits (QDKs) for ARM7 / ARM9

QDK™ Board QP™ Version Compiler Manual Download
QDK/C™
QDK/C ARM-IAR AT91SAM7S (ARM7) AT91SAM7S-EK QP/C 4.1.02 IAR EWARM Manual (1.0MB) Download (2.5MB)
QDK/C ARM-GNU AT91SAM7S (ARM7) AT91SAM7S-EK QP/C 4.1.04 GNU (devkitARM) AppNote (1.5MB) Download (3.0MB)
QDK/C ARM-IAR LPC213X (ARM7) LPC-P213X QP/C 4.1.02 IAR EWARM Manual (1.0MB) Download (2.7MB)
QDK/C ARM-IAR STR912X (ARM9) STR912-SK QP/C 4.1.02 IAR EWARM Manual (1.0MB) Download (2.9MB)
QDK/C ARM-IAR AT91EB40A (ARM7) AT91EB40A QP/C 4.1.02 IAR EWARM Manual (1.0MB) Download (3.1MB)
QDK/C++™
QDK/C++ ARM-IAR AT91SAM7S (ARM7) AT91SAM7S-EK QP/C++ 4.1.02 IAR EWARM Manual (1.0MB) Download (2.6MB)
QDK/C++ ARM-GNU AT91SAM7S (ARM7) AT91SAM7S-EK QP/C++ 4.1.04 GNU (devkitARM) AppNote (1.5MB) Download (3.1MB)
QDK/C++ ARM-IAR LPC213X (ARM7) LPC-P213X QP/C++ 4.1.02 IAR EWARM Manual (1.0MB) Download (2.7MB)
QDK/C++ ARM-IAR STR912X (ARM9) STR912-SK QP/C++ 4.1.02 IAR EWARM Manual (1.0MB) Download (3.0MB)
QDK/C++ ARM-IAR AT91EB40A (ARM7) AT91EB40A QP/C++ 4.1.02 IAR EWARM Manual (1.0MB) Download (3.2MB)
QDK-nano™
QDKn ARM-IAR AT91SAM7S (ARM7) AT91SAM7S-EK QP-nano 4.1.02 IAR EWARM Manual (1.0MB) Download (2.0MB)
QDKn ARM-GNU AT91SAM7S (ARM7) AT91SAM7S-EK QP-nano 4.1.04 GNU (devkitARM) AppNote (1.4MB) Download (2.8MB)

Last updated: July 28, 2010