diff --git a/Cargo.toml b/Cargo.toml index ff82901490..33e83f7d5a 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -3,8 +3,13 @@ authors = [ "Jorge Aparicio ", "Per Lindgren ", ] -build = "build.rs" +categories = ["concurrency", "embedded", "no-std"] +description = "Real Time For the Masses (RTFM), a framework for building concurrent applications, for ARM Cortex-M microcontrollers" +documentation = "https://docs.rs/cortex-m-rtfm" +keywords = ["arm", "cortex-m"] +license = "MIT OR Apache-2.0" name = "cortex-m-rtfm" +repository = "https://github.com/japaric/cortex-m-rtfm" version = "0.1.0" [build-dependencies] diff --git a/src/lib.rs b/src/lib.rs index b478034637..239c80234c 100644 --- a/src/lib.rs +++ b/src/lib.rs @@ -1,14 +1,13 @@ -//! RTFM: Real Time For the Masses (ARM Cortex-M edition) -//! -//! `cortex-m-rtfm` is a framework for building concurrent applications for ARM -//! Cortex-M microcontrollers. +//! Real Time For the Masses (RTFM), a framework for building concurrent +//! applications, 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). +//! group at [LuleƄ University of Technology][ltu], led by Prof. Per Lindgren, +//! and uses a simplified version of the Stack Resource Policy as scheduling +//! policy (check the [references] for details). //! //! [the RTFM framework]: http://www.rtfm-lang.org/ +//! [ltu]: https://www.ltu.se/?l=en //! [per]: https://www.ltu.se/staff/p/pln-1.11258?l=en //! [references]: ./index.html#references //! @@ -16,9 +15,9 @@ //! //! - **Event triggered tasks** as the unit of concurrency. //! - Supports prioritization of tasks and, thus, **preemptive multitasking**. -//! - **Efficient data race free memory sharing** through fine grained *non +//! - **Efficient and data race free memory sharing** through fine grained *non //! global* critical sections. -//! - **Deadlock free execution** guaranteed at compile time. +//! - **Deadlock free execution**, guaranteed at compile time. //! - **Minimal scheduling overhead** as the scheduler has no "software //! component"; the hardware does all the scheduling. //! - **Highly efficient memory usage**. All the tasks share the call stack and @@ -34,6 +33,11 @@ //! analysis and scheduling analysis techniques. (Though we haven't yet //! developed Rust friendly tooling for that.) //! +//! # Requirements +//! +//! - Tasks must run to completion. That's it, tasks can't contain endless +//! loops. +//! //! # Limitations //! //! - Task priorities must remain constant at runtime.