[][src]Crate rtfm

Real Time For the Masses (RTFM) framework for ARM Cortex-M microcontrollers

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

The user level documentation can be found here.

Don't forget to check the documentation of the #[app] attribute, which is the main component of the framework.

Minimum Supported Rust Version (MSRV)

This crate is guaranteed to compile on stable Rust 1.31 (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

  • timer-queue. This opt-in feature enables the schedule API which can be used to schedule tasks to run in the future. Also see Instant and Duration.
  • nightly. Enabling this opt-in feature makes RTFM internally use the unstable core::mem::MaybeUninit API and unstable const_fn language feature to reduce static memory usage, runtime overhead and initialization overhead. This feature requires a nightly compiler and may stop working at any time!


pub use cortex_m_rtfm_macros::app;



A Duration type to represent a span of time.


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


A measurement of a monotonically nondecreasing clock. Opaque and useful only with Duration


Core peripherals



Memory safe access to shared resources


Adds the cycles method to the u32 type



Sets the given interrupt as pending