aboutsummaryrefslogtreecommitdiff
path: root/docs/modules/ROOT/pages/runtime.adoc
diff options
context:
space:
mode:
Diffstat (limited to 'docs/modules/ROOT/pages/runtime.adoc')
-rw-r--r--docs/modules/ROOT/pages/runtime.adoc10
1 files changed, 9 insertions, 1 deletions
diff --git a/docs/modules/ROOT/pages/runtime.adoc b/docs/modules/ROOT/pages/runtime.adoc
index 2970bd59e..25feb9c29 100644
--- a/docs/modules/ROOT/pages/runtime.adoc
+++ b/docs/modules/ROOT/pages/runtime.adoc
@@ -20,6 +20,8 @@ IMPORTANT: The executor relies on tasks not blocking indefinitely, as this preve
20 20
21image::embassy_executor.png[Executor model] 21image::embassy_executor.png[Executor model]
22 22
23If you use the `#[embassy::main]` macro in your application, it creates the `Executor` for you and spawns the main entry point as the first task. You can also create the Executor manually, and you can in fact create multiple Executors.
24
23 25
24== Interrupts 26== Interrupts
25 27
@@ -29,10 +31,16 @@ The peripheral HAL then (4) ensures that interrupt signals are routed to to the
29 31
30image::embassy_irq.png[Interrupt handling] 32image::embassy_irq.png[Interrupt handling]
31 33
34NOTE: There exists a special executor named `InterruptExecutor` which can be driven by an interrupt. This can be used to drive tasks at different priority levels by creating multiple `InterruptExecutor` instances.
35
32== Time 36== Time
33 37
34Embassy features an internal timer queue enabled by the `time` feature flag. When enabled, Embassy assumes a time `Driver` implementation existing for the platform. Embassy provides time drivers for the nRF, STM32, RPi Pico, WASM and Std platforms. 38Embassy features an internal timer queue enabled by the `time` feature flag. When enabled, Embassy assumes a time `Driver` implementation existing for the platform. Embassy provides time drivers for the nRF, STM32, RPi Pico, WASM and Std platforms.
35 39
36The timer driver implementations for the embedded platforms support a fixed number of alarms that can be set, which is normally the number of tasks you expect wanting to use the timer at the same time. 40The timer driver implementations for the embedded platforms might support only a fixed number of alarms that can be set. Make sure the number of tasks you expect wanting to use the timer at the same time do not exceed this limit.
41
42The timer speed is configurable at compile time using the `time-tick-<frequency>`. At present, the the timer may be configured to run at 1000 Hz, 32768 Hz, or 1 MHz. Before changing the defaults, make sure the target HAL supports the particular frequency setting.
43
44
37 45
38NOTE: If you do not require timers in your application, not enabling the `time` feature can save some CPU cycles and reduce power usage. 46NOTE: If you do not require timers in your application, not enabling the `time` feature can save some CPU cycles and reduce power usage.