Part I: Getting Started

QuantumRT is an advanced preemptive, priority-based Real-Time Kernel designed to address the demanding needs of modern embedded applications requiring precise timing, deterministic execution, and efficient resource management. Engineered specifically for embedded platforms, QuantumRT provides robust performance suitable for a wide variety of real-time use cases.

This manual provides technical documentation for QuantumRT. It covers the kernel architecture, scheduling mechanisms, memory protection, API usage, and integration requirements. This document is intended for embedded software developers and system integrators using QuantumRT in microcontroller-based systems.

Prerequisites

The reader is expected to have:

  • A working knowledge of the target processor architecture (e.g., ARM Cortex-M).

  • Familiarity with C programming in embedded environments.

  • Experience using build tools, toolchains, and debugging software relevant to the target platform.

Document Conventions

  • Monospaced — API calls, macros, configuration defines.

  • Bold — Important terms or emphasis.

Supported Architectures

QuantumRT currently supports the ARM Cortex-M family of microcontrollers:

  • ARMv6-M (Cortex-M0+)

  • ARMv7-M (Cortex-M3, M4, M7)

  • ARMv8-M Baseline (Cortex-M23)

  • ARMv8-M Mainline (Cortex-M33, M35P, M52, M55, M85)

All targets are supported in little-endian mode. FPU and TrustZone extensions are supported where available.

Supported Toolchains

QuantumRT is officially supported with the Arm GNU Toolchain (ARM GCC 13.x or later).

Other compilers may work if they follow the ARM EABI specification, but they are not verified or maintained.

Building the Kernel

Build Configuration

QuantumRT is configured using a set of compile-time configuration options defined in the header file qrt_cfg.h.

Default configuration options are tuned for ARM Cortex-M3.

Build Requirements

QuantumRT itself is build-system agnostic.

However, to build the official demo application distributed with QuantumRT requires the following tools:

Building the Demo Application

To build the demo navigate to the root directory of the QuantumRT source tree and run the following commands:

cmake -B build -G Ninja -DCMAKE_TOOLCHAIN_FILE=arm-none-eabi-gcc.cmake
cmake --build build

This produces the demo binary and the static library libqrt.a.