aboutsummaryrefslogtreecommitdiff
path: root/book/en/src/migration
diff options
context:
space:
mode:
Diffstat (limited to 'book/en/src/migration')
-rw-r--r--book/en/src/migration/migration_v5.md31
1 files changed, 31 insertions, 0 deletions
diff --git a/book/en/src/migration/migration_v5.md b/book/en/src/migration/migration_v5.md
index 1d83444..5cf818c 100644
--- a/book/en/src/migration/migration_v5.md
+++ b/book/en/src/migration/migration_v5.md
@@ -6,6 +6,37 @@ This section describes how to upgrade from v0.5.x to v0.6.0 of the RTIC framewor
Change the version of `cortex-m-rtic` to `"0.6.0"`.
+## Move Dispatchers from `extern "C"` to app arguments.
+
+Change
+
+``` rust
+#[rtic::app(/* .. */)]
+const APP: () = {
+ [code here]
+
+ // RTIC requires that unused interrupts are declared in an extern block when
+ // using software tasks; these free interrupts will be used to dispatch the
+ // software tasks.
+ extern "C" {
+ fn SSI0();
+ fn QEI0();
+ }
+};
+```
+
+into
+
+``` rust
+#[rtic::app(/* .. */, dispatchers = [SSI0, QEI0])]
+mod app {
+ [code here]
+}
+```
+
+This works also for ram functions, see examples/ramfunc.rs
+
+
## Module instead of Const
With the support of attributes on modules the `const APP` workaround is not needed.