From eb9c66f76adf4b3ce8959317210a6542105cdf17 Mon Sep 17 00:00:00 2001 From: Per Lindgren <per.lindgren@ltu.se> Date: Sun, 15 Oct 2017 18:29:21 +0200 Subject: [PATCH] test14 --- README.md | 92 +++++++++++++++++++++++++++++++++++++++++++++++-------- 1 file changed, 80 insertions(+), 12 deletions(-) diff --git a/README.md b/README.md index 13540ed..c825de8 100644 --- a/README.md +++ b/README.md @@ -177,9 +177,9 @@ Seminars a. Backport assignment `3b` to your choosen target. Use semihosting in order to `write` the resulting string to the host. You may need to use `--release` for decoding the long (`coded`) message, as being deeply recursive unoptimized code may run out of stack memory. b. Discuss from a memory safety perspective the outcome. - + c. Compare for the short message (`abc`), the number of cycles required for `decode` in `--dev` vs. `--release`. As a comparison my straightforword C implementation took 2200 cycles in best optimized mode using `gcc` (-o3), while my (transation) to Rust code took 1780 cycles. (Both executed on a bluepill board at 8MHz with flash memory wait states). - + Make a new git for your embedded development. Make three branches (`3a, 3b, 3c`) with updated documentation according to the above. @@ -187,7 +187,7 @@ Seminars * Prepration - Bring a USB mini cable and your dev board. Be prepared to present the progress on assignment 3. + Bring a USB mini cable and your dev board. Be prepared to present the progress on assignment 3. * Topic @@ -202,19 +202,87 @@ Seminars 6. Memory Safe Concrreny - Preparation + * Preparation + + * Finish lab 3 and be prepared to show your solution. + + * Topic + + * UnsafeCell, and synchronization in the RTFM model. + + * Requirements for Stack Resource Policy (SRP) based single-core scheduling. + + * [cortex-m-rtfm](https://github.com/japaric/cortex-m-rtfm) The RTFM-core (task and resource model) in Rust for the Cortex-M family + + * [svd2rust](https://github.com/japaric/svd2rust) Generating + + * Assignment + + Implement a simple system with two tasks + + * a perodic task executing each 10ms, that blinks the onboard LED, and + * usart task receiving commands (pause, start, period) + * a shared resource (data structure) protecting the command and period + + Make a new git with the development and documentation. + +7. Macros + + * Preparation + + Be prepared to present the progress on assignment 4. + + * Topic + + We will cover implementation of the RTFM-core crate. + + Special focus to `macro_rules` and `procedural macros`. + +8. Concurrent Reactive Objects + + * Preparation + + Be prepared to present assignment 4. + + * Topic + + A component model for reactive real-time programming. + + We will cover the programming model and the implementation, including the `build.rs`, parsing of model files and generation of Rust code. + + * Assignment + + * port the assignment 4 to the RTFM-CRC model. + + Make a new git for the development and documentation. + + +9. Presentation of project ideas + + * Preparation + + Be prepared to present progress of assignmont 5. + + * Topic + + Discussion of projects + + * Assignment + + Write a project specicification including individual grading assessment critera. + +10. Wrapup + + * Preparation + + * Be prepared to present assignment 5. + * Be prepared to present your project. + - * Finish lab 3 and be prepared to show your solution. - - Topic - * UnsafeCell, and synchronization in the RTFM model. - - *Requirements for Stack Resource Policy (SRP) based single-core scheduling. + -The RTFM-core (task and resource model) - * -- GitLab