In order to create a device firmware, you will need to set up an embedded toolchain for Rust.
In order to install Rust and Rust components, you will need rustup:
On Unix-like environment, the following command should work just fine:
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh
There are other ways to install
rustup. Check its homepage to learn more.
rustup will install a toolchain (compiler, …) for your current host architecture and operating system.
However, when compiling a device firmware, we need to have a compiler for a different architecture (CPU). You can install additional toolchains on your machine. Execute the following command to install a toolchain for a Cortex-M style board:
rustup target add thumbv6m-none-eabi
In many cases, you will also need a "nightly" (unreleased) version of the Rust compiler. You can easily install this in addition to the stable version be executing:
rustup +nightly target add thumbv6m-none-eabi
|The nightly version of the compiler must be explicitly enabled. When installing it, it will not become the default. So, there is no harm in installing a nightly version.|
In addition to the actual toolchain, you will need tools to flash the firmware to your device, and to monitor what is going on.
There are a few tools for Rust which can help here. However, we will focus on the probe-run.
You can install
probe-run be executing the following command:
cargo install probe-run