Thank you for sending your enquiry! One of our team members will contact you shortly.
Thank you for sending your booking! One of our team members will contact you shortly.
Duration 14 hours
Course Outline
Introduction to Embedded Rust
- An overview of the no_std, core, and embedded Rust ecosystem.
- Selecting a target and interpreting target triples.
- Configuring rustup, cargo, and the necessary target toolchains.
Tooling, Build & Debug Workflows
- Utilizing cargo, cargo-embed, probe-run, and OpenOCD workflows.
- Flashing and debugging via hardware probes such as ST-Link and JLink.
- Addressing CI considerations for building embedded Rust firmware.
Hardware Abstraction and Peripheral Access
- Explaining embedded-hal traits and 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.
- Applying RTIC and other concurrency models for real-time applications.
- Managing heap versus stack usage, allocators, and avoiding dynamic allocation.
Error Handling, Testing & Reliability
- Adopting error handling strategies suitable for constrained environments.
- Conducting unit tests on the host and integration tests on hardware.
- Analyzing faults, implementing logging, and planning post-mortem strategies.
Performance, Power & Resource Optimization
- Benchmarking, measuring, and optimizing critical code paths.
- Employing code size reduction techniques and linker scripts.
- Implementing power management strategies and low-power design patterns.
Deployment, Security & Ecosystem Best Practices
- Implementing secure boot, firmware signing, and update strategies.
- Considering supply chain issues and managing dependencies effectively.
- Outlining a roadmap for migrating C firmware to Rust and accessing community resources.
Summary and Future Directions
Requirements
- A solid grasp of fundamental Rust concepts, including ownership, borrowing, and lifetimes.
- Practical experience in developing complex Rust applications (intermediate level).
- Familiarity with embedded system principles such as memory-mapped I/O, interrupts, and peripherals.
Target Audience
- Embedded firmware engineers interested in adopting Rust.
- Software engineers with Rust experience looking to transition to low-level systems.
- Technical leaders assessing 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.
Price per private group, online live training, starting from 3200 € + VAT*
Contact us for an exact quote and to hear our latest promotions
Testimonials (1)
Being able to ask for advanced subjects even if there were not planned initially.