Book: Embedded Software Design

Embedded Software Design:

Embedded Software Design will teach you how to design higher-quality embedded software from concept through production. Embedded systems are typically designed using microcontrollers to build electronic systems with a dedicated function and real-time responses. Modern systems must carefully balance a complex set of features, manage security, and even run machine learning inferences while maintaining reasonable costs, scalability, and robustness. This book is organized into three critical areas:

  • Software Architecture and Design 
  • Agile, DevOps, and Processes
  • Development and Coding Skills

Embedded Software Design

Embedded System Design starts with a basic introduction to embedded software architecture and the considerations for a successful design. We then explain how to architect an RTOS-based application and explore common design patterns and building blocks. Next, we discuss embedded software design processes such as TDD, CI/CD, modeling, and simulation that can be used to accelerate development. Finally, we will discuss how to select a microcontroller, write configurable code, coding strategies, techniques, and tools developers can’t live without.  By the end of this book, you will have a defined development process, understand modern software architecture, and be equipped to start building embedded systems.

You will:

  • Learn how to design and build embedded systems in a practical manner
  • Understand what sound embedded system design is and how to employ it
  • Explore modern development processes for quality systems
  • Know where the bits hit the silicon: how to select a microcontroller
  • Master techniques to write configurable, automated code

Embedded Software Design Chapter Index:

Chapter 0 – Successful Delivery

Part 1 – Embedded Software Architecture and Design

Chapter 1 – Embedded Software Design Philosophy

Chapter 2 – Embedded Software Architecture Design

Chapter 3 – Secure Application Design

Chapter 4 – RTOS Application Design

Chapter 5 – Design Patterns

Part 2 – Agile, DevOps, and Processes

Chapter 6 – Software Quality, Metrics, and Processes

Chapter 7 – Embedded DevOps

Chapter 8 – Testing, Verification, and Test-Driven Development

Chapter 9 – Application Modeling, Simulation, and Deployment

Chapter 10 – Jump Starting Software Development to Minimize Defects

Part 3 – Development and Coding Skills

Chapter 11 – Selecting Microcontrollers

Chapter 12 – Interfaces, Contracts, and Assertions

Chapter 13 – Configurable Firmware Techniques

Chapter 14 – Comms, Command Processing, and Telemetry Techniques

Chapter 15 – The Right Tools for the Job

Part 4 – Next Steps

Chapter 16 – Next Steps

Appendix A – Security Terminology Definitions

Appendix B – 12 Agile Software Principles

Appendix C – Hands-On – CI/CD using Gitlab

Appendix D – Hands-on TDD


Release Date: October 21, 2022

Pre-Order Now!


Share >

3 thoughts on “Book: Embedded Software Design

  1. I’ll check it out when available. It would be nice to have a couple of sentences to point out how it’s different from “Reusable Firmware Development”.

    Also, this doesn’t really have anything to do with you, but I’m not a fan of APress moving to “SpringerLink.”.

    • Reusable Firmware Development focused in on low-level code reuse. How you design a HAL and API’s. Examples of how to do so with GPIO, SPI, and other drivers.

      Embedded Software Design looks at three important aspects of software design:
      1) Software Architecture and Design
      2) Agile, DevOps, and Processes
      3) Development and Coding Skills

      There is very little to no repeat in concepts between the two books.

Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.