Learn how to create and release an embedded system in a fast and reliable manner. This book will help you build and release a commercially viable product that meets industry standards for quality. The book is not just about code: it covers non-code artifacts such as software processes, requirements, software documentation, continuous integration, design reviews, and code reviews.
While specifically targeting microcontroller applications, the processes in this book can be applied to most software projects, big or small. Additionally, the book provides an open-source C++ framework that can be used to quick start any embedded project. This framework has an OSAL (OS Abstraction Layer) and essential middleware that is needed for many embedded systems. Using a hands-on approach of building-and-testing the software application first allows you to develop a significant amount of production quality code even before the hardware is available, dramatically reducing the start-to-release duration for a project.
As you follow the recipes in this book, you will learn essential software development processes, perform just in time design, create testable modules, and incorporate continuous integration (CI) into your day-to-day developer workflow. The end-result is quality code that is maintainable and extensible, and can be reused for other projects, even when presented with changing or new requirements.
The Embedded Project Cookbook is focused on the how of developing embedded software. For a discussion of the why, readers are invited to refer to the optional companion book Patterns in the Machine: A Software Engineering Guide to Embedded Development.
What You Will Learn
Separate software architecture from software designWrite software documents that are intrinsically resistant to going out-of-date.Identify the processes, workflows, and best practices for the team to follow.Initiate code reviews before code is checked intoa stable branch.Design testable modules and implement automated unit testing that doesn't require hardware.Incorporate continuous integration into the day-to-day developer workflow, including automated integration testing.Create a code base that can be reused on other projects.
Who This Book Is For
Mid-level developers and software leads who are looking to get up and running without all the underlying theories. This book is also for professionals looking to learn how to productize a concept or technology and sell the results to a customer.
While specifically targeting microcontroller applications, the processes in this book can be applied to most software projects, big or small. Additionally, the book provides an open-source C++ framework that can be used to quick start any embedded project. This framework has an OSAL (OS Abstraction Layer) and essential middleware that is needed for many embedded systems. Using a hands-on approach of building-and-testing the software application first allows you to develop a significant amount of production quality code even before the hardware is available, dramatically reducing the start-to-release duration for a project.
As you follow the recipes in this book, you will learn essential software development processes, perform just in time design, create testable modules, and incorporate continuous integration (CI) into your day-to-day developer workflow. The end-result is quality code that is maintainable and extensible, and can be reused for other projects, even when presented with changing or new requirements.
The Embedded Project Cookbook is focused on the how of developing embedded software. For a discussion of the why, readers are invited to refer to the optional companion book Patterns in the Machine: A Software Engineering Guide to Embedded Development.
What You Will Learn
Separate software architecture from software designWrite software documents that are intrinsically resistant to going out-of-date.Identify the processes, workflows, and best practices for the team to follow.Initiate code reviews before code is checked intoa stable branch.Design testable modules and implement automated unit testing that doesn't require hardware.Incorporate continuous integration into the day-to-day developer workflow, including automated integration testing.Create a code base that can be reused on other projects.
Who This Book Is For
Mid-level developers and software leads who are looking to get up and running without all the underlying theories. This book is also for professionals looking to learn how to productize a concept or technology and sell the results to a customer.