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:
Arm GNU Toolchain (Arm GCC 13.x or newer)
CMake 3.20 or newer
Ninja build system
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.