All Projects → QuantumLeaps → Qpc

QuantumLeaps / Qpc

Licence: other
QP/C real-time embedded framework/RTOS for embedded systems based on active objects (actors) and hierarchical state machines

Programming Languages

c
50402 projects - #5 most used programming language

Projects that are alternatives of or similar to Qpc

Qpcpp
QP/C++ real-time embedded framework/RTOS for embedded systems based on active objects (actors) and hierarchical state machines
Stars: ✭ 124 (-67.28%)
Mutual labels:  state-machine, event-driven, framework, actor-model, actor, arm, rtos
Qpn
QP-nano real-time embedded framework/RTOS for embedded systems based on active objects (actors) and hierarchical state machines
Stars: ✭ 107 (-71.77%)
Mutual labels:  state-machine, event-driven, framework, actor-model, actor, rtos
Distortos
object-oriented C++ RTOS for microcontrollers
Stars: ✭ 354 (-6.6%)
Mutual labels:  framework, arm, rtos, embedded
Drone
CLI utility for Drone, an Embedded Operating System.
Stars: ✭ 114 (-69.92%)
Mutual labels:  framework, rtos, embedded
drone-cortexm
ARM® Cortex®-M platform crate for Drone, an Embedded Operating System.
Stars: ✭ 31 (-91.82%)
Mutual labels:  arm, embedded, rtos
DemOS
Free, simple, extremely lightweight, stackless, cooperative, co-routine system (OS) for microcontrollers
Stars: ✭ 18 (-95.25%)
Mutual labels:  arm, state-machine, rtos
qp-arduino
QP real-time embedded frameworks/RTOS for Arduino (AVR and SAM)
Stars: ✭ 37 (-90.24%)
Mutual labels:  state-machine, event-driven, rtos
mdepx
MDEPX — A BSD-style RTOS
Stars: ✭ 17 (-95.51%)
Mutual labels:  arm, embedded, rtos
uC-CPU
Designed with Micriμm's renowned quality, scalability and reliability, the purpose of μC/ CPU is to provide a clean, organized ANSI C implementation of each processor's/compiler's hardware-dependent.
Stars: ✭ 31 (-91.82%)
Mutual labels:  embedded, rtos
nixos-on-arm
Cross Compiling NixOS to ARM as a replacement for Yocto
Stars: ✭ 129 (-65.96%)
Mutual labels:  arm, embedded
apex
Apex RTOS - A (somewhat) Linux compatible real time operating system
Stars: ✭ 15 (-96.04%)
Mutual labels:  embedded, rtos
reacted
Actor based reactive java framework for microservices in local and distributed environment
Stars: ✭ 17 (-95.51%)
Mutual labels:  actor-model, event-driven
async-stm32f1xx
Abstractions for asynchronous programming on the STM32F1xx family of microcontrollers.
Stars: ✭ 24 (-93.67%)
Mutual labels:  arm, embedded
rnk
rnk is a RTOS targeting ARM architecture.
Stars: ✭ 22 (-94.2%)
Mutual labels:  arm, rtos
dogactor
Distributed Systems,Based on Actor Model
Stars: ✭ 70 (-81.53%)
Mutual labels:  actor-model, actor
esm
Lightweight communicating state machine framework for embedded systems
Stars: ✭ 21 (-94.46%)
Mutual labels:  embedded, state-machine
orange-pi
Orange pi Kicad libraries and footprints.
Stars: ✭ 13 (-96.57%)
Mutual labels:  arm, embedded
cortex-uni-startup
Unified startup code and link scripts for Cortex-M microcontrollers
Stars: ✭ 33 (-91.29%)
Mutual labels:  arm, embedded
async
🔀 Asynchronous framework in C.
Stars: ✭ 16 (-95.78%)
Mutual labels:  embedded, rtos
Pikort
A tiny Linux-like real-time kernel optimized for ARM Cortex-M chips
Stars: ✭ 268 (-29.29%)
Mutual labels:  arm, rtos

QP framework

NOTE: If your company has a policy forbidding open source in your product, all QP frameworks can be licensed commercially, in which case you don't use any open source license and you do not violate your policy.


What's New?

View QP/C Revision History at: https://www.state-machine.com/qpc/history.html


Documentation

The offline HTML documentation for this particular version of QP/C is located in the folder html/. To view the offline documentation, open the file html/index.html in your web browser.

The online HTML documention for the latest version of QP/C is located at: https://www.state-machine.com/qpc/


About QP/C

QP/C (Quantum Platform in C) is a lightweight, open source Real-Time Embedded Framework (RTEF) for building modern embedded software as systems of asynchronous, event-driven active objects (actors). The QP/C framework is a member of a larger QP family consisting of QP/C, QP/C++, and QP-nano frameworks, which are all strictly quality controlled, thoroughly documented, and commercially licensable.

Safer Model of Concurrency

The QP framework family is based on the Active Object (actor) design pattern, which inherently supports and automatically enforces the following best practices of concurrent programming:

  • Keep data isolated and bound to active objects' threads. Threads should hide (encapsulate) their private data and other resources, and not share them with the rest of the system.

  • Communicate among active object threads asynchronously via event objects. Using asynchronous events keeps the threads running truly independently, without blocking on each other.

  • Active object threads should spend their lifetime responding to incoming events, so their mainline should consist of an event-loop that handles events one at a time (to completion), thus avoiding any concurrency hazards within an active object thread itself.

This architecture is generally safer, more responsive and easier to understand and maintain than the shared-state concurrency of a conventional RTOS. It also provides higher level of abstraction and the correct abstractions to effectively apply modeling and code generation to deeply embedded real-time systems.

Hierarchical State Machines

The behavior of active objects is specified in QP/C by means of Hierarchical State Machines (UML statecharts). The framework supports manual coding of UML state machines in C as well as automatic code generation by means of the free QM modeling tool.

Built-in Real-Time Kernels

The QP/C framework can run on bare-metal single-chip microcontrollers, completely replacing a traditional RTOS. The framework contains a selection of built-in real-time kernels, such as the cooperative QV kernel, the preemptive non-blocking QK kernel, and the preemptive, blocking QXK kernel that provides all the features you might expect from a traditional RTOS. Native QP ports and ready-to-use examples are provided for major CPUs, such as ARM Cortex-M (M0/M0+/M3/M4/M7).

Traditional RTOS/OS

QP/C can also work with a traditional RTOS, such as ThreadX, FreeRTOS, embOS, uC/OS-II and TI-RTOS, as well as with (embedded) Linux (POSIX) and Windows.

Maturity

With 60,000 downloads a year, the QP family is the most popular such solution on the embedded software market. It provides a modern, reusable architecture for embedded applications, which combines the active-object model of concurrency with hierarchical state machines.


Getting Started with QP/C

The QP/C Reference Manual provides instructions on how to download, install, and get started with QP/C quickly.

The AppNote: "Getting Started with QP/C" contains also a tutorial, in which you build a simple "Blinky" application.


QP/C Licensing

QP/C is licensed under the increasingly popular dual licensing model, in which both the open source software distribution mechanism and traditional closed source software distribution models are combined.

NOTE: If your company has a policy forbidding open source in your product, all QP frameworks can be licensed commercially, in which case you don't use any open source license and you do not violate your policy.


QP/C Documentation

The QP/C Manual is located online at: https://www.state-machine.com/qpc


How to get help?

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].