The Embedded Project Cookbook: A Step-By-Step Guide for Microcontroller Projects
Taylor, John T., Taylor, Wayne T.
相關主題
商品描述
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 design
- Write 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.
商品描述(中文翻譯)
學習如何以快速且可靠的方式創建和發布嵌入式系統。本書將幫助您構建和發布符合行業質量標準的商業可行產品。本書不僅僅是關於程式碼:它還涵蓋了非程式碼的產物,如軟體流程、需求、軟體文檔、持續整合、設計審查和程式碼審查。
雖然本書特別針對微控制器應用,但書中的流程可以應用於大多數軟體專案,無論大小。此外,本書提供了一個開源的 C++ 框架,可用於快速啟動任何嵌入式專案。這個框架擁有 OSAL(作業系統抽象層)和許多嵌入式系統所需的基本中介軟體。採用先構建再測試的實作方式,讓您在硬體可用之前就能開發出大量生產質量的程式碼,顯著縮短專案的啟動到發布的時間。
當您遵循本書中的食譜時,您將學習到基本的軟體開發流程,進行即時設計,創建可測試的模組,並將持續整合(CI)納入日常開發者工作流程。最終結果是可維護且可擴展的高品質程式碼,並且可以在面對變更或新需求時重複使用。
《嵌入式專案食譜》專注於開發嵌入式軟體的「如何」。關於「為什麼」的討論,讀者可參考可選的伴隨書籍《機器中的模式:嵌入式開發的軟體工程指南》。
您將學到的內容:
- 將軟體架構與軟體設計分開
- 撰寫本質上不易過時的軟體文檔
- 確定團隊應遵循的流程、工作流程和最佳實踐
- 在程式碼檢入穩定分支之前啟動程式碼審查
- 設計可測試的模組並實施不需要硬體的自動化單元測試
- 將持續整合納入日常開發者工作流程,包括自動化整合測試
- 創建可在其他專案中重複使用的程式碼庫
本書適合對象:
中階開發者和軟體負責人,尋求在不需要所有基礎理論的情況下快速上手。本書也適合希望學習如何將概念或技術商品化並將成果銷售給客戶的專業人士。
作者簡介
John Taylor has been an embedded developer for over 30 years. He has worked as a firmware engineer, technical lead, system engineer, software architect, and software development manager for companies such as Ingersoll Rand, Carrier, Allen-Bradley, Hitachi Telecom, Emerson, and several start-up companies. He has developed firmware for products that include HVAC control systems, telecom SONET nodes, IoT devices, micro code for communication chips, and medical devices. He is the co-author of five US patents and holds a bachelor's degree in mathematics and computer science.
Wayne Taylor has been a technical writer for 27 years. He has worked with companies such as IBM, Novell, Compaq, HP, EMC, SanDisk, and Western Digital. He has documented compilers, LAN driver development, storage system deployment and maintenance, and dozens of low-level and system-management APIs. He also has ten years of experience asa software development manager. He is the co-author of two US patents and holds master's degrees in English and human factors. He is a co-author of OS/2 and NetWare Programming (Van Nostrand Reinhold, 1995).
作者簡介(中文翻譯)
約翰·泰勒(John Taylor)擁有超過30年的嵌入式開發經驗。他曾擔任固件工程師、技術負責人、系統工程師、軟體架構師和軟體開發經理,服務於英格索爾·蘭德(Ingersoll Rand)、開利(Carrier)、艾倫·布拉德利(Allen-Bradley)、日立電信(Hitachi Telecom)、艾默生(Emerson)及多家新創公司。他為包括HVAC控制系統、電信SONET節點、物聯網設備、通訊晶片的微碼及醫療設備在內的產品開發了固件。他是五項美國專利的共同作者,並擁有數學和計算機科學的學士學位。
韋恩·泰勒(Wayne Taylor)擔任技術寫作已27年。他曾與IBM、Novell、Compaq、HP、EMC、SanDisk和西部數據(Western Digital)等公司合作。他記錄了編譯器、局域網驅動程式開發、儲存系統的部署與維護,以及數十個低階和系統管理API。他還擁有十年的軟體開發經理經驗。他是兩項美國專利的共同作者,並擁有英語和人因工程的碩士學位。他是《OS/2和NetWare程式設計》(Van Nostrand Reinhold, 1995)的共同作者。