Introduction + Embedded Rust Combo

Remote training provided by Ferrous Systems

This training is a combined version of the Introduction to Rust and Embedded Rust training that provides a crash course including everything from installation to the Embedded Fundamentals. The course is taught over 8 half days and includes a mixture of teaching and hands-on exercises throughout which our trainers are available to guide participants through any hurdles.

Part 1, Rust Fundamentals:

You will learn the fundamental skills to confidently read and write Rust code. Over 5 half days in a mixture of lectures and hands-on exercises, we’ll cover:

  • Installation and “Hello World”
  • Rust's type system
  • Basic functions
  • Control flow
  • Introduction to Rust's ownership model
  • Error Handling
  • Compound Types
  • Reading documentation
  • Introduction to testing and tooling
  • Writing a simple module
  • Generics
  • Traits
  • Lifetimes & a deeper dive into the ownership model
  • Concurrency
  • Introduction to important crates such as serde
  • Writing documentation for modules
  • Nine programming exercises

Part 2, Embedded Rust:

In our Embedded Rust Training over three half-days we'll use the Nordic nrf52840-DK as our example platform. In a varied mix of lectures and hands-on exercises we'll cover the following topics over 3 half days:

  • Introduction to the knurling tooling (flip-link, probe-run, nrfdfu)
  • Differences between [std] and [no_std] programming
  • Building and running an embedded Rust program
  • Defining custom panic behavior
  • Using a HAL implementation
  • Getting serial output
  • Using the heapless crate
  • Hands-on exercise: Solving a puzzle with the nRF52840-DK Radio

Down-the-stack of Embedded Rust

  • Introduction to the stack:
    • Board Support Crates (BSC)
    • HAL implementations
    • Peripheral Access Crates (PAC)
  • Embedded-HAL traits vs. specific HAL implementations
  • Introduction to svd2rust
  • Implementation of embedded-hal traits
  • Hands-on Exercise: implementing parts of a BSC
    • Hands-on Exercise: parsing an SVD file with svd2rust

The Real-Time Interrupt-driven Concurrency framework (RTIC)

  • Interrupts in Rust
  • Introduction to the RTIC framework
  • Hands-on project: implement a working USB Device using RTIC

Hardware

This workshop requires ordering hardware in advance

* Ferrous Systems is not affiliated or partnered with mouser.de in any way. This link serves only as an example of one of the available options on the market. Feel free to use any seller that may be more suitable for you!

Course Information

Target audience:

Anyone who wants to learn Rust and Embedded Fundamentals

Prerequisite:

Background in programming (any language)

Duration:

8 half days

Upcoming Courses

Start

Days

Location

Course

Language

Price ex. VAT

██████

███

███████████████

███

███

█████

███

██████

███

███████████████

███

███

█████

███

██████

███

███████████████

███

███

█████

███

* plus VAT if applicable

For further information

Contact Us