Get in Touch
 Duration 14 hours

Course Outline

Initiating with Embedded Rust

  • An introduction to the no_std, core, and broader embedded Rust ecosystem.
  • Selecting appropriate targets and understanding target triples.
  • Configuring rustup, cargo, and specific target toolchains.

Tooling, Build & Debug Workflows

  • Utilizing cargo, cargo-embed, probe-run, and OpenOCD workflows effectively.
  • Performing flashing and debugging operations using hardware probes like ST-Link and JLink.
  • Addressing CI considerations for the build process of embedded Rust firmware.

Hardware Abstraction and Peripheral Access

  • Analyzing embedded-hal traits and established driver patterns.
  • Working with Peripheral Access Crates (PACs) and device crates (svd2rust).
  • Creating and utilizing HAL drivers and Board Support Crates (BSCs).

Memory Safety, Concurrency & Real-Time Systems

  • Implementing safe patterns for shared state and mutable references within interrupts.
  • Exploring RTIC and other concurrency models tailored for real-time systems.
  • Managing heap versus stack usage, allocators, and strategies to avoid dynamic allocation.

Error Handling, Testing & Reliability

  • Applying error handling patterns suitable for constrained environments.
  • Differentiating between host-based unit testing and hardware integration testing.
  • Conducting fault analysis, logging, and post-mortem reviews.

Performance, Power & Resource Optimization

  • Performing benchmarking, measurement, and optimization of critical code paths.
  • Applying code size reduction techniques and managing linker scripts.
  • Implementing power management strategies and low-power design patterns.

Deployment, Security & Ecosystem Best Practices

  • Addressing secure boot, firmware signing, and update strategies.
  • Considering supply-chain security and effective dependency management.
  • Outlining a roadmap for migrating C firmware to Rust and utilizing community resources.

Conclusion and Future Steps

Requirements

  • A solid grasp of fundamental Rust concepts, including ownership, borrowing, and lifetimes.
  • Demonstrated experience in developing non-trivial Rust applications (intermediate proficiency).
  • Knowledge of embedded systems principles such as memory-mapped I/O, interrupts, and peripheral management.

Target Audience

  • Embedded firmware engineers interested in integrating Rust into their workflow.
  • Software engineers with existing Rust expertise transitioning into low-level systems development.
  • Technical leads assessing the suitability of Rust for embedded product development.

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 (1)

Provisional Upcoming Courses (Contact Us For More Information)

Related Categories