rtic::export::Peripherals created by into instead of transmute

This commit is contained in:
Per Lindgren 2020-07-09 18:47:15 +02:00
parent bfb498e722
commit e297ceb1ad

View file

@ -38,15 +38,17 @@ pub fn codegen(
}
}
stmts.push(quote!(
// NOTE(transmute) to avoid debug_assertion in multi-core mode
let mut core: rtic::export::Peripherals = core::mem::transmute(());
));
if app.args.cores == 1 {
stmts.push(quote!(
// To set the variable in cortex_m so the peripherals cannot be taken multiple times
let _ = cortex_m::Peripherals::steal();
let peripherals = cortex_m::Peripherals::steal();
let mut core: rtic::export::Peripherals = peripherals.into();
));
} else {
stmts.push(quote!(
// NOTE(transmute) to avoid debug_assertion in multi-core mode
// (This code will go away when we drop multi-core mode)
let mut core: rtic::export::Peripherals = core::mem::transmute(());
));
}