diff options
| author | Jorge Aparicio <jorge@japaric.io> | 2019-04-16 23:04:24 +0200 |
|---|---|---|
| committer | Jorge Aparicio <jorge@japaric.io> | 2019-04-16 23:04:24 +0200 |
| commit | aa7eec02996aca9304187f36d674d5fe898aece6 (patch) | |
| tree | a6b0769f5b7b92c3d79f1b8b5b788bba0fe46fc3 /book/en/src/by-example/resources.md | |
| parent | 8da925647ea1ce47e876526d0bd3d918e782d578 (diff) | |
check task priority at compile time
before we were checking the priority at runtime. The compile time error message
when the priority is too high is kind of awful though.
Diffstat (limited to 'book/en/src/by-example/resources.md')
| -rw-r--r-- | book/en/src/by-example/resources.md | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/book/en/src/by-example/resources.md b/book/en/src/by-example/resources.md index 46d04a7..17f4d13 100644 --- a/book/en/src/by-example/resources.md +++ b/book/en/src/by-example/resources.md @@ -69,6 +69,13 @@ the critical section created by the lowest priority handler. $ cargo run --example lock {{#include ../../../../ci/expected/lock.run}}``` +One more note about priorities: choosing a priority higher than what the device +supports (that is `1 << NVIC_PRIO_BITS`) will result in a compile error. Due to +limitations in the language the error is currently far from helpful: it will say +something along the lines of "evaluation of constant value failed" and the span +of the error will *not* point out to the problematic interrupt value -- we are +sorry about this! + ## Late resources Unlike normal `static` variables, which need to be assigned an initial value |
