EmbeddedRelated.com
Books
The 2026 Embedded Online Conference

Embedded Software Development for Safety-Critical Systems

Hobbs, Chris 2015

Safety-critical devices, whether medical, automotive, or industrial, are increasingly dependent on the correct operation of sophisticated software. Many standards have appeared in the last decade on how such systems should be designed and built. Developers, who previously only had to know how to program devices for their industry, must now understand remarkably esoteric development practices and be prepared to justify their work to external auditors.

Embedded Software Development for Safety-Critical Systems discusses the development of safety-critical systems under the following standards: IEC 61508; ISO 26262; EN 50128; and IEC 62304. It details the advantages and disadvantages of many architectural and design practices recommended in the standards, ranging from replication and diversification, through anomaly detection to the so-called "safety bag" systems.

Reviewing the use of open-source components in safety-critical systems, this book has evolved from a course text used by QNX Software Systems for a training module on building embedded software for safety-critical devices, including medical devices, railway systems, industrial systems, and driver assistance devices in cars.

Although the book describes open-source tools for the most part, it also provides enough information for you to seek out commercial vendors if that’s the route you decide to pursue. All of the techniques described in this book may be further explored through hundreds of learned articles. In order to provide you with a way in, the author supplies references he has found helpful as a working software developer. Most of these references are available to download for free.


Why Read This Book

You will learn how to design, build, and justify embedded software that meets the rigorous demands of medical, automotive, and industrial safety standards. The book blends practical firmware and architecture guidance with clear explanations of IEC 61508, ISO 26262, EN 50128 and IEC 62304 so you can make defensible design choices and prepare for audits.

Who Will Benefit

Embedded/firmware engineers, technical leads, and safety engineers working on medical, automotive, railway, or industrial products who must develop or certify safety-critical software.

Level: Advanced — Prerequisites: Solid C/C++ programming skills, working knowledge of embedded systems and microcontrollers, basic electronics, and familiarity with software development lifecycle and version control.

Get This Book

Key Takeaways

  • Design safety-oriented system and software architectures (including redundancy and fault containment) aligned with IEC 61508/ISO 26262/EN 50128/IEC 62304
  • Apply formal safety analysis techniques such as FMEA/FMEDA and derive safety requirements and SIL/ASIL targets
  • Implement development practices and coding rules (MISRA, defensive coding, error handling) that support certification and auditability
  • Integrate RTOS and concurrency patterns safely, and handle hardware–software interface issues including diagnostics and fail-safe behavior
  • Perform verification and validation: unit testing, integration testing, static analysis, code coverage, and traceability to requirements
  • Prepare the artifacts and process evidence auditors expect, and evaluate trade-offs when selecting tools and architectures for certification

Topics Covered

  1. Introduction: scope, motivation, and safety concepts
  2. Overview of functional safety standards (IEC 61508, ISO 26262, EN 50128, IEC 62304)
  3. Safety lifecycle, planning, and process requirements
  4. Hazard analysis, risk assessment, and deriving safety requirements
  5. System architecture: partitioning, redundancy, and fault tolerance
  6. Hardware–software interface and diagnostics for safe operation
  7. Software design principles, coding standards, and language considerations
  8. RTOS, concurrency, and timing analysis in safety-critical software
  9. Verification and validation: testing, coverage, and static analysis
  10. Tool qualification, model-based development, and evidence management
  11. Certification, audits, and managing third-party components
  12. Case studies, worked examples, and practical tips
  13. Appendices: templates, checklists, and reference material

Languages, Platforms & Tools

CC++AdaPythonMATLAB/SimulinkARM Cortex-MARM Cortex-A (embedded Linux)RISC-VCommon microcontrollers and MCU familiesEmbedded LinuxGCC, IAR, Keil compilersGDB, JTAG/trace debuggersStatic analysis tools (e.g., Polyspace, Coverity)Model-based tools (Simulink, SCADE)Build systems (Make/CMake) and VCS (Git)Test frameworks and coverage tools

How It Compares

Compared to David J. Smith's Safety Critical Systems Handbook, Hobbs focuses more tightly on embedded firmware and the practicalities of meeting IEC/ISO standards for device manufacturers; compared with general embedded texts, this book emphasizes safety processes and certification evidence rather than introductory hardware or peripheral programming.

Related Books

Bryant, Randal, O'Hallaron,...
The 2026 Embedded Online Conference