Embedded Software Design

Embedded Software Design

A Practical Approach to Architecture, Processes, and Coding Techniques

Beningo, Jacob

APress

11/2022

463

Mole

Inglês

9781484282786

15 a 20 dias

935

Descrição não disponível.
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
Este título pertence ao(s) assunto(s) indicados(s). Para ver outros títulos clique no assunto desejado.
embedded;firmware;system;design;apis;hals;driver;hardware;electronics;engineering;programming;maker;tia