32 news trace

Transcrição

32 news trace
32
TRACE
NEWS
Neuheiten zur Embedded Systems ´99
FIRE, ICE & ICD : Dreimal auf dem ersten Platz !
Mit über 60% Umsatzsteigerung gegenüber dem Vorjahr konnte Lauterbach
Datentechnik GmbH das Geschäftsjahr
1998 abschließen. Damit ist Lauterbach
nach wie vor der erfolgreichste europäische
Hersteller
von
Mikroprozessor-entwicklungssystemen
und belegte mit den drei Produktlinien
TRACE32-ICE, TRACE32-ICD und
TRACE32-FIRE in drei unterschiedlichen Disziplinen jeweils Platz eins.
Der Klassiker TRACE32-ICE, der InCircuit-Emulator für 8- bis 32-bit Architekturen,
erwies
sich
als
umsatzstärkstes Mitglied in der
TRACE32-Familie. Zahlreiche neue
Prozessor-Probes haben zu diesem Erfolg beigetragen. Als die erfolgreichsten
Prozessorfamilien bei die-sem Produkt
sind die SIEMENS C166-Familie sowie
der 68HC12 von Motorola zu nennen.
Gelungen ist auch die Produkteinführung
des TRACE32-FIRE. Ein unerwartet hoher Auftragseingang machte dieses Produkt zum erfolgreichsten RISC-Emulator für die PowerPC-Familie MPC860
in Deutschland. Verfügbar ist der
TRACE32-FIRE momentan für MOTOROLA PowerPC und Hitachi SH-2
und H8-S, es folgen in Kürze weitere er-
TRACE
32
folgsversprechende
Prozessorarchitekturen, wie etwa NEC
V850, ARM7, ARM9 und Siemens TriCore, von denen schon einige auf der
Embedded Systems ´99 vorgestellt
werden.
Das Betätigungsfeld der Debugger hatte
Lauterbach vor ein paar Jahren mit gemischten Gefühlen betreten, da TRACE32
ursprünglich eher im High-End-Bereich
angesiedelt war. Inzwi-schen hat
TRACE32-ICD
seinen
festen
Stammplatz im Produktspektrum der Firma Lauterbach, da sich “High-End” und
Debugger gar nicht ausschließen.
Schließlich kann man ja auch bei Debuggern einiges besser machen als der Wettbewerb und “High-End” ist nicht gleichbedeutend mit “High-Price”. TRACE32ICD hat in den letzten Jahren jeweils eine
Umsatzverdopplung durchgemacht und
sich im Jahr 1998 zu einem der beliebtesten Debugger gemausert. In Deutschland war er der erfolgreichste Debugger
sowohl in der Automotive- als auch in
der Telecom-Industrie insbesondere für
die Prozessorarchitekturen ARM, Pow-
C166CBC, sowie für Motorola M-Core
und MPC8260.
Alles in allem hat TRACE32 im Laufe
der letzten Jahre eine enorme Entwicklung durchgemacht und Lauterbach ist
eines der weltweit führenden Unternehmen für Entwicklungswerkzeuge geworden. Nach diesem kurzen Rückblick
auf das vergangene Geschäftsjahr ist nun
der Blick wieder nach vorne gerichtet,
denn die Entwicklung wird auch in
diesem Jahr nicht stehen bleiben. Was Sie
alles für 1999 als Neuigkeiten zu erwarten haben, erfahren Sie auf den nächsten
Seiten. Viele der Neuheiten können Sie
auf der
Embedded System 99
2.- 4. März 1999 in Nürnberg
Stand D08
erPC und 68HC12.
Ganz brandneu gibt es TRACE32-ICD
nun auch für SIEMENS TriCore und
Development Tools
besichtigen. Besuchen Sie uns dort, wir
laden Sie recht herzlich dazu ein !
LAUTERBACH
http://www.lauterbach.com
2
CTS - Context Tracking System für TRACE32
1.) Context Tracking System
einschalten
2.) Aufzeichnungszeitpunkt wählen,
für den der Zielsystemzustand
wiederhergestellt werden soll
3.) Der PC wird automatisch auf
den Aufzeichnungszeitpunkt gesetzt
4.) Beim “Debuggen” aus dem
Trace, können die Änderungen in
Speicher, Variablen und Registern
verfolgt werden
Um Herauszufinden, welche Instruktionen, Daten oder Systemzustände zu
einem fehlerhaften Verhalten des Zielsystems geführt haben, mußte man sich
bisher mühsam durch das Trace-Listing
durcharbeiten.
Das Context Tracking System – kurz
CTS – erlaubt es nun, basierend auf den
Informationen aus dem Tracespeicher,
den Zustand des Zielsystems für einen
ausgewählten Aufzeichnungszeitpunkt
noch einmal herzustellen. Von diesem
Ausgangspunkt aus kann man dann die
Programmschritte, die vorher in Echtzeit im Tracespeicher aufgezeichnet
wurden, noch einmal “debuggen”.
Wie funktioniert das ContextTracking?
Nach dem Einschalten des ContextTracking-System, wählt man zunächst
einen Aufzeichnungszeitpunkt im
Trace aus, für den der Zielsystemzustand im Emulator wiederhergestellt
werden soll. Im Sourcelisting wird
daraufhin der Program-Counter automatisch so
LAUTERBACH
http://www.lauterbach.com
gesetzt, wie er zum ausgewählten Zeitpunkt stand.
Jetzt können alle Debug-Kommandos
wie Single Step, Step Over Call, Go Return etc. verwendet werden. Dabei
werden die Befehle so abgearbeitet, wie
sie im Tracespeicher aufgezeichnet
wurden. Die Debug-Funktionalität wurde noch dahingehend erweitert, daß man
nun auch rückwärts steppen kann.
Gleichzeitig möchte man natürlich auch
die Änderungen von Variablen, Speicher und Registern noch einmal nachvollziehen. Dazu stehen verschiedene
Strategien zur Verfügung.
Relativ einfach lassen sich die Änderungen nachvollziehen, wenn man dazu die
im Tracespeicher aufgezeichneten Schreib- und Lesezyklen verwendet. Für
interne Speicher funktioniert das allerdings nur, wenn die CPU über diese
Zugriffe vollständige Informationen
nach außen gibt. Informationen über
Registertransfers stehen selbst dann
meistens nicht zur Verfügung.
Eine Ausnahme bildet hier die C166Familie, die über die Bondout-Busse
sämtliche Informationen über die internen Abläufe der CPU nach außen
sichtbar macht.
Eine Alternative ist es, einen Instruction
Set Simulator zu verwenden. Damit
können die einzelnen Instruktionen
quasi noch einmal ausgeführt werden.
So lassen sich Register und Speicherzustände einfacher wiederherstellen.
Instruction Set Simulatoren stehen für
den PowerPC, die 68K-Familie und den
ARM7 zur Verfügung.
Im HLL-Trace können nun auch die
Register-Variablen angezeigt werden
TRACE
32 Development Tools
3
Trace-Erweiterung für die ICD-Debugger
ROM Monitor für H8S
ROM Monitor für die
SH Familie
ROM Monitor für V850
LAUTERBACH
http://www.lauterbach.com
PC oder Workstation
RISC TRACE
OCDS Debugger für C166CBC
OCDS Debugger für TRICORE
ONCE Debugger für M-CORE
JTAG Debugger für MPC8260
10 BASE-T
DEBUG
DEBUG
Neue ICD-Debugger
Preprocessor
HUB
•
•
•
PODETH
Zusätzliche Hardware-Breakpoints
Triggermöglichkeiten
Die Möglichkeit Speicher zu lesen
und zu beschreiben, während die
CPU Code ausführt
Selbstverständlich sind diese prozessorspezifischen Erweiterungen vollständig
in den TRACE32-Debugger integriert.
Seit 1998 stehen für die meisten ICDDebugger nun auch Echtzeit-Tracemodule
zur
Verfügung.
Jedes
Tracemodul
beinhaltet
einen
64K Frames großen Tracespeicher. Die
aufgezeichneten Records werden mit
einem Zeitstempel markiert, der eine
Auflösung von 100 ns hat.
Durch diese Trace-Erweiterung stehen
nun auch für die In-Circuit Debugger
vollständige Informationen über den
Programmfluß zur Verfügung, so daß
man leicht nachvollziehen kann, welche
Instruktionen oder Systemzustände einen bestimmten Programmzustand herbeigeführt haben.
Für das Tracen werden zusätzliche
Hardware-Module an den PODBUS angeschlossen. Dabei handelt es sich um
das universelle RISC Trace Modul und
Target
JTAG/BDM Connector
Die In-Circuit Debugger TRACE32ICD ermöglichen ein komfortables Debugging auf C, bzw. C++ Ebene über
die im Silizium integrierte Debugschnittstelle. Die Komplexität dieser
Schnittstellen hat in den letzten Jahren
erheblich zugenommen. Dies umfaßt:
TRACE32-ICD mit Trace-Erweiterung und Ethernet-Anschluß zum Host
um einen CPU-spezifischen Preprozessor.
Tracestecker
Um den Preprozessor an die Zielhardware anschließen zu können, müssen
dort alle für das Tracen notwendigen
Signale auf einem genormten Stecker
zur Verfügung stehen. Da der Tracestecker bereits beim Target-Design
berücksichtigt werden muß, wird empfohlen, sich frühzeitig über das SteckerLayout zu informieren. Eine ausführliche technische Beschreibung ist auf der
Lauter-bach Web-Seite zu finden ( http:/
www.lauterbach.com/ord_7870.html).
Für die Implementierung des Tracemoduls wird zwischen Bustrace und
Pro-gram Flow Trace unterschieden.
Bustrace
Bei einen Bustrace werden für jeden
CPU Zyklus der Daten- und Adressbus
sowie einige Statusleitungen auf-
gezeichnet.
Dadurch
stehen
vollständige Informationen über den
Programm- und Datenfluß zur
Verfügung.
Auf den Tracestecker müssen dafür
Adress- und Datenbus, sowie einige
wichtige Statusleitungen herausgeführt
werden.
Program Flow Trace
Um höhere Geschwindigkeiten zu erreichen, laufen bei vielen neueren Prozessoren die Programme aus dem Cache
bzw. sind Buszugriffe auf CPU-interne
Ressourcen wie internes RAM oder OnChip Flash nach außen nicht mehr sichtbar. Somit ist die Implementierung
eines Bustrace nicht möglich, da die dazu notwendigen Informationen nicht
zur Verfügung stehen.
Das neue Schlagwort heißt Program
Flow Trace. Die Grundidee dabei ist, bei
minimaler Sichtbarkeit der gefetchten
TRACE
32 Development Tools
4
Instruktionen dennoch die Möglichkeit
zu bieten den Programmfluß vollständig nachzuvollziehen.
Anstatt der vollständigen Instruktionsadresse werden von der CPU über zusätzliche Statusleitungen nun Informationen über den Programmfluß nach
außen gegeben, wie beispielsweise:
nächster Programmschritt ausgeführt,
direkter Sprung genommen usw. Wenn
diese Statussignale aufgezeichnet werden, kann eine intelligente Software aus
der Startadresse des Programmlaufs,
aus den Statussignalen und dem Programmlisting den vollständigen Programmfluß rekonstruieren.
Das einzige Problem bei diesem
Lösungsansatz
stellen
indirekte
Sprünge dar, da hier die Sprungadresse
erst zur Laufzeit feststeht und daher
nicht aus dem Programm-Listing ermittelt werden kann. Die meisten
Prozessoren, die einen Program Flow
Trace unterstützen, lassen sich jedoch
so einstellen, daß bei einem indirekten
Sprung die Instruktionsadresse vollständig auf dem Ad-ressbus ausgegeben
wird. Damit steht der Software der richtige Aufsetzpunkt für die weitere
Rekonstruktion des Programmflusses
zur Verfügung.
Für den Tracestecker müssen beim Program Flow Trace also Adress- und
Statusleitungen, sowie die Leitungen,
die die Informationen über den Programmfluß nach außen geben, herausgeführt werden.
Zusammen mit der Trace-Erweiterung
stellen die In-Circuit Debugger
TRACE32-ICD ein leistungsfähiges
und kostengünstiges Werkzeug zum
Debuggen moderner Prozessoren dar.
Für die meisten Prozessoren steht auch
ein voll software-kompatibler In-Circuit Emulator zur Verfügung, dessen
Leistungsumfang vor allem dann weit
über den der Debugger hinausgeht,
wenn wie beispielsweise beim
TRICORE, ein eigener Emulations-
LAUTERBACH
http://www.lauterbach.com
Funktionsweise des Program Flow Traces am Beispiel des MPC555
Tatsächlich aufgezeichnete Signal mit Programmfluß Informationen
Der aus der Startadresse, den Programmfluß Informationen und dem
Programm-Listing rekonstruierte Programmfluß auf Assemblerebene
Der aus der Startadresse, den Programmfluß Informationen und dem
Programm-Listing rekonstruierte Programmfluß auf HLL-Ebene
Verfügbare Trace-Module
Bustrace
Program Flow Trace
Preprozessor für ARM7
Preprozessor für PPC400
für ARM7TDMI, ARM7TDMI-AMBA
für PPC403GA, PPC403GB,
PPC403GC, PPC403GCX
Preprozessor für C166CBC
PMB2850 E-Gold, C161-C167
Preprozessor für MPC500/800
Program Flow Trace
für MPC505, MPC509, MPC555,
MPC821, MPC823, MPC850, MPC860
Preprozessor für TriCore Level2
Preprozessor für MPC801
für TriCore RiderA
für MPC801
Preprozessor für ColdFire
Preprozessor für PPC603
für MCF5202, MCF5203, MCF5204,
MCF5206, MCF5207
für PPC603, MPC740, MPC750
TRACE
32 Development Tools
Einfach per Fax oder im Fensterkuvert
an uns zurücksenden!
An
Lauterbach Datentechnik GmbH
Messe-News ’99
Fichtenstr. 27
D-85649 Hofolding
Fax: ++49 8104 8943-30
Wir setzen folgende Prozessoren ein:
Absender
Name
____________________________________
Firma
____________________________________
Adresse ____________________________________
____________________________________
Telefon ____________________________________
Fax
____________________________________
Email
____________________________________
_______________________________________________
Bitte senden Sie mir Informationen zu den folgenden Produkten zu:
❑ ICD-Debugger
❑ In-Circuit Emulator TRACE32-ICE
❑ Trace-Erweiterung für ICD-Debugger ❑ Fully Integrated RISC Emulator TRACE32-FIRE
Wir setzen folgenden Compiler ein:
_______________________________________________
Wir setzen folgendes RTOS ein:
_______________________________________________
❑
Ich bin an einer Vorführung interessiert.
❑
Wir setzen keine Entwicklungstools mehr ein.
Bitte streichen Sie uns aus der Mailing-Liste.
6
Aktuelles kurz notiert
++ Neue System Controller
Unit ++
soren simultan gestartet und gestoppt
werden können.
Seit Ende 1998 ist die neue System Controller Unit basierend auf dem MPC860
lieferbar. Die neue SCU bietet eine wesentlich verbesserte Download-Performance:
•
•
•
•
LPT (100 - 500 KB/s)
USB (1MB/s)
Twisted Pair Anschluß für Ethernet
(bis 1MB/s)
AUI-Anschluß für Ethernet
(bis 1MB/s)
Ab März 1999 wird dann auch eine System Controller Unit zur Verfügung stehen, die einen direkten Anschluß an ein
100 MBit Ethernet erlaubt.
Außerdem verfügt die neue SCU über
eine Schnittstelle, die die Synchronisation mehrerer Emulatoren erlaubt. Dies
umfaßt
Start-/Stopsynchronisation,
Zeitsynchronisation, sowie Intertrigger-Möglichkeiten.
++ Multiprozessor Debugging
mit TRACE32-ICD ++
Über die PODBUS-Schnittstelle lassen
sich bis zu 4 In-Circuit Debugger
TRACE32-ICD gleichzeitig ansteuern.
Damit läßt sich eine Debug-Umgebung
aufbauen, in der verschiedene Prozes-
Xtools/X32
Blue River Software
RistanCASE DA-C,
RistanCASE GmbH
(Integration durch die RistanCASE GmbH)
HIWARE HI-WAVE
Die Verzögerungszeiten für Start und
Stop sind dabei abhängig von den eingesetzten Prozessoren. Voraussetzung für
ein Multiprozessor Debugging ist, daß
das Intercom System auf dem Host konfiguriert ist.
HIWARE AG
+ + TRACE32 Support für
Java ++
(Integration durch IAR)
Der TRACE32 Debugger unterstützt ab
sofort auch die Programmiersprache
Java. Als erster Compiler wird FastJ von
DiabData für die PowerPC-Familie
unterstützt.
++
Neuer
Simulator ++
EPROM
Ab Februar wird nun auch ein 16 MBit
EPROM Simulator mit 40 ns Zugriffszeit angeboten. Der EPROM Simulator
wird in einer 5 V und einer 3.3 V Version
angeboten.
Neu unterstützte Echtzeitkerne
68K
PowerPC
RTXC, Embedded System Programming (geplant)
MQX, Precise Software
RTXC, Embedded System
Programming
Chorus, Chorus Systems (geplant)
C166
CMX-RTXS, CMX Company
RTXC, Embedded System
Programming
80386
pSOS (protected mode), Integrated
Systems Inc.
LAUTERBACH
http://www.lauterbach.com
Neue Integrierte
Entwicklungsumgebungen
ARM7
VxWorks, Wind River Systems
SH2
VxWorks, Wind River Systems
(geplant)
(Integration durch HIWARE)
OSE Illuminator
ENEA OSE SYSTEMS INC.
IAR Embedded Workbench
IAR Systems GmbH (geplant)
DIAB DATA RTA Suite
DIAB DATA Inc. (geplant)
(Integration durch DIABDATA)
SNIFF
Take Five Software (geplant)
++ PCP Debugger
TRICORE ++
für
Lauterbach erweitert seinen ICD-Debugger für den TRICORE um einen
Debugger für den PCP Subcontroller.
Damit ist auch ein Debugging der in der
PCP abgelegten Programme möglich.
Der Leistungsumfang des PCP Debugger umfaßt:
• Darstellen und Modifizieren von
PCP Registern, PCP Speicher und
PCP Peripherie
• Darstellen des PCP Codes
• Starten und Stoppen der PCP, Single
Steppen, sowie das Setzen von
Breakpoints
++
ICD-Debugger
für
MPC8260 und MPC8240 ++
Der In-Circuit Debugger TRACE32ICD für den PPC603 unterstützt jetzt
auch den MPC8260 und den MPC8240.
Für das Debuggen dieser beiden Prozessoren muß ein Power Debug Modul
eingesetzt werden.
TRACE
32 Development Tools