Raspberry Pi® (see www.raspberrypi.org) is a credit-card-sized single-board computer developed in the UK by the Raspberry Pi Foundation with the intention of stimulating the teaching of basic computer science in schools. The Raspberry Pi is manufactured through licensed manufacturing deals with Element 14/Premier Farnell and RS Electronics. Both of these companies sell the Raspberry Pi online.

The Raspberry Pi has a Broadcom BCM2835 system on a chip (SoC), which includes an ARM1176JZF-S 700 MHz processor, VideoCore IV GPU, and originally shipped with 256MB of RAM, later upgraded to 512MB. It does not include a built-in hard disk or solid-state drive, but uses an SD card for booting and long-term storage. The Foundation's goal is to offer two versions, priced at $25 and $35. The Foundation provides Debian and Arch Linux ARM distributions for download.

Active Object (Actor) Programming for the Pi

The QP frameworks enable the Pi enthusiasts to build responsive and modular applications as systems of cooperating, event-driven active objects (actors), which are hierarchical state machines that communicate with one another asynchronously by exchanging events. Active objects are closely related to the concept of agents used in Artificial Intelligence (AI) and are ideal for building highly responsive "smart" systems, like robots and control systems of all sorts.

The QP family consists of QP/C, QP/C++, and QP-nano frameworks, which all run beautifully on the Pi. The QP frameworks are your entry into advanced multi-threaded programming with POSIX threads without the typical risks and complexities associated with "free-threading". The extensive Application Note "QP and POSIX" describes the POSIX QP port.

The QP frameworks impose a design strategy called event-driven programming, which requires a distinctly different way of thinking than conventional sequential programs. All event-driven programs are naturally divided into the application, which actually handles the events, and the supervisory event-driven infrastructure (framework), which waits for events and dispatches them to the application. The control resides in the event-driven framework, so from the application standpoint, the control is inverted compared to a traditional sequential program.

The free QM™ graphical modeling tool takes the Pi programming to the next level, by enabling automatic code generation of Pi applications.


NOTE: QP Frameworks for Raspberry Pi are licensed under the modified GPLv3 license with the QP-Raspberry Pi Exception. Specifically, the Exception removes the requirement to expose your proprietary source code as long as you deploy it on a genuine Raspberry Pi board.


Application Notes

Application Notes
Title (PDF Download) QP™ Version Compiler Manual Download
QP and POSIX (1.0MB PDF)
QP 4.5.x GNU GCC PSiCC2 Code included in the QP™ Baseline

Related QP Ports

QP-Linux port

Last updated: August 01, 2014