aboutsummaryrefslogtreecommitdiff
path: root/book/en/src/by-example/software_tasks.md
diff options
context:
space:
mode:
Diffstat (limited to 'book/en/src/by-example/software_tasks.md')
-rw-r--r--book/en/src/by-example/software_tasks.md16
1 files changed, 16 insertions, 0 deletions
diff --git a/book/en/src/by-example/software_tasks.md b/book/en/src/by-example/software_tasks.md
new file mode 100644
index 0000000..0c9b62e
--- /dev/null
+++ b/book/en/src/by-example/software_tasks.md
@@ -0,0 +1,16 @@
+# Software tasks & spawn
+
+To declare tasks in the framework the `#[task]` attribute is used on a function.
+By default these tasks are referred to as software tasks as they do not have a direct coupling to
+an interrupt handler. Software tasks can be spawned (started) using the `task_name::spawn()` static
+method which will directly run the task given that there are no higher priority tasks running.
+This is exemplified in the following:
+
+``` rust
+{{#include ../../../../examples/spawn.rs}}
+```
+
+``` console
+$ cargo run --target thumbv7m-none-eabi --example spawn
+{{#include ../../../../ci/expected/spawn.run}}
+```