-
Notifications
You must be signed in to change notification settings - Fork 8
User Guide Getting Started
Zakaria Madaoui edited this page Jul 26, 2026
·
10 revisions
This guide walks you through building your first RTICX application using an existing distribution.
- A working Rust toolchain (the latest stable release is recommended).
- The target toolchain for your chosen distribution. For example, for the RP2040 examples you need:
For
rustup target add thumbv6m-none-eabi
rticx-cortex-m, add the target matching your device:# armv7-m and above (STM32F1, STM32F4, …) rustup target add thumbv7m-none-eabi # armv6-m (STM32F0, …) rustup target add thumbv6m-none-eabi
This repository ships several reference distributions. Pick one that matches your hardware or simulator: Supported Distributions
The rticx-cortex-m distribution ships a QEMU-runnable playground.
Install QEMU and the two Cortex-M targets:
# Linux (Debian/Ubuntu); macOS: `brew install qemu`
sudo apt-get install -y qemu-system-arm
rustup target add thumbv7m-none-eabi thumbv6m-none-eabiThen, from the repository root:
make qemu # runs both locking codepaths; fails if either misbehaves
make qemu-armv7m # BASEPRI locking only
make qemu-armv6m # interrupt source masking onlyThe examples are located in distributions/rticx-cortex-m/example-apps. You modify them, rebuild and run on qemu:
cd distributions/rticx-cortex-m/example-apps/armv7m-app && cargo run --example hello_rtic
cd distributions/rticx-cortex-m/example-apps/armv6m-app && cargo run --example hello_rticExpected output (each example):
tick 1: counter = 1
tick 2: counter = 2
tick 3: counter = 3
tick 4: counter = 4
SUCCESS: 4 spawns completed
- Create a new Rust binary crate that depends on one of the distributions, e.g.:
[dependencies] rticx-distro = { path = "path/or/version/to/rticx-distro" }
- Write an RTICX application using the attributes described in the Syntax Reference.
- Build and flash/run as appropriate for your target.
- Read the Syntax Reference to learn the supported attributes.
- Check the Supported Distributions page for feature flags and target details.