Crate cortex_m_rtfm [] [src]

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

This crate is based on the RTFM framework created by the Embedded Systems group at Luleå University of Technology, led by Prof. Per Lindgren, and uses a simplified version of the Stack Resource Policy as scheduling policy (check the references for details).

Features

Constraints

Dependencies

The application crate must depend on a device crate generated using svd2rust v0.12.x and the "rt" feature of that crate must be enabled. The SVD file used to generate the device crate must contain <cpu> information.

app!

The app! macro is documented here.

Important: Cortex-M7 devices

If targeting a Cortex-M7 device with revision r0p1 then you MUST enable the cm7-r0p1 Cargo feature of this crate or the Resource.claim and Resource.claim_mut methods WILL misbehave.

Examples

In increasing grade of complexity. See the examples module.

References

The original Stack Resource Policy paper. PDF.

A description of the RTFM task and resource model. PDF

Reexports

pub use cortex_m_rtfm_macros::app;

Modules

examples

Examples

Structs

Threshold

Preemption threshold token

Traits

Resource

A resource, a mechanism to share data between tasks

Functions

atomic

Executes the closure f in a preemption free context

bkpt

Puts the processor in Debug state. Debuggers can pick this up as a "breakpoint".

set_pending

Sets an interrupt, that is a task, as pending

wfi

Wait For Interrupt