Discover how to apply software engineering patterns to develop more robust firmware faster than
traditional embedded development approaches. In the authors' experience traditional embedded
software projects tend towards monolithic applications that are optimized for their target
hardware platforms. This leads to software that is fragile in terms of extensibility and
difficult to test without fully integrated software and hardware. Patterns in the Machine
focuses on creating loosely coupled implementations that embrace both change and testability.
This book illustrates how implementing continuous integration automated unit testing
platform-independent code and other best practices that are not typically implemented in the
embedded systems world is not just feasible but also practical for today's embedded projects.
After reading this book you will have a better idea of how to structure your embedded software
projects. You will recognize that while writing unit tests creating simulators and
implementing continuous integration requires time and effort up front you will be amply
rewarded at the end of the project in terms of quality adaptability and maintainability of
your code. What You Will Learn Incorporate automated unit testing into an embedded project
Design and build functional simulators for an embedded project Write production-quality
software when hardware is not available Use the Data Model architectural pattern to create a
highly decoupled design and implementation Understand the importance of defining the software
architecture before implementation starts and how to do it Discover why documentation is
essential for an embedded project Use finite state machines in embedded projects Who This Book
Is ForMid-level or higher embedded systems (firmware) developers technical leads software
architects and development managers.