rtic/examples/init.rs
bors[bot] dbf9a7f298
Merge #368
368: Mod over const r=korken89 a=AfoHT

Related [RFC](https://github.com/rtic-rs/rfcs/pull/34)

Dependent on [rtic-syntax-PR30](https://github.com/rtic-rs/rtic-syntax/pull/30)

~~Currently using my own dev-branch~~

Co-authored-by: Henrik Tjäder <henrik@tjaders.com>
2020-10-05 08:40:19 +00:00

34 lines
826 B
Rust

//! examples/init.rs
#![deny(unsafe_code)]
#![deny(warnings)]
#![no_main]
#![no_std]
use cortex_m_semihosting::{debug, hprintln};
use panic_semihosting as _;
#[rtic::app(device = lm3s6965, peripherals = true)]
mod app {
#[init]
fn init(cx: init::Context) {
static mut X: u32 = 0;
// Cortex-M peripherals
let _core: cortex_m::Peripherals = cx.core;
// Device specific peripherals
let _device: lm3s6965::Peripherals = cx.device;
// Safe access to local `static mut` variable
let _x: &'static mut u32 = X;
// Access to the critical section token,
// to indicate that this is a critical seciton
let _cs_token: bare_metal::CriticalSection = cx.cs;
hprintln!("init").unwrap();
debug::exit(debug::EXIT_SUCCESS);
}
}