RTIC on the STM32F4xx Nucleo board
Rust
We assume Rust to be installed using rustup.
Additionally you need to install the thumbv7em-none-eabi
target.
> rustup target add thumbv7em-none-eabi
You also need cargo-binutils.
For RTT tracing
We assume the following tools are in place:
gdb
based debugging
For low level Linux tooling:
openocd
-
arm-none-eabi-gdb
, or gdb-multiarch
Editor
You may use any editor of choice. vscode
supports Rust using the rust-analyzer
plugin.
Exercises
-
src/main.rs
Developing embedded applications in Rust is made simle by the RTIC framework. In this exercise you will familiarize yourself with the basics
init
andidle
, and see how you can trace the output to a terminal usingcargo-run
.You will also learn about
panic
s and how they can be traced. -
examples/rtt_timing.rs
Here you will learn about cycle accurate timing measurements.
-
Using instrumentation code (which introduces bloat and overhead).
-
Non intrusive measurements using the on-chip debug unit and
gdb
. -
Code generation optimization
-
Code inspection,
objdump
, debugging and interactivedisassemble
. -
Code trimming, RTIC is "A Zero-Cost Abstraction for Memory Safe Concurrency".
-