STAGE 05 OF 5

Building Reliable Systems

Making it work every time: sharing the CPU safely, surviving bad power, and shipping updates without bricking the device.

3 units18 of 18 lessons available

Concurrency and Real-Time Design

Do many things at once, and prove each one is on time.

  1. State Machines and Event-Driven Design
  2. Cooperative Scheduling and Superloops
  3. Tasks, Context Switching, and Scheduling
  4. Queues, Semaphores, and Mutexes
  5. Race Conditions, Deadlocks, and Priority Inversion
  6. Deadlines, Execution Budgets, and Timing Analysis

Power and Reliability

Run for years on a battery, and recover when things go wrong.

  1. Sleep States and Wake-Up Sources
  2. Measuring Power and Energy
  3. Watchdogs and Recovery Strategies
  4. Brownouts, Reset Causes, and Safe States
  5. Persistent Settings and Power-Loss Safety
  6. Testing Firmware and Handling Failures

Firmware Updates and Security

Ship new firmware without bricking the device or trusting strangers.

  1. Application Images and Bootloaders
  2. Image Integrity and Authenticity
  3. Safe Updates, Rollback, and Recovery
  4. Secure Boot and the Root of Trust
  5. Protecting Keys, Debug Ports, and Device Identity
  6. Versioning, Diagnostics, and Field Maintenance