From aa7eec02996aca9304187f36d674d5fe898aece6 Mon Sep 17 00:00:00 2001 From: Jorge Aparicio Date: Tue, 16 Apr 2019 23:04:24 +0200 Subject: 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. --- book/en/src/by-example/resources.md | 7 +++++++ 1 file changed, 7 insertions(+) (limited to 'book/en/src') 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 -- cgit v1.2.3