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
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.
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)
Being able to ask for advanced subjects even if there were not planned initially.