1. 1. Introduction
    1. 1.1. Hardware
    2. 1.2. no_std
    3. 1.3. Tooling
    4. 1.4. Installation
      1. 1.4.1. Linux
      2. 1.4.2. MacOS
      3. 1.4.3. Windows
      4. 1.4.4. Verify Installation
  2. 2. Getting started
    1. 2.1. QEMU
    2. 2.2. Hardware
    3. 2.3. Memory-mapped Registers
    4. 2.4. Semihosting
    5. 2.5. Panicking
    6. 2.6. Exceptions
    7. 2.7. Interrupts
    8. 2.8. IO
  3. 3. Peripherals
    1. 3.1. A first attempt in Rust
    2. 3.2. The Borrow Checker
    3. 3.3. Singletons
  4. 4. Static Guarantees
    1. 4.1. Typestate Programming
    2. 4.2. Peripherals as State Machines
    3. 4.3. Design Contracts
    4. 4.4. Zero Cost Abstractions
  5. 5. Portability
  6. 6. Concurrency
  7. 7. Collections
  8. 8. Tips for embedded C developers
  9. 9. Interoperability
    1. 9.1. A little C with your Rust
    2. 9.2. A little Rust with your C
  10. 10. Unsorted topics
    1. 10.1. Optimizations: The speed size tradeoff

The Embedded Rust Book

Unsorted topics