Embedded Development in Rust

Rust’s growing ecosystem provides a range of tools and frameworks designed for embedded systems development, each catering to specific needs in debugging, concurrency, and operating systems.

These are either mature or stable projects in the rust ecosystem.

Debugger: probe-rs
probe-rs is an open-source debugging toolkit written in Rust, designed to program and debug microcontrollers via debug probes. It supports ARM and RISC-V targets.
This project gets rid of the GDB layer and provides a direct interface to the debug probe, which then enables other software to use its debug functionality.
Learn more at probe.rs.

Frameworks for Concurrency and Real-Time Systems

RTIC (Real-Time Interrupt-driven Concurrency) ('*'RTOS)
RTIC is a lightweight framework for building real-time systems, particularly suited for ARM Cortex-M microcontrollers. It leverages hardware interrupts for task management, ensuring minimal overhead and high efficiency.

Key features include:

  •     Event-triggered task management
    
  •     Shared memory through a single call stack
    
  •     Support for real-time applications requiring precise interrupt handling
    

Explore more on the RTIC.

Embassy.rs
Embassy is an asynchronous framework enabling efficient, non-blocking concurrency using Rust’s async/await syntax.It simplifies the handling of multiple I/O operations without manually writing state machines.

Key features:

  •    Cooperative multitasking
    
  •    Integrated HALs for supported microcontrollers
    
  •    Ideal for I/O-bound applications
    

Learn more on Embassy

Operating System: Tock OS

Tock is an embedded operating system written in Rust, designed for safety and isolation. It employs a microkernel architecture, making it suitable for running multiple concurrent applications securely.

Its key features include:

  •  Concurrency and fault isolation
    
  •  Efficient memory management
    
  •  Secure execution of untrusted applications alongside critical tasks
    
    Discover more about Tock OS
2 Likes

Thanks for sharing @Immanuel_Jzv

1 Like