From cee9f35b0368938072152dec2b30322add001585 Mon Sep 17 00:00:00 2001 From: Jorge Aparicio Date: Mon, 5 Nov 2018 01:03:19 +0100 Subject: [PATCH] concurrency: update RTFM description and link to documentation --- src/concurrency/concurrency.md | 17 ++++++++++------- 1 file changed, 10 insertions(+), 7 deletions(-) diff --git a/src/concurrency/concurrency.md b/src/concurrency/concurrency.md index a4d4671..b4386ad 100644 --- a/src/concurrency/concurrency.md +++ b/src/concurrency/concurrency.md @@ -519,17 +519,20 @@ we can do? ## RTFM One alternative is the [RTFM framework], short for Real Time For the Masses. It -uses interrupt priorities to statically ensure that shared resources are always -accessed safely, without requiring the overhead of always entering critical -sections and using reference counting (as in `RefCell`). This has a number of -advantages such as guaranteeing no deadlocks and giving extremely low time and -memory overhead. +enforces static priorities and tracks accesses to `static mut` variables +("resources") to statically ensure that shared resources are always accessed +safely, without requiring the overhead of always entering critical sections and +using reference counting (as in `RefCell`). This has a number of advantages such +as guaranteeing no deadlocks and giving extremely low time and memory overhead. [RTFM framework]: https://github.com/japaric/cortex-m-rtfm -Check out [the documentation] for more information! +The framework also includes other features like message passing, which reduces +the need for explicit shared state, and the ability to schedule tasks to run at +a given time, which can be used to implement periodic tasks. Check out [the +documentation] for more information! -[the documentation]: https://japaric.github.io/cortex-m-rtfm/cortex_m_rtfm/ +[the documentation]: https://japaric.github.io/cortex-m-rtfm/book/ ## Real Time Operating Systems