[][src]Crate rtic

Real-Time Interrupt-driven Concurrency (RTIC) framework for ARM Cortex-M microcontrollers

HEADS UP This is an beta pre-release; there may be breaking changes in the API and semantics before a proper release is made.

IMPORTANT: This crate is published as cortex-m-rtic on crates.io but the name of the library is rtic.

The user level documentation can be found here.

Don't forget to check the documentation of the #[app] attribute (listed under the reexports section), which is the main component of the framework.

Minimum Supported Rust Version (MSRV)

This crate is guaranteed to compile on stable Rust 1.36 (2018 edition) and up. It might compile on older versions but that may change in any new patch release.

Semantic Versioning

Like the Rust project, this crate adheres to SemVer: breaking changes in the API and semantics require a semver bump (a new minor version release), with the exception of breaking changes that fix soundness issues -- those are considered bug fixes and can be landed in a new patch release.

Cargo features

  • heterogeneous. This opt-in feature enables the experimental heterogeneous multi-core support. This feature depends on unstable feature and requires the use of the nightly channel.

  • homogeneous. This opt-in feature enables the experimental homogeneous multi-core support.



Newtype over &'a mut T that implements the Mutex trait


A fraction


cortex_m::Peripherals minus SYST



A monotonic clock / counter


A marker trait that indicates that it is correct to use this type in multi-core context


Memory safe access to shared resources



Sets the given interrupt as pending

Attribute Macros


Attribute used to declare a RTIC application