diff --git a/CHANGELOG.md b/CHANGELOG.md index 889863ad2d..4a0d614d49 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -5,6 +5,33 @@ This project adheres to [Semantic Versioning](http://semver.org/). ## [Unreleased] +## [v0.2.0] - 2017-07-29 + +### Added + +- The `app!` macro, a macro to declare the tasks and resources of an + application. + +- The `Resource` trait, which is used to write generic code that deals with + resources. + +### Changed + +- [breaking-change] The signature of the `atomic` function has changed. + +- [breaking-change] The threshold token has become a concrete type and lost its + `raise` method. + +### Removed + +- [breaking-change] The `tasks!` and `peripherals!` macros. + +- [breaking-change] The ceiling and priority tokens. + +- [breaking-change] The `Local`, `Resource` and `Peripheral` structs. + +- [breaking-change] The traits related to type level integers. + ## [v0.1.1] - 2017-06-05 ### Changed @@ -15,5 +42,6 @@ This project adheres to [Semantic Versioning](http://semver.org/). - Initial release -[Unreleased]: https://github.com/japaric/cortex-m-rtfm/compare/v0.1.1...HEAD +[Unreleased]: https://github.com/japaric/cortex-m-rtfm/compare/v0.2.0...HEAD +[v0.2.0]: https://github.com/japaric/cortex-m-rtfm/compare/v0.1.1...v0.2.0 [v0.1.1]: https://github.com/japaric/cortex-m-rtfm/compare/v0.1.0...v0.1.1 diff --git a/Cargo.toml b/Cargo.toml index f7fe92abfc..f2a63e5df0 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -14,12 +14,10 @@ version = "0.2.0" [dependencies] cortex-m = "0.3.1" +cortex-m-rtfm-macros = "=0.2.0" rtfm-core = "0.1.0" static-ref = "0.2.1" -[dependencies.cortex-m-rtfm-macros] -path = "macros" - [target.'cfg(target_arch = "x86_64")'.dev-dependencies] compiletest_rs = "0.2.8" diff --git a/macros/Cargo.toml b/macros/Cargo.toml index a62d20892b..eda10c57dd 100644 --- a/macros/Cargo.toml +++ b/macros/Cargo.toml @@ -1,7 +1,13 @@ [package] authors = ["Jorge Aparicio "] +categories = ["concurrency", "embedded", "no-std"] +description = "Procedural macros of the cortex-m-rtfm crate" +documentation = "https://docs.rs/cortex-m-rtfm-macros" +keywords = ["arm", "cortex-m"] +license = "MIT OR Apache-2.0" name = "cortex-m-rtfm-macros" -version = "0.1.0" +repository = "https://github.com/japaric/cortex-m-rtfm" +version = "0.2.0" [dependencies] error-chain = "0.10.0" diff --git a/macros/src/lib.rs b/macros/src/lib.rs index 2a1f72e418..bef5dcc125 100644 --- a/macros/src/lib.rs +++ b/macros/src/lib.rs @@ -1,4 +1,4 @@ -//! Procedural macros for the RTFM framework +//! Procedural macros of the `cortex-m-rtfm` crate #![deny(warnings)] #![feature(proc_macro)] #![recursion_limit = "128"] diff --git a/src/lib.rs b/src/lib.rs index 6188ed3174..30a490212d 100644 --- a/src/lib.rs +++ b/src/lib.rs @@ -30,7 +30,7 @@ //! # Constraints //! //! - Tasks must run to completion. That's it, tasks can't contain endless -//! loops. However, you can run an endless event loop in the `idle` function. +//! loops. However, you can run an endless event loop in the `idle` *loop*. //! //! - Task priorities must remain constant at runtime. //! @@ -44,7 +44,7 @@ //! [`svd2rust`]: https://docs.rs/svd2rust/0..0/svd2rust/ //! [``]: https://www.keil.com/pack/doc/CMSIS/SVD/html/elem_cpu.html //! -//! # More documentation +//! # `app!` //! //! The `app!` macro is documented [here](../cortex_m_rtfm_macros/fn.app.html). //! @@ -52,6 +52,24 @@ //! //! In increasing grade of complexity. See the [examples](./examples/index.html) //! module. +//! +//! # References +//! +//! - Baker, T. P. (1991). Stack-based scheduling of realtime processes. +//! *Real-Time Systems*, 3(1), 67-99. +//! +//! > The original Stack Resource Policy paper. [PDF][srp]. +//! +//! [srp]: http://www.cs.fsu.edu/~baker/papers/mstacks3.pdf +//! +//! - Eriksson, J., Häggström, F., Aittamaa, S., Kruglyak, A., & Lindgren, P. +//! (2013, June). Real-time for the masses, step 1: Programming API and static +//! priority SRP kernel primitives. In Industrial Embedded Systems (SIES), +//! 2013 8th IEEE International Symposium on (pp. 110-113). IEEE. +//! +//! > A description of the RTFM task and resource model. [PDF][rtfm] +//! +//! [rtfm]: http://www.diva-portal.org/smash/get/diva2:1005680/FULLTEXT01.pdf #![deny(missing_docs)] #![deny(warnings)] #![feature(proc_macro)]