aboutsummaryrefslogtreecommitdiff
path: root/examples/idle-wfi.rs
diff options
context:
space:
mode:
Diffstat (limited to 'examples/idle-wfi.rs')
-rw-r--r--examples/idle-wfi.rs48
1 files changed, 0 insertions, 48 deletions
diff --git a/examples/idle-wfi.rs b/examples/idle-wfi.rs
deleted file mode 100644
index 8134ce3..0000000
--- a/examples/idle-wfi.rs
+++ /dev/null
@@ -1,48 +0,0 @@
-//! examples/idle-wfi.rs
-
-#![deny(unsafe_code)]
-#![deny(warnings)]
-#![deny(missing_docs)]
-#![no_main]
-#![no_std]
-
-use panic_semihosting as _;
-
-#[rtic::app(device = lm3s6965)]
-mod app {
- use cortex_m_semihosting::{debug, hprintln};
-
- #[shared]
- struct Shared {}
-
- #[local]
- struct Local {}
-
- #[init]
- fn init(mut cx: init::Context) -> (Shared, Local) {
- hprintln!("init");
-
- // Set the ARM SLEEPONEXIT bit to go to sleep after handling interrupts
- // See https://developer.arm.com/docs/100737/0100/power-management/sleep-mode/sleep-on-exit-bit
- cx.core.SCB.set_sleepdeep();
-
- (Shared {}, Local {})
- }
-
- #[idle(local = [x: u32 = 0])]
- fn idle(cx: idle::Context) -> ! {
- // Locals in idle have lifetime 'static
- let _x: &'static mut u32 = cx.local.x;
-
- hprintln!("idle");
-
- debug::exit(debug::EXIT_SUCCESS); // Exit QEMU simulator
-
- loop {
- // Now Wait For Interrupt is used instead of a busy-wait loop
- // to allow MCU to sleep between interrupts
- // https://developer.arm.com/documentation/ddi0406/c/Application-Level-Architecture/Instruction-Details/Alphabetical-list-of-instructions/WFI
- rtic::export::wfi()
- }
- }
-}