Evaluating the Fault Tolerance Capabilities of Embedded Systems via BDM

Similar documents
Evaluating the Fault Tolerance Capabilities of Embedded Systems via BDM

Fault Injection for Embedded Microprocessor-based Systems

SOFTWARE-IMPLEMENTED HARDWARE FAULT TOLERANCE

Software Techniques for Dependable Computer-based Systems. Matteo SONZA REORDA

Soft-error Detection Using Control Flow Assertions

Accurate Analysis of Single Event Upsets in a Pipelined Microprocessor

Report on benchmark identification and planning of experiments to be performed

Automatic Test Program Generation from RT-level microprocessor descriptions

Report on automatic generation of test benches from system-level descriptions

Keil uvision development story (Adapted from (Valvano, 2014a))

VLSI System Testing. Fault Simulation

Fault Simulation. Problem and Motivation

Lecture 3 - Fault Simulation

Eliminating Single Points of Failure in Software Based Redundancy

Reliable Distribution of Data Using Replicated Web Servers

Lecture 7 Fault Simulation

Fault Tolerant and BIST design of a FIFO cell

Trading-off incrementality and dynamic restart of multiple solvers in IC3

Politecnico di Torino. Porto Institutional Repository

A CAN-Based Architecture for Highly Reliable Communication Systems

HIGH-LEVEL AND HIERARCHICAL TEST SEQUENCE GENERATION

On the Optimal Design of Triple Modular Redundancy Logic for SRAM-based FPGAs

Parallel Debugging. ª Objective. ª Contents. ª Learn the basics of debugging parallel programs

New Techniques for Speeding-up Fault-injection Campaigns

Fault Tolerance in Distributed Systems: An Introduction

Automatic Test Bench Generation for Validation of RT-level Descriptions: an Industrial Experience

Control-flow checking via regular expressions

Software Based Fault Injection Framework For Storage Systems Vinod Eswaraprasad Smitha Jayaram Wipro Technologies

Fulvio Risso, Matteo Bertrone, Mauricio Vasquez Bernal

HIGH-LEVEL TEST GENERATION FOR HARDWARE TESTING AND SOFTWARE VALIDATION

A Data Parallel Algorithm for Boolean Function Manipulation

A Low-Cost Correction Algorithm for Transient Data Errors

ZAP Cross Debuggers for Motorola Microcontrollers

Multiple Fault Models Using Concurrent Simulation 1

LLFI: An Intermediate Code-Level Fault Injection Tool for Hardware Faults

Hardware-based Speculation

Testing Digital Systems I

Path analysis vs. empirical determination of a system's real-time capabilities: The crucial role of latency tests

P17 System Testing Monday, September 24, 2007

VLSI Testing. Virendra Singh. Bangalore E0 286: Test & Verification of SoC Design Lecture - 7. Jan 27,

VLSI Test Technology and Reliability (ET4076)

Wind River. All Rights Reserved.

Inside Broker How Broker Leverages the C++ Actor Framework (CAF)

Optimizing Area Loss in Flat Glass Cutting

COTS Commercial is not always advertising Monica Alderighi

Trace Getting Started V8.02

Real-time fault injection using enhanced on-chip debug infrastructures

Safety and Reliability of Software-Controlled Systems Part 14: Fault mitigation

Chapter 12. Microcontroller Application Development Tools

P&E Microcomputer Systems, Inc. P.O. Box 2044, Woburn, MA 01888, USA

AR-SMT: A Microarchitectural Approach to Fault Tolerance in Microprocessors

Tech Note 726 Capturing a Memory Dump File Using the Microsoft Debug Diagnostic Tool (32bit)

A Hybrid Approach to the test of Cache Memory Controllers Embedded in SoCs

Fault-Injection testing and code coverage measurement using Virtual Prototypes on the context of the ISO standard

Is This What the Future Will Look Like?

New Laboratory Tools and Techniques for Embedded Microcontrollers

A VHDL Error Simulator for Functional Test Generation

EB-51 Low-Cost Emulator

EEL 4744C: Microprocessor Applications. Lecture 7. Part 1. Interrupt. Dr. Tao Li 1

Reading Assignment. Interrupt. Interrupt. Interrupt. EEL 4744C: Microprocessor Applications. Lecture 7. Part 1

Fault Injection into GPGPU- Applications using GPU-Qin

Security and Reliability of the Internet Of Things (IoT): A Smart Meter Case Study

Programming in the MAXQ environment

High Speed Fault Injection Tool (FITO) Implemented With VHDL on FPGA For Testing Fault Tolerant Designs

XVIII. Software Testing. Laurea Triennale in Informatica Corso di Ingegneria del Software I A.A. 2006/2007 Andrea Polini

A Low-Cost SEE Mitigation Solution for Soft-Processors Embedded in Systems On Programmable Chips

Functional Fault Equivalence and Diagnostic Test Generation in Combinational Logic Circuits Using Conventional ATPG

1. ONCE Module 2. EBDI. Application Note. AN2327/D Rev. 0, 9/2002. M Core EBDI Interface Application Note

CodeWarrior Development Studio for Freescale HCS12(X) Microcontrollers

An Interrupt is either a Hardware generated CALL (externally derived from a hardware signal)

RT-level ITC 99 benchmarks and first ATPG results

MATERIALS AND METHOD

MPLAB SIM. MPLAB IDE Software Simulation Engine Microchip Technology Incorporated MPLAB SIM Software Simulation Engine

LEON2/3 SystemC Instruction Set Simulator

Using Process-Level Redundancy to Exploit Multiple Cores for Transient Fault Tolerance

VLSI Testing. Fault Simulation. Virendra Singh. Indian Institute of Science Bangalore

Error Sensitivity of Linux on PowerPC (G4) & Pentium (P4)

Repetition and Loop Statements Chapter 5

DQ8051. Revolutionary Quad-Pipelined Ultra High performance 8051 Microcontroller Core

TRACE32 Getting Started... ICD In-Circuit Debugger Getting Started... ICD Introduction... 1

ADAPTIVE PICTURE SLICING FOR DISTORTION-BASED CLASSIFICATION OF VIDEO PACKETS

System-level Test and Validation of Hardware/Software Systems

EOS: An Extensible Operating System

Monitor System Status

MPLAB X Debugging Techniques

A Framework for Reliability Assessment and Enhancement in Multi-Processor Systems-On-Chip

Lab 13 Real Time Debugging

Page 1. Outline. A Good Reference and a Caveat. Testing. ECE 254 / CPS 225 Fault Tolerant and Testable Computing Systems. Testing and Design for Test

Self-repairing in a Micro-programmed Processor for Dependable Applications

European Conference on Nanoelectronics and Embedded Systems for Electric Mobility

NightStar. NightView Source Level Debugger. Real-Time Linux Debugging and Analysis Tools BROCHURE

Metodologie di progetto HW Il test di circuiti digitali

SECTION 8 EXCEPTION PROCESSING

Using Symbolic Techniques to find the Maximum Clique in Very Large Sparse Graphs

Metodologie di progetto HW Il test di circuiti digitali

Fredrick M. Cady. Assembly and С Programming forthefreescalehcs12 Microcontroller. шт.

Sophisticated Debugging Features for Motorola s HCS12 Family are available on Nohau s Full-Featured Emulator By: Doron Fael Nohau

Project Debugging with MDK-ARM

Testing and Debugging

CprE 458/558: Real-Time Systems. Lecture 17 Fault-tolerant design techniques

Transcription:

Evaluating the Fault Tolerance Capabilities of Embedded Systems via BDM M. Rebaudengo, M. Sonza Reorda Politecnico di Torino Dipartimento di Automatica e Informatica Torino, Italy

Fault tolerant system System which is redundant to faults so that output is not affected Why do we need fault tolerant systems? Vast increase in role of embedded systems in day to day applications, critical systems How to verify the fault tolernace of embedded systems? By injecting faults and cross checking the output Fault Injection Simulation based, Software based, Hardware based Contribution of this paper is to exploit some features in recent microcontrollers for software based fault injection in embedded boards

Background Debugging Mode [BDM] Case study for behavior of target board with MC68332 in presence of faults BDM has many plus points over other software based fault injectors One of the special mode of operation in Motorola microcontrollers Debugger is implemented in CPU microcode Allows host processor to access memory, registers, I/O data BDM port shares pins with other development features and when enabled functions as a synchronous serial port

Fault Injection Environment Architecture Minimum intrusiveness achieved by deploying target application code on target system while entire FIM on host machine Fault Injection Manager [FIM]: Takes one fault from the fault list, schedules its injection time and loads environment on target system

Fault Injection Environment Architecture void fault_injection_manager() { /* Experiment Control Loop */ for(every fault fi in the fault list) { target_system_initialization(fi); spawn(target_application); inject_and_observe(fi); } return(); } All operations are with respect to BDM commands Target System Initialization Prepare data area and download the program Fault Injection Data set Up: Fault is picked up from list and breakpoint is set in code where fault is to be injected Inject and observe Monitors the system, injects faults and observes the system behavior

Fault Detection and Recovery Recovery from fault effects is achieved by modifying Error Detection Exception [EDE] procedures Return address from exception stack frame is modified so as to return to host processor and give the error message FIM reads error message, classifies the fault and compares it with fault free output Categories of Faulty system:- Fail Silent, Detected by some error detection mechanism, Fail Silent Violation and Time Out Violation Time Out check is done using watchdog set to twice the time requied for normal operation

Fault Model and List Generation Fault is injected between any two instructions, so its effect is easily reproduced Fault is identified by: Fault location, Injection Time Injection Time: Given in terms of instruction address or number of instruction repetition Inject and observe routine injects fault at the n th activation of an instruction by means of BDM command which modfies the memory location or user register as determined by fault location

Fault Model and List Generation Fault list generated before injection Fault free execution time and instruction set is traced Random fault list is created in terms of fault location and injection time Fault list is converted in format required by BDM Fault collapsing Can be used to optimize the fault list Two classes of Error Detection Mechanism [EDM] Hardware Software

Fault Analysis and Fault Coverage Benchmark evaluation for Bubble Sort, Parser and Dhrystone Set of 1000 randomly generated faults were injected in data memory, code memory and microcontroller registers

Limitations of Fault Injection via BDM Microcontroller speed decreases when BDM mode is entered upon Serial communication between host and target introduces significant delay Little difficult to apply for time related characteristics of real time systems Paper Summary The papers gives a good insight to understand a new perspective of debugging environment The fault analysis and coverage statistics helps understand the need for deployment of such methods to make fault tolerant product development process more efficient