EmbeddedRelated.com
Beyond the RTOS: A Better Way to Design Real-Time Embedded Software

Beyond the RTOS: A Better Way to Design Real-Time Embedded Software

Miro Samek
Still RelevantAdvanced

An RTOS (Real-Time Operating System) is the most universally accepted way of designing and implementing embedded software. It is the most sought after component of any system that outgrows the venerable "superloop". But it is also the design...


Summary

This blog argues that conventional RTOS-centric designs are not the only or always best way to build real-time embedded software, and introduces event-driven active-object and state-machine approaches as practical alternatives. Readers will learn how these patterns improve determinism, reduce complexity and latency, and make firmware more testable and maintainable.

Key Takeaways

  • Adopt an event-driven active-object model to replace many thread-and-lock designs and simplify concurrency.
  • Use hierarchical state machines (HSMs) to structure behavior, reduce code complexity, and make state transitions explicit and testable.
  • Design run-to-completion event handlers to avoid shared-state races instead of relying on heavy locking and priority inversion fixes.
  • Reduce latency and footprint by mapping real-time requirements to lightweight scheduling primitives rather than full RTOS threads.
  • Leverage state-machine frameworks (e.g., QP) and unit-test approaches to improve observability, testability, and verification of real-time logic.

Who Should Read This

Embedded firmware engineers and architects (mid-to-senior) designing real-time systems who want alternatives to thread-heavy RTOS designs for improved determinism and maintainability.

Still RelevantAdvanced

Topics

RTOSFirmware DesignBare-Metal ProgrammingTesting/Debug

Related Documents