diff options
author | 2019-06-18 10:31:31 +0200 | |
---|---|---|
committer | 2019-06-18 10:31:31 +0200 | |
commit | 9897728709528a02545523bea72576abce89dc4c (patch) | |
tree | 49619bfb8e3e09cccbc9c2bd1854abfe1618c8fd /macros/src/codegen/post_init.rs | |
parent | 81275bfa4f41e2066770087f3a33cad4227eab41 (diff) | |
download | rtic-9897728709528a02545523bea72576abce89dc4c.tar.gz rtic-9897728709528a02545523bea72576abce89dc4c.tar.zst rtic-9897728709528a02545523bea72576abce89dc4c.zip |
add homogeneous multi-core support
Diffstat (limited to 'macros/src/codegen/post_init.rs')
-rw-r--r-- | macros/src/codegen/post_init.rs | 18 |
1 files changed, 16 insertions, 2 deletions
diff --git a/macros/src/codegen/post_init.rs b/macros/src/codegen/post_init.rs index f492d31d..3f1e4451 100644 --- a/macros/src/codegen/post_init.rs +++ b/macros/src/codegen/post_init.rs @@ -27,9 +27,16 @@ pub fn codegen( // initialized if analysis.initialization_barriers.contains_key(&core) { let ib = util::init_barrier(core); + let shared = if cfg!(feature = "heterogeneous") { + Some(quote!( + #[rtfm::export::shared] + )) + } else { + None + }; const_app.push(quote!( - #[rtfm::export::shared] + #shared static #ib: rtfm::export::Barrier = rtfm::export::Barrier::new(); )); @@ -84,9 +91,16 @@ pub fn codegen( if core == FIRST { for &i in analysis.timer_queues.keys() { let rv = util::rendezvous_ident(i); + let shared = if cfg!(feature = "heterogeneous") { + Some(quote!( + #[rtfm::export::shared] + )) + } else { + None + }; const_app.push(quote!( - #[rtfm::export::shared] + #shared static #rv: rtfm::export::Barrier = rtfm::export::Barrier::new(); )); |