Book description
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 For
Mid-level or higher embedded systems (firmware) developers, technical leads, software architects, and development managers.Table of contents
- Cover
- Front Matter
- 1. Introduction
- 2. Core Concepts
- 3. Design Theory for Embedded Programming
- 4. Persistent Storage Detailed Design Example
- 5. Software Architecture
- 6. Unit Testing
- 7. Functional Simulator
- 8. Continuous Integration
- 9. The Data Model Architecture
- 10. Finite State Machines
- 11. Documentation
- 12. File Organization and Naming
- 13. More About Late Binding
- 14. Initialization and the Main Pattern
- 15. More Best Practices
- 16. PIM Thermostat Example
- 17. The Tao of Development
- Back Matter
Product information
- Title: Patterns in the Machine: A Software Engineering Guide to Embedded Development
- Author(s):
- Release date: January 2021
- Publisher(s): Apress
- ISBN: 9781484264409
You might also like
book
Practical System Programming with C: Pragmatic Example Applications in Linux and Unix-Based Operating Systems
This book teaches system programming with the latest versions of C through a set of practical …
book
The Time Cleanse: A Proven System to Eliminate Wasted Time, Realize Your Full Potential, and Reinvest in What Matters Most
Publisher's Note: Products purchased from Third Party sellers are not guaranteed by the publisher for quality, …
book
Linux Device Driver Development - Second Edition
Get up to speed with the most important concepts in driver development and focus on common …
book
Design Patterns in Modern C++20: Reusable Approaches for Object-Oriented Software Design
Apply the latest editions of the C++ standard to the implementation of design patterns. As well …