Embedded Software Design : A Practical Approach to Architecture, Processes, and Coding Techniques (1st)

個数:

Embedded Software Design : A Practical Approach to Architecture, Processes, and Coding Techniques (1st)

  • 提携先の海外書籍取次会社に在庫がございます。通常3週間で発送いたします。
    重要ご説明事項
    1. 納期遅延や、ご入手不能となる場合が若干ございます。
    2. 複数冊ご注文の場合は、ご注文数量が揃ってからまとめて発送いたします。
    3. 美品のご指定は承りかねます。

    ●3Dセキュア導入とクレジットカードによるお支払いについて

  • 提携先の海外書籍取次会社に在庫がございます。通常約2週間で発送いたします。
    重要ご説明事項
    1. 納期遅延や、ご入手不能となる場合が若干ございます。
    2. 複数冊ご注文の場合は、ご注文数量が揃ってからまとめて発送いたします。
    3. 美品のご指定は承りかねます。

    ●3Dセキュア導入とクレジットカードによるお支払いについて
  • 【入荷遅延について】
    世界情勢の影響により、海外からお取り寄せとなる洋書・洋古書の入荷が、表示している標準的な納期よりも遅延する場合がございます。
    おそれいりますが、あらかじめご了承くださいますようお願い申し上げます。
  • ◆画像の表紙や帯等は実物とは異なる場合があります。
  • ◆ウェブストアでの洋書販売価格は、弊社店舗等での販売価格とは異なります。
    また、洋書販売価格は、ご注文確定時点での日本円価格となります。
    ご注文確定後に、同じ洋書の販売価格が変動しても、それは反映されません。
  • 製本 Paperback:紙装版/ペーパーバック版
  • 言語 ENG
  • 商品コード 9781484282786

Full Description

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.

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

最近チェックした商品