Fix fences

This commit is contained in:
Emil Fresk 2023-01-04 20:29:16 +01:00 committed by Henrik Tjäder
parent d27d0fe33f
commit 5c3cedf69a
2 changed files with 7 additions and 8 deletions

View file

@ -101,7 +101,12 @@ pub fn codegen(app: &App, analysis: &Analysis) -> Vec<TokenStream2> {
const PRIORITY: u8 = #level; const PRIORITY: u8 = #level;
rtic::export::run(PRIORITY, || { rtic::export::run(PRIORITY, || {
// Have the acquire/release semantics outside the checks to no overdo it
core::sync::atomic::fence(core::sync::atomic::Ordering::Acquire);
#(#stmts)* #(#stmts)*
core::sync::atomic::fence(core::sync::atomic::Ordering::Release);
}); });
} }
)); ));

View file

@ -111,14 +111,8 @@ pub fn codegen(
let v = Vec::new(); let v = Vec::new();
let cfgs = match ctxt { let cfgs = match ctxt {
Context::HardwareTask(t) => { Context::HardwareTask(t) => &app.hardware_tasks[t].cfgs,
&app.hardware_tasks[t].cfgs Context::SoftwareTask(t) => &app.software_tasks[t].cfgs,
// ...
}
Context::SoftwareTask(t) => {
&app.software_tasks[t].cfgs
// ...
}
_ => &v, _ => &v,
}; };