Course Outline

Introduction to Embedded Rust for Government

  • Overview of the no_std, core, and embedded Rust ecosystem for government applications
  • Selecting a target and understanding target triples in the context of public sector projects
  • Setting up rustup, cargo, and target toolchains to align with government workflows

Tooling, Build & Debug Workflow for Government

  • Utilizing cargo, cargo-embed, probe-run, and OpenOCD workflows for efficient development in public sector projects
  • Flashing and debugging with hardware probes (ST-Link, JLink) to ensure reliability and accountability in government systems
  • CI considerations for building embedded Rust firmware to meet government standards and compliance requirements

Hardware Abstraction and Peripheral Access for Government

  • Understanding embedded-hal traits and driver patterns in the context of public sector hardware
  • Utilizing peripheral access crates (PACs) and device crates (svd2rust) to enhance government project development
  • Writing and using HAL drivers and board support crates (BSCs) for robust government applications

Memory Safety, Concurrency & Real-Time for Government

  • Implementing safe patterns for shared state and mutable references in interrupts to ensure secure and reliable public sector systems
  • Exploring RTIC and other concurrency models for real-time government applications
  • Managing heap vs. stack usage, allocators, and avoiding dynamic allocation to meet stringent government performance requirements

Error Handling, Testing & Reliability for Government

  • Adopting error handling patterns in constrained environments to enhance the robustness of government systems
  • Conducting unit testing on host vs. integration testing on hardware to ensure compliance with government standards
  • Implementing fault analysis, logging, and post-mortem strategies to maintain accountability and transparency in public sector projects

Performance, Power & Resource Optimization for Government

  • Benchmarking, measurement, and optimizing hot paths to improve the efficiency of government applications
  • Applying code size reduction techniques and linker scripts to meet stringent government resource constraints
  • Implementing power management strategies and low-power design patterns to enhance sustainability in public sector projects

Deployment, Security & Ecosystem Best Practices for Government

  • Ensuring secure boot, firmware signing, and update strategies to protect government systems from threats
  • Addressing supply-chain considerations and dependency management to maintain integrity in public sector projects
  • Outlining a roadmap for migrating C firmware to Rust and leveraging community resources to support government initiatives

Summary and Next Steps for Government

Requirements

  • An understanding of core Rust concepts: ownership, borrowing, and lifetimes
  • Experience in writing non-trivial Rust programs (intermediate level)
  • Familiarity with embedded systems concepts: memory-mapped I/O, interrupts, and peripherals

Audience

  • Embedded firmware engineers interested in adopting Rust for government applications
  • Software engineers with Rust experience transitioning to low-level systems development
  • Technical leads evaluating Rust for embedded product development within the public sector
 14 Hours

Number of participants


Price per participant

Testimonials (5)

Upcoming Courses

Related Categories