diff options
Diffstat (limited to 'examples/local_minimal.rs')
-rw-r--r-- | examples/local_minimal.rs | 30 |
1 files changed, 30 insertions, 0 deletions
diff --git a/examples/local_minimal.rs b/examples/local_minimal.rs new file mode 100644 index 00000000..13531c5e --- /dev/null +++ b/examples/local_minimal.rs @@ -0,0 +1,30 @@ +//! examples/local_minimal.rs +#![deny(unsafe_code)] +#![deny(warnings)] +#![no_main] +#![no_std] + +use cortex_m_semihosting::{debug, hprintln}; +use panic_semihosting as _; + +#[rtfm::app(device = lm3s6965)] +const APP: () = { + struct Resources { + // A local (move), late resource + #[task_local] + l: u32, + } + + #[init] + fn init(_: init::Context) -> init::LateResources { + init::LateResources { l: 42 } + } + + // l is task_local + #[idle(resources =[l])] + fn idle(cx: idle::Context) -> ! { + hprintln!("IDLE:l = {}", cx.resources.l).unwrap(); + debug::exit(debug::EXIT_SUCCESS); + loop {} + } +}; |