diff options
Diffstat (limited to 'embassy-executor-macros/src/macros/main.rs')
| -rw-r--r-- | embassy-executor-macros/src/macros/main.rs | 14 |
1 files changed, 14 insertions, 0 deletions
diff --git a/embassy-executor-macros/src/macros/main.rs b/embassy-executor-macros/src/macros/main.rs index 3c0d58567..088e64d1c 100644 --- a/embassy-executor-macros/src/macros/main.rs +++ b/embassy-executor-macros/src/macros/main.rs | |||
| @@ -12,6 +12,20 @@ struct Args { | |||
| 12 | entry: Option<String>, | 12 | entry: Option<String>, |
| 13 | } | 13 | } |
| 14 | 14 | ||
| 15 | pub fn avr() -> TokenStream { | ||
| 16 | quote! { | ||
| 17 | #[avr_device::entry] | ||
| 18 | fn main() -> ! { | ||
| 19 | let mut executor = ::embassy_executor::Executor::new(); | ||
| 20 | let executor = unsafe { __make_static(&mut executor) }; | ||
| 21 | |||
| 22 | executor.run(|spawner| { | ||
| 23 | spawner.must_spawn(__embassy_main(spawner)); | ||
| 24 | }) | ||
| 25 | } | ||
| 26 | } | ||
| 27 | } | ||
| 28 | |||
| 15 | pub fn riscv(args: &[NestedMeta]) -> TokenStream { | 29 | pub fn riscv(args: &[NestedMeta]) -> TokenStream { |
| 16 | let maybe_entry = match Args::from_list(args) { | 30 | let maybe_entry = match Args::from_list(args) { |
| 17 | Ok(args) => args.entry, | 31 | Ok(args) => args.entry, |
