diff options
author | 2021-03-12 01:31:04 +0100 | |
---|---|---|
committer | 2021-03-12 01:31:04 +0100 | |
commit | 2e028abc1c9daaa75b14b74f00aa2780ccf88edc (patch) | |
tree | 058ec5c186b635b35814325d303cd80e8152ba2e /examples/minimal-task-local-late.rs | |
parent | 37530fd687cad35a66eab75a36e660743ba9c4f9 (diff) | |
download | rtic-2e028abc1c9daaa75b14b74f00aa2780ccf88edc.tar.gz rtic-2e028abc1c9daaa75b14b74f00aa2780ccf88edc.tar.zst rtic-2e028abc1c9daaa75b14b74f00aa2780ccf88edc.zip |
task local minimal examples
Diffstat (limited to '')
-rw-r--r-- | examples/minimal-task-local-late.rs | 34 |
1 files changed, 34 insertions, 0 deletions
diff --git a/examples/minimal-task-local-late.rs b/examples/minimal-task-local-late.rs new file mode 100644 index 00000000..9815516c --- /dev/null +++ b/examples/minimal-task-local-late.rs @@ -0,0 +1,34 @@ +//! examples/minimal-task-local-late.rs +#![deny(unsafe_code)] +#![deny(warnings)] +#![no_main] +#![no_std] + +use panic_semihosting as _; + +#[rtic::app(device = lm3s6965)] +mod app { + use cortex_m_semihosting::{debug, hprintln}; + + #[resources] + struct Resources { + // A local (move), late resource + #[task_local] + late: u32, + } + + #[init] + fn init(_: init::Context) -> (init::LateResources, init::Monotonics) { + (init::LateResources { late: 42 }, init::Monotonics()) + } + + // task_local is task_local + #[idle(resources = [late])] + fn idle(cx: idle::Context) -> ! { + hprintln!("IDLE:late = {}", cx.resources.late).unwrap(); + debug::exit(debug::EXIT_SUCCESS); + loop { + cortex_m::asm::nop(); + } + } +} |