Embedded software design a practical approach to architecture, processes, and coding techniques

Design higher-quality embedded software from concept through production. This book assumes basic C and microcontroller programming knowledge and is organized into three critical areas: Software Architecture and Design; Agile, DevOps, and Processes; and Development and Coding Skills. You'll star...

Full description

Bibliographic Details
Main Author: Beningo, Jacob
Format: eBook
Language:English
Published: [New York, NY] Apress 2022
Subjects:
Online Access:
Collection: O'Reilly - Collection details see MPG.ReNa
LEADER 04229nmm a2200373 u 4500
001 EB002134350
003 EBX01000000000000001272407
005 00000000000000.0
007 cr|||||||||||||||||||||
008 221111 ||| eng
020 |a 1484282795 
050 4 |a QA76.76.D47 
100 1 |a Beningo, Jacob 
245 0 0 |a Embedded software design  |b a practical approach to architecture, processes, and coding techniques  |c Jacob Beningo 
260 |a [New York, NY]  |b Apress  |c 2022 
300 |a 1 online resource 
505 0 |a Includes bibliographical references and index 
505 0 |a Chapter 0: Successful Delivery -- Part I: 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 II: 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 III: 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. 
653 |a Computer software / Development / http://id.loc.gov/authorities/subjects/sh85029535 
653 |a Embedded computer systems / Programming / http://id.loc.gov/authorities/subjects/sh87006633 
653 |a Computer software / Development / fast 
653 |a Embedded computer systems / Programming / fast 
653 |a Computer architecture / Design 
041 0 7 |a eng  |2 ISO 639-2 
989 |b OREILLY  |a O'Reilly 
028 5 0 |a 10.1007/978-1-4842-8279-3 
776 |z 1484282787 
776 |z 9781484282786 
776 |z 9781484282793 
776 |z 1484282795 
856 4 0 |u https://learning.oreilly.com/library/view/~/9781484282793/?ar  |x Verlag  |3 Volltext 
082 0 |a 005.1 
082 0 |a 745.4 
520 |a Design higher-quality embedded software from concept through production. This book assumes basic C and microcontroller programming knowledge and is organized into three critical areas: Software Architecture and Design; Agile, DevOps, and Processes; and Development and Coding Skills. You'll start with a basic introduction to embedded software architecture and the considerations for a successful design. The book then breaks down how to architect an RTOS-based application and explore common design patterns and building blocks. Next, you'll review embedded software design processes such as TDD, CI/CD, modeling, and simulation that can be used to accelerate development. Finally, the book will examine how to select a microcontroller, write configurable code, coding strategies, techniques, and tools developers can't live without. Embedded systems are typically designed using microcontrollers to build electronic systems with a dedicated function and real-time responses. Modern systems need to carefully balance a complex set of features, manage security, and even run machine learning inferences while maintaining reasonable costs, scalability, and robustness. 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. What You'll Learn 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 Who This Book Is For Embedded software and hardware engineers, enthusiasts, or any stakeholders who would like to learn modern techniques for designing and building embedded systems