Description

Book Synopsis
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 w

Table of Contents
Part 1 - Software Architecture DesignEmbedded System Design Philosophy⁃ Challenges Facing Embedded Developers⁃ Traditional Embedded Software Development⁃ The Age of Modeling, Simulation and Off-chip Development⁃ SOLID Design Principles⁃ Test Driven Development (TDD)⁃ Why Best Practices?Embedded Software Architecture Design⁃ Architect First, Code Second⁃ Architectural Layers⁃ Single vs Multicore Architectures⁃ Application Domain Decomposition⁃ Interface Design Principles⁃ Architectural LanguagesRTOS Application Design⁃ Tasks, Threads and Processes⁃ Task Decomposition Techniques⁃ Task Scheduling Algorithms⁃ Setting Task Priorities⁃ Schedule-ability using Rate Monotonic Analysis⁃ Designing Application Data Flow⁃ Producer, Consumer, Processor and Transfer MechanismsSecure Application Design⁃ Platform Security Architecture (PSA)⁃ Security through Isolation⁃ TrustZone⁃ Memory map design⁃ Memory Protection Units (MPUs)⁃ Secure boot⁃ Secure bootloaders and OTAsDesign Patterns⁃ pub / sub⁃ Rtos patterns⁃ Handling interrupts⁃ State machines⁃ Active objectsPart 2 - Development ProcessesSoftware Quality⁃ Coding Standards⁃ Code Reviews⁃ Code Metrics⁃ Code Analysis (static vs dynamic)Software Testing and Verification⁃ Integration Testing⁃ Performance Testing⁃ Regression Testing Software Verification Results⁃ Testing of executable object code⁃ Code coverage analysis⁃ Test ReportsApplication Modeling and Simulation⁃ Modeling Methodologies⁃ Simulations Role⁃ wxWidgets⁃ ExampleTest Driven Development⁃ Overview⁃ Test Harnesses⁃ Code Coverage⁃ Test DesignContinuous Integration / Continuous Deployment⁃ Process Overview⁃ Docker⁃ Jenkins⁃ Git Integrations⁃ Merge Process⁃ DeploymentPart 3 - Where the Bits hit the SiliconSelecting a Microcontroller⁃ Traditional Techniques⁃ Modern Selection Process⁃ Selection Considerations⁃ KT Matrix Design and UseCode Implementation Techniques⁃ Interfaces⁃ Command Processing⁃ Task initialization⁃ Assertions⁃ TelemetryDiagnostic and Fault Handling⁃ Design failure mode and effect analysis (DFMEA)⁃ Fault Handling Strategies⁃ Diagnostic Tasks⁃ Error Checking Code (ECC)⁃ WatchdogsApplication Optimization⁃ Models and Simulation versus Reality⁃ Scalability⁃ Maintenance⁃ Code size versus speed⁃ Compilation Settings⁃ Memory managementThe Right Tool for the Job⁃ Tracing⁃ Code Analyzers⁃ Protocol analysis⁃ Metric tools⁃ Open source versus commercial

Embedded Software Design

Product form

£40.49

Includes FREE delivery

RRP £44.99 – you save £4.50 (10%)

Order before 4pm tomorrow for delivery by Wed 14 Jan 2026.

A Paperback by Jacob Beningo

1 in stock


    View other formats and editions of Embedded Software Design by Jacob Beningo

    Publisher: APress
    Publication Date: 1/1/2022 12:11:00 AM
    ISBN13: 9781484282786, 978-1484282786
    ISBN10: 1484282787

    Description

    Book Synopsis
    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 w

    Table of Contents
    Part 1 - Software Architecture DesignEmbedded System Design Philosophy⁃ Challenges Facing Embedded Developers⁃ Traditional Embedded Software Development⁃ The Age of Modeling, Simulation and Off-chip Development⁃ SOLID Design Principles⁃ Test Driven Development (TDD)⁃ Why Best Practices?Embedded Software Architecture Design⁃ Architect First, Code Second⁃ Architectural Layers⁃ Single vs Multicore Architectures⁃ Application Domain Decomposition⁃ Interface Design Principles⁃ Architectural LanguagesRTOS Application Design⁃ Tasks, Threads and Processes⁃ Task Decomposition Techniques⁃ Task Scheduling Algorithms⁃ Setting Task Priorities⁃ Schedule-ability using Rate Monotonic Analysis⁃ Designing Application Data Flow⁃ Producer, Consumer, Processor and Transfer MechanismsSecure Application Design⁃ Platform Security Architecture (PSA)⁃ Security through Isolation⁃ TrustZone⁃ Memory map design⁃ Memory Protection Units (MPUs)⁃ Secure boot⁃ Secure bootloaders and OTAsDesign Patterns⁃ pub / sub⁃ Rtos patterns⁃ Handling interrupts⁃ State machines⁃ Active objectsPart 2 - Development ProcessesSoftware Quality⁃ Coding Standards⁃ Code Reviews⁃ Code Metrics⁃ Code Analysis (static vs dynamic)Software Testing and Verification⁃ Integration Testing⁃ Performance Testing⁃ Regression Testing Software Verification Results⁃ Testing of executable object code⁃ Code coverage analysis⁃ Test ReportsApplication Modeling and Simulation⁃ Modeling Methodologies⁃ Simulations Role⁃ wxWidgets⁃ ExampleTest Driven Development⁃ Overview⁃ Test Harnesses⁃ Code Coverage⁃ Test DesignContinuous Integration / Continuous Deployment⁃ Process Overview⁃ Docker⁃ Jenkins⁃ Git Integrations⁃ Merge Process⁃ DeploymentPart 3 - Where the Bits hit the SiliconSelecting a Microcontroller⁃ Traditional Techniques⁃ Modern Selection Process⁃ Selection Considerations⁃ KT Matrix Design and UseCode Implementation Techniques⁃ Interfaces⁃ Command Processing⁃ Task initialization⁃ Assertions⁃ TelemetryDiagnostic and Fault Handling⁃ Design failure mode and effect analysis (DFMEA)⁃ Fault Handling Strategies⁃ Diagnostic Tasks⁃ Error Checking Code (ECC)⁃ WatchdogsApplication Optimization⁃ Models and Simulation versus Reality⁃ Scalability⁃ Maintenance⁃ Code size versus speed⁃ Compilation Settings⁃ Memory managementThe Right Tool for the Job⁃ Tracing⁃ Code Analyzers⁃ Protocol analysis⁃ Metric tools⁃ Open source versus commercial

    Recently viewed products

    © 2026 Book Curl

      • American Express
      • Apple Pay
      • Diners Club
      • Discover
      • Google Pay
      • Maestro
      • Mastercard
      • PayPal
      • Shop Pay
      • Union Pay
      • Visa

      Login

      Forgot your password?

      Don't have an account yet?
      Create account