Get in Touch

Course Outline

Getting Started with Embedded Rust

  • Overview of the no_std, core, and embedded Rust ecosystem.
  • Selecting a target and understanding target triples.
  • Setting up rustup, cargo, and target toolchains.

Tooling, Build & Debug Workflow

  • Utilizing workflows with cargo, cargo-embed, probe-run, and OpenOCD.
  • Flashing and debugging using hardware probes (ST-Link, JLink).
  • Considerations for CI when building embedded Rust firmware.

Hardware Abstraction and Peripheral Access

  • Understanding embedded-hal traits and driver patterns.
  • Peripheral access crates (PACs) and device crates (svd2rust).
  • Writing and utilizing HAL drivers and board support crates (BSCs).

Memory Safety, Concurrency & Real-Time

  • Safe patterns for shared state and mutable references within interrupts.
  • RTIC and other concurrency models for real-time systems.
  • Heap versus stack usage, allocators, and strategies to avoid dynamic allocation.

Error Handling, Testing & Reliability

  • Error handling patterns suited for constrained environments.
  • Unit testing on the host versus integration testing on hardware.
  • Fault analysis, logging, and post-mortem strategies.

Performance, Power & Resource Optimization

  • Benchmarking, measurement, and optimizing critical code paths.
  • Techniques for reducing code size and utilizing linker scripts.
  • Power management strategies and low-power design patterns.

Deployment, Security & Ecosystem Best Practices

  • Secure boot, firmware signing, and update strategies.
  • Supply-chain considerations and dependency management.
  • Roadmap for migrating C firmware to Rust and community resources.

Summary and Next Steps

Requirements

  • A solid understanding of core Rust concepts, including ownership, borrowing, and lifetimes.
  • Experience writing complex Rust programmes (intermediate proficiency).
  • Familiarity with embedded systems concepts, such as memory-mapped I/O, interrupts, and peripherals.

Audience

  • Embedded firmware engineers seeking to adopt Rust.
  • Software engineers with Rust experience looking to transition into low-level systems.
  • Technical leads assessing Rust for embedded product development.
 14 Hours

Custom Corporate Training

Training solutions designed exclusively for businesses.

  • Customized Content: We adapt the syllabus and practical exercises to the real goals and needs of your project.
  • Flexible Schedule: Dates and times adapted to your team's agenda.
  • Format: Online (live), In-company (at your offices), or Hybrid.
Investment

Price per private group, online live training, starting from 2600 € + VAT*

Contact us for an exact quote and to hear our latest promotions

Testimonials (2)

Provisional Upcoming Courses (Contact Us For More Information)

Related Categories