//! Nesting claims and how the preemption threshold works //! //! If you run this program you'll hit the breakpoints as indicated by the //! letters in the comments: A, then B, then C, etc. #![deny(unsafe_code)] #![feature(proc_macro)] #![no_std] extern crate cortex_m; extern crate cortex_m_rtfm as rtfm; extern crate stm32f40x; #[macro_use] extern crate cortex_m_debug; use rtfm::app; app! { device: stm32f40x, } fn init(_p: init::Peripherals) { let mut sum = 0; for i in 0..10 { ipln!("i = {}", i); sum += i; } ipln!("Sum 0..10 = {}", sum); } #[inline(never)] fn idle() -> ! { loop { rtfm::wfi(); } }