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