QP/C++  7.4.0-rc.1
Real-Time Embedded Framework
No Matches
Simple Blinky Application

QP/C++ TutorialDining Philosophers Problem (DPP)

The ultra-simple Blinky example is the embedded systems' equivalent of the venerable "Hello World!" program, that is, the simplest possible working QP™ application that does "something". In the case of Blinky, this "something" is blinking an LED at the rate of 1Hz, where an LED turns on and remains on for 0.5 seconds on then turns off and remains off for 0.5 seconds.

The Blinky examples is a bit too simplistic as a starting point for real-life projects. A better, more complete starting point is the DPP example.
Blinky on EK-TM4C123GLX (TivaC LaunchPad)

The Blinky example is provided for other supported boards as well. Please look for examples named blinky_<board-name> in the qpcpp /examples/examples directory (e.g., qpcpp /examples/arm-cm/blinky_ek-tm4c123gxl for the EK-TM4C123GXL board (TivaC LaunchPad)).

The ultra-simple Blinky application, which consists of just one active object named Blinky, is intentionally kept small and illustrates only the most basic QP features, such as:

  • a simple Blinky active object (AO);
  • hand-coding the simple state machine of the Blinky AO;
  • using a periodic time event;
  • initializing the QP™ framework;
  • starting an active object; and
  • transferring control to QP™ to run the application.

Built-in kernels:

  • non-preemptive QV kernel;
  • preemptive, non-blocking QK kernel;

Build configurations:

  • debug configuration (default)
  • release configuration
  • spy (software tracing) configuration is NOT demonstrated

The details of the Blinky application are describe in the Quantum Leaps Application Note Getting Started with QP™ Real-Time Embedded Frameworks .

Getting Started with QP Real-Time Embedded Frameworks

QP/C++ TutorialDining Philosophers Problem (DPP)