safe &'static mut references via init.resources

This commit is contained in:
Jorge Aparicio 2017-12-09 17:14:51 +01:00
parent a6dd004113
commit d30bdcb096
6 changed files with 153 additions and 10 deletions

View file

@ -0,0 +1,32 @@
//! Safe creation of `&'static mut` references
#![deny(unsafe_code)]
#![deny(warnings)]
#![feature(proc_macro)]
#![no_std]
extern crate cortex_m_rtfm as rtfm;
extern crate stm32f103xx;
use rtfm::app;
app! {
device: stm32f103xx,
resources: {
static BUFFER: [u8; 16] = [0; 16];
},
init: {
resources: [BUFFER],
},
}
fn init(_p: init::Peripherals, r: init::Resources) {
let _buf: &'static mut [u8] = r.BUFFER;
}
fn idle() -> ! {
loop {
rtfm::wfi();
}
}