Skip to content
Snippets Groups Projects
Commit 61605481 authored by Jorge Aparicio's avatar Jorge Aparicio
Browse files

v0.2.0

parent 2d80f363
No related branches found
No related tags found
No related merge requests found
...@@ -5,6 +5,33 @@ This project adheres to [Semantic Versioning](http://semver.org/). ...@@ -5,6 +5,33 @@ This project adheres to [Semantic Versioning](http://semver.org/).
## [Unreleased] ## [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 ## [v0.1.1] - 2017-06-05
### Changed ### Changed
...@@ -15,5 +42,6 @@ This project adheres to [Semantic Versioning](http://semver.org/). ...@@ -15,5 +42,6 @@ This project adheres to [Semantic Versioning](http://semver.org/).
- Initial release - 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 [v0.1.1]: https://github.com/japaric/cortex-m-rtfm/compare/v0.1.0...v0.1.1
...@@ -14,12 +14,10 @@ version = "0.2.0" ...@@ -14,12 +14,10 @@ version = "0.2.0"
[dependencies] [dependencies]
cortex-m = "0.3.1" cortex-m = "0.3.1"
cortex-m-rtfm-macros = "=0.2.0"
rtfm-core = "0.1.0" rtfm-core = "0.1.0"
static-ref = "0.2.1" static-ref = "0.2.1"
[dependencies.cortex-m-rtfm-macros]
path = "macros"
[target.'cfg(target_arch = "x86_64")'.dev-dependencies] [target.'cfg(target_arch = "x86_64")'.dev-dependencies]
compiletest_rs = "0.2.8" compiletest_rs = "0.2.8"
......
[package] [package]
authors = ["Jorge Aparicio <jorge@japaric.io>"] authors = ["Jorge Aparicio <jorge@japaric.io>"]
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" name = "cortex-m-rtfm-macros"
version = "0.1.0" repository = "https://github.com/japaric/cortex-m-rtfm"
version = "0.2.0"
[dependencies] [dependencies]
error-chain = "0.10.0" error-chain = "0.10.0"
......
//! Procedural macros for the RTFM framework //! Procedural macros of the `cortex-m-rtfm` crate
#![deny(warnings)] #![deny(warnings)]
#![feature(proc_macro)] #![feature(proc_macro)]
#![recursion_limit = "128"] #![recursion_limit = "128"]
......
...@@ -30,7 +30,7 @@ ...@@ -30,7 +30,7 @@
//! # Constraints //! # Constraints
//! //!
//! - Tasks must run to completion. That's it, tasks can't contain endless //! - 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. //! - Task priorities must remain constant at runtime.
//! //!
...@@ -44,7 +44,7 @@ ...@@ -44,7 +44,7 @@
//! [`svd2rust`]: https://docs.rs/svd2rust/0..0/svd2rust/ //! [`svd2rust`]: https://docs.rs/svd2rust/0..0/svd2rust/
//! [`<cpu>`]: https://www.keil.com/pack/doc/CMSIS/SVD/html/elem_cpu.html //! [`<cpu>`]: 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). //! The `app!` macro is documented [here](../cortex_m_rtfm_macros/fn.app.html).
//! //!
...@@ -52,6 +52,24 @@ ...@@ -52,6 +52,24 @@
//! //!
//! In increasing grade of complexity. See the [examples](./examples/index.html) //! In increasing grade of complexity. See the [examples](./examples/index.html)
//! module. //! 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(missing_docs)]
#![deny(warnings)] #![deny(warnings)]
#![feature(proc_macro)] #![feature(proc_macro)]
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment