Embedded Rust

Remote training provided by Ferrous Systems

Learning a new programming language is a complex task, even for very experienced programmers. Being able to learn in a self-driven way is a great skillset to have, but relying on this ability is not time effective or the best use of this skill. Professional training can help you save time and reach your goals more effectively. Ferrous Systems has been an integral member of the Rust community since before Rust 1.0. In-depth knowledge and experience ensure that you will receive meaningful and relevant insights into how Rust can best be applied to your project.

Get up to speed with Rust Fundamentals and Embedded Rust

Ferrous Systems’ trainers work with you to ensure all attendees become familiar with Rust fundamentals like the Rust toolchain, syntax, basic types, and data structures before moving on to concepts unique to Rust, like the ownership model as it applies to building Embedded Systems, as well as writing modules and reading Rust’s documentation. The trainer will then move on to cover Embedded Fundamentals, Down-the-stack of Embedded Rust, and The Real-Time Interrupt-driven Concurrency framework (RTIC).

We combine theoretical input and hands-on exercises.

The training combines lectures, to give you a theoretical foundation in Rust, with hands-on exercises that focus on applying what has been learned in context and in a supportive environment. The exercises are a fundamental part of the learning journey: Only by applying the newly learned information is the learning process complete.

Topics to be covered

Rust Fundamentals

  • The Past, Present and Future of Rust
  • Using Rustup and Cargo
  • Basic and Compound Types
  • Control Flow
  • Ownership and Borrowing
  • Error Handling
  • Rust Collections (Vec, HashMap, etc)
  • Using Iterators
  • Imports, Modules and Good Design Practices

Embedded Rust Fundamentals

  • 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

Course Information

Target audience:

Anyone who wants to learn Rust and Embedded Fundamentals

Prerequisites:

Background in programming (any language)


Duration:

6 half days

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!

Upcoming Courses

Start

Days

Location

Course

Language

Price ex. VAT

██████

███

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

███

███

█████

███

██████

███

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

███

███

█████

███

██████

███

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

███

███

█████

███

* plus VAT if applicable

For further information

Contact Us