Linked e-resources
Details
Table of Contents
Foreword; Contents; Contributors; 1 An Overview About Debugging and Verification Techniques for Embedded Software; 1.1 The Importance of Debugging and Verification Processes; 1.2 Debugging and Verification Platforms; 1.2.1 OS Simulation; 1.2.2 Virtual Platform; 1.2.3 RTL Simulation; 1.2.4 Acceleration/Emulation; 1.2.5 FPGA Prototyping; 1.2.6 Prototyping Board; 1.2.7 Choosing the Right Platform for Software Development and Debugging; 1.3 Debugging Methodologies; 1.3.1 Interactive Debugging; 1.3.2 Post-Process Debugging; 1.3.3 Choosing the Right Debugging Methodology
1.4 Verification Methodologies1.4.1 Verification Planning; 1.4.2 Verification Environment Development; 1.5 Summary; References; 2 Embedded Software Debug in Simulation and Emulation Environments for Interface IP; 2.1 Firmware Debug Methods Overview; 2.2 Firmware Debuggability; 2.3 Test-Driven Firmware Development for Interface IP; 2.3.1 Starting Development; 2.3.2 First Functional Tests; 2.3.3 Debugging a System; 2.3.4 System Performance; 2.3.5 Interface IP Performance in a Full Featured OS Case; 2.3.6 Low Level Firmware Debug in a State-of-the-Art Embedded System
2.4 Firmware Bring-up as a Hardware Verification Tool2.4.1 NAND Flash; 2.4.2 xHCI; 2.5 Playback Debugging with Cadence® Indago#x92; Embedded Software Debugger; 2.5.1 Example; 2.5.2 Coverage Measurement; 2.5.3 Drawbacks; 2.6 Conclusions; References; 3 The Use of Dynamic Temporal Assertions for Debugging; 3.1 Introduction; 3.1.1 DTA Assertions Versus Ordinary Assertions; 3.1.2 DTA Assertions Versus Conditional Breakpoints; 3.2 Debugging with DTA Assertions; 3.3 Design; 3.3.1 Past-Time DTA Assertions; 3.3.2 Future-Time DTA Assertions; 3.3.3 All-Time DTA Assertions; 3.4 Assertion's Evaluation
3.4.1 Temporal Cycles and Limits3.4.2 Evaluation Log; 3.4.3 DTA Assertions and Atomic Agents; 3.5 Implementation; 3.6 Evaluation; 3.6.1 Performance; 3.7 Challenges and Future Work; 3.8 Conclusion; References; 4 Automated Reproduction and Analysis of Bugs in Embedded Software; 4.1 Introduction; 4.2 Overview; 4.3 Debugger-Based Bug Reproduction; 4.3.1 State of the Art; 4.3.2 Theory and Algorithms; 4.3.3 Implementation; 4.3.4 Experiments; 4.4 Dynamic Verification During Replay; 4.4.1 State of the Art; 4.4.2 Theory and Workflow; 4.4.3 Implementation of Assertions During Replay; 4.4.4 Experiments
4.5 Root-Cause Analyses4.5.1 State of the Art; 4.5.2 Theory and Concepts; 4.5.3 Implementation; 4.5.4 Experiments; 4.6 Summary; References; 5 Model-Based Debugging of Embedded Software Systems; 5.1 Introduction; 5.1.1 Problem Statement; 5.1.2 Contribution; 5.2 Related Work; 5.3 Model-Based Debugging Framework; 5.3.1 Overview; 5.4 Runtime Monitoring; 5.4.1 Classification of Runtime Monitoring; 5.4.2 Time-and Memory-Aware Runtime Monitoring Approaches; 5.5 Experimental Evaluation; 5.5.1 Software Monitoring; 5.5.2 On-Chip (Software) Monitoring; 5.6 Performance Metrics; 5.6.1 Software Monitoring
1.4 Verification Methodologies1.4.1 Verification Planning; 1.4.2 Verification Environment Development; 1.5 Summary; References; 2 Embedded Software Debug in Simulation and Emulation Environments for Interface IP; 2.1 Firmware Debug Methods Overview; 2.2 Firmware Debuggability; 2.3 Test-Driven Firmware Development for Interface IP; 2.3.1 Starting Development; 2.3.2 First Functional Tests; 2.3.3 Debugging a System; 2.3.4 System Performance; 2.3.5 Interface IP Performance in a Full Featured OS Case; 2.3.6 Low Level Firmware Debug in a State-of-the-Art Embedded System
2.4 Firmware Bring-up as a Hardware Verification Tool2.4.1 NAND Flash; 2.4.2 xHCI; 2.5 Playback Debugging with Cadence® Indago#x92; Embedded Software Debugger; 2.5.1 Example; 2.5.2 Coverage Measurement; 2.5.3 Drawbacks; 2.6 Conclusions; References; 3 The Use of Dynamic Temporal Assertions for Debugging; 3.1 Introduction; 3.1.1 DTA Assertions Versus Ordinary Assertions; 3.1.2 DTA Assertions Versus Conditional Breakpoints; 3.2 Debugging with DTA Assertions; 3.3 Design; 3.3.1 Past-Time DTA Assertions; 3.3.2 Future-Time DTA Assertions; 3.3.3 All-Time DTA Assertions; 3.4 Assertion's Evaluation
3.4.1 Temporal Cycles and Limits3.4.2 Evaluation Log; 3.4.3 DTA Assertions and Atomic Agents; 3.5 Implementation; 3.6 Evaluation; 3.6.1 Performance; 3.7 Challenges and Future Work; 3.8 Conclusion; References; 4 Automated Reproduction and Analysis of Bugs in Embedded Software; 4.1 Introduction; 4.2 Overview; 4.3 Debugger-Based Bug Reproduction; 4.3.1 State of the Art; 4.3.2 Theory and Algorithms; 4.3.3 Implementation; 4.3.4 Experiments; 4.4 Dynamic Verification During Replay; 4.4.1 State of the Art; 4.4.2 Theory and Workflow; 4.4.3 Implementation of Assertions During Replay; 4.4.4 Experiments
4.5 Root-Cause Analyses4.5.1 State of the Art; 4.5.2 Theory and Concepts; 4.5.3 Implementation; 4.5.4 Experiments; 4.6 Summary; References; 5 Model-Based Debugging of Embedded Software Systems; 5.1 Introduction; 5.1.1 Problem Statement; 5.1.2 Contribution; 5.2 Related Work; 5.3 Model-Based Debugging Framework; 5.3.1 Overview; 5.4 Runtime Monitoring; 5.4.1 Classification of Runtime Monitoring; 5.4.2 Time-and Memory-Aware Runtime Monitoring Approaches; 5.5 Experimental Evaluation; 5.5.1 Software Monitoring; 5.5.2 On-Chip (Software) Monitoring; 5.6 Performance Metrics; 5.6.1 Software Monitoring