Attribute Macro embassy_macros::main_riscv
source · #[main_riscv]
Expand description
Creates a new executor
instance and declares an application entry point for RISC-V spawning the corresponding function body as an async task.
The following restrictions apply:
- The function must accept exactly 1 parameter, an
embassy_executor::Spawner
handle that it can use to spawn additional tasks. - The function must be declared
async
. - The function must not use generics.
- Only a single
main
task may be declared.
A user-defined entry macro can be optionally provided via the entry
argument to override the default of riscv_rt::entry
.
Examples
Spawning a task:
#[embassy_executor::main]
async fn main(_s: embassy_executor::Spawner) {
// Function body
}
Spawning a task using a custom entry macro:
#[embassy_executor::main(entry = "esp_riscv_rt::entry")]
async fn main(_s: embassy_executor::Spawner) {
// Function body
}