Overzicht van On-chip Debugtechnieken voor Embedded Systemen
description
Transcript of Overzicht van On-chip Debugtechnieken voor Embedded Systemen
SEESCOA10/11/99 1
Overzicht van On-chip Overzicht van On-chip Debugtechnieken Debugtechnieken
voor Embedded Systemenvoor Embedded Systemen
Michiel Ronsse
SEESCOA10/11/99 2
ProbleemProbleem
• 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
SEESCOA10/11/99 3
SoortenSoorten fouten fouten
• Sequentiële programma’s: computationele fouten
• Parallelle en/of gedistribueerde systemen: ook synchronisatiefouten
• Embedded systemen: ook prestatiefouten
SEESCOA10/11/99 4
Debuggen van softwareDebuggen van software
• Statische analyse
• Dynamische analyse– post mortem– printf-methode– runtime debuggers– automatische debuggers
SEESCOA10/11/99 5
Problemen by Embedded SystemsProblemen 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, ...)
SEESCOA10/11/99 6
Hardware-toevoegingen (I)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
SEESCOA10/11/99 7
Hardware-toevoegingen (II)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
SEESCOA10/11/99 8
Background Debug ModeBackground 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
SEESCOA10/11/99 9
Joint Test Action Group (JTAG)Joint Test Action Group (JTAG)
logicainvoer uitvoer
SEESCOA10/11/99 10
JTAGJTAG
logica
bypass
TAP contr.
TDI
TCK
TDO
TMS
invoer uitvoer
Boundary
Scan Cell
SEESCOA10/11/99 11
JTAGJTAG
TAP Control
Device
SEESCOA10/11/99 12
Algemene BesprekingAlgemene Bespreking
• intrusief
• laag niveau• te veel informatie met te veel detail
• traag
SEESCOA10/11/99 13
BesluitBesluit
• Hardware bevat steeds meer uitbreidingen om het debuggen te vereenvoudigen: Design for Debugability
• Hetzelfde doen voor software?