130 likes | 239 Views
Overzicht van On-chip Debugtechnieken voor Embedded Systemen. Michiel Ronsse. Probleem. Vaststelling: het debuggen van software is verantwoordelijk voor 60 à 70% van de ontwikkelingstijd fouten in software zijn verantwoordelijk voor 80% van de laattijdige projecten
E N D
Overzicht van On-chip Debugtechnieken voor Embedded Systemen Michiel Ronsse
Probleem • Vaststelling: • het debuggen van software is verantwoordelijk voor 60 à 70% van de ontwikkelingstijd • fouten in software zijn verantwoordelijk voor 80% van de laattijdige projecten • efficiente debugtools en/of methoden zijn nodig
Soorten fouten • Sequentiële programma’s: computationele fouten • Parallelle en/of gedistribueerde systemen: ook synchronisatiefouten • Embedded systemen: ook prestatiefouten
Debuggen van software • Statische analyse • Dynamische analyse • post mortem • printf-methode • runtime debuggers • automatische debuggers
Problemen by Embedded Systems • Twee debugfasen: • tijdens ontwikkeling • tijdens gebruik • Problemen: • Continue werking interactief debuggen? • Geen globale klok • Wat met reproduceer-/herhaalbaarheid? • hoeveelheid I/O • RT-beperking • ROM, beperkte middelen (geheugen, uitvoer, ...)
Hardware-toevoegingen (I) • Logic analyzer • ROM-monitor • niet transparant, niet steeds aanwezig • In-Circuit Emulator (ICE): • functioneel en fysische equivalent • probleem bij hoge snelheid • late beschikbaarheid • voordeel: gebruik van complexe predikaten
Hardware-toevoegingen (II) • later: tussen bord en processor d.m.v bond-out versie van de processor • nog later: • In-Circuit (ICD) & On Chip Debugging (OCD) • simpele predikaten, minimale traces
Background Debug Mode • transparant, altijd aanwezig • in hardwarecircuits of microcode • omschakeling van de mode • BACKGROUND-commando • BGND-instructie • hardware-breekpunt • single stepping • `dichter’ bij de processor dan via ROM-monitor
Joint Test Action Group (JTAG) logica invoer uitvoer
JTAG Boundary Scan Cell logica invoer uitvoer TDI bypass TDO TCK TAP contr. TMS
JTAG TAP Control Device
Algemene Bespreking • intrusief • laag niveau • te veel informatie met te veel detail • traag
Besluit • Hardware bevat steeds meer uitbreidingen om het debuggen te vereenvoudigen: Design for Debugability • Hetzelfde doen voor software?