Course Outline
Getting Started with Embedded Rust for Government
- Overview of no_std, core, and the embedded Rust ecosystem for government applications
- Selecting a target and understanding target triples for government use cases
- Setting up rustup, cargo, and target toolchains for government projects
Tooling, Build & Debug Workflow for Government Projects
- Utilizing cargo, cargo-embed, probe-run, and OpenOCD workflows for government applications
- Flashing and debugging with hardware probes (ST-Link, JLink) in government environments
- Continuous integration considerations for building embedded Rust firmware for government systems
Hardware Abstraction and Peripheral Access for Government Systems
- Understanding embedded-hal traits and driver patterns for government hardware
- Utilizing peripheral access crates (PACs) and device crates (svd2rust) in government projects
- Writing and using HAL drivers and board support crates (BSCs) for government applications
Memory Safety, Concurrency & Real-Time for Government Systems
- Safe patterns for shared state and mutable references in interrupts for government systems
- RTIC and other concurrency models for real-time government applications
- Heap vs. stack usage, allocators, and strategies to avoid dynamic allocation in government environments
Error Handling, Testing & Reliability for Government Systems
- Error handling patterns in constrained environments for government applications
- Unit testing on host vs. integration testing on hardware for government systems
- Fault analysis, logging, and post-mortem strategies for government projects
Performance, Power & Resource Optimization for Government Systems
- Benchmarking, measurement, and optimizing hot paths in government applications
- Code size reduction techniques and linker scripts for government systems
- Power management strategies and low-power design patterns for government hardware
Deployment, Security & Ecosystem Best Practices for Government
- Secure boot, firmware signing, and update strategies for government systems
- Supply-chain considerations and dependency management in government projects
- Roadmap for migrating C firmware to Rust and community resources for government agencies
Summary and Next Steps for Government Projects
Requirements
- A solid understanding of fundamental Rust concepts, including ownership, borrowing, and lifetimes.
- Practical experience in developing non-trivial programs using intermediate-level Rust.
- Knowledge of embedded systems principles, such as memory-mapped I/O, interrupts, and peripherals.
Audience
- Embedded firmware engineers interested in adopting Rust for government projects.
- Software engineers with Rust experience transitioning to low-level systems development.
- Technical leads assessing the feasibility of using Rust for embedded product development.
Testimonials (5)
He answers my questions very well explained.
Khaled Almarzooqi - Beamtrail
Course - Circuits and Electronics Fundamentals
That the trainer adapts to our needs
Eduardo Fontecha - ORMAZABAL PROTECTION & AUTOMATION S.L.U.
Course - The Yocto Project - An Overview - hands-on
Trainer was really kind and knowledgeable, going the extra mile to explain things that I didn't know
Felix - Microchip Technology Inc
Course - Embedded C Application Design Principles for Automotive Professionals
The aquisition of useful knowlwdge and clarification of some things I was not sure of peviously.
Kenneth Mahoney - University of Glasgow
Course - Arduino: Programming a Microcontroller for Beginners
I genuinely enjoyed the trainer knowledge.