add extra info to stable arena usage
This commit is contained in:
parent
9cd0beaee3
commit
b825f76c28
1 changed files with 18 additions and 1 deletions
|
@ -158,8 +158,25 @@ Note that the git revision should match any other embassy patches or git depende
|
|||
|
||||
When you aren't using the `nightly` feature of `embassy-executor`, the executor uses a bump allocator, which may require configuration.
|
||||
|
||||
Something like this error will occur at **compile time** if the task arena is *too large* for the target's RAM:
|
||||
|
||||
[source,plain]
|
||||
----
|
||||
rust-lld: error: section '.bss' will not fit in region 'RAM': overflowed by _ bytes
|
||||
rust-lld: error: section '.uninit' will not fit in region 'RAM': overflowed by _ bytes
|
||||
----
|
||||
|
||||
And this message will appear at **runtime** if the task arena is *too small* for the tasks running:
|
||||
|
||||
[source,plain]
|
||||
----
|
||||
ERROR panicked at 'embassy-executor: task arena is full. You must increase the arena size, see the documentation for details: https://docs.embassy.dev/embassy-executor/'
|
||||
----
|
||||
|
||||
NOTE: If all tasks are spawned at startup, this panic will occur immediately.
|
||||
|
||||
Check out link:https://docs.embassy.dev/embassy-executor/git/cortex-m/index.html#task-arena[Task Arena Documentation] for more details.
|
||||
|
||||
== Can I use manual ISRs alongside Embassy?
|
||||
|
||||
Yes! This can be useful if you need to respond to an event as fast as possible, and the latency caused by the usual “ISR, wake, return from ISR, context switch to woken task” flow is too much for your application. Simply define a `#[interrupt] fn INTERRUPT_NAME() {}` handler as you would link:https://docs.rust-embedded.org/book/start/interrupts.html[in any other embedded rust project].
|
||||
Yes! This can be useful if you need to respond to an event as fast as possible, and the latency caused by the usual “ISR, wake, return from ISR, context switch to woken task” flow is too much for your application. Simply define a `#[interrupt] fn INTERRUPT_NAME() {}` handler as you would link:https://docs.rust-embedded.org/book/start/interrupts.html[in any other embedded rust project].
|
||||
|
|
Loading…
Reference in a new issue