![]() |
![]() |
||
embedded BDM - JTAG
| |||
Hardware gestütztes EntwicklungswerkzeugMit den ersten leistungsfähigen Prozessoren zum Ende der siebziger Jahre erschienen auch vielfältige Entwicklungswerkzeuge, um Hard- und Softwerkern die Arbeit zu erleichtern. Denn neben Oszilloskop gab es nichts um einen damaligen Mikroprozessor wie i8080, Z80 oder 6502 für eine spezielle Hardware fit zu machen und den Prozessor dann auch noch zu programmieren, grenzte an ein Buch mit sieben Siegeln. Also entstand der sogenannte "Emulator", eine spezielle Version des jeweiligen Microprocessor mit sogenanntem "Bond Out", der sich von zusätzlicher Hardware steuern läßt. Dies ging solange gut, wie die Prozessoren weniger als 100 Gehäusepins hatten und die Taktfrequenzen unter 30 MHz blieben. Mit schnellerem Takt und breiterem Bus, der wiederum mehr Pins und kleinere Gehäuse-Bauform erfordert, ging es auch mit diesen traditionellen Emulatoren bergab. Heutzutage sind sie kaum noch für 32-bit Prozessoren und Mikrokontroller im Einsatz. Schon Anfang der 90er Jahre entstanden die ersten intelligenten Tool-Lösungen, bei denen der Prozessor eingelötet auf der Platine bleiben konnte. Motorola entwickelte das BDM - Background Debug Mode - Interface für die 68k3xx Serie mit populären 32-bit Mikrokontroller, wie 68332, der 68360 für netzwerkanwendungen und 68336/376 für industrielle Steuerungen. Bei Texas Instruments hatte man für die 32-bit DSP 320C30 ebenfalls die Zeichen der Zeit erkannt und diese Prozessoren hatten eine Vorläufer-Version des JTAG Debug Interface. Die Debug-fähige Version JTAG eroberte dann mit PowerPC, Hitachi SH, und ARM Prozessoren mehr als ein Entwicklungslabor der Internet Boom Jahre 1996..2000. Einige Tool Anbieter gingen sogar soweit, ihre BDM/JTAG Tools über das Internet anzubieten, bei techonline.com findet sich heute noch ein sogenanntes "virtualab", auf dem jedermann eine Runde mit Motorola PowerPC 8260 oder IBM 405 debuggen kann. |
Software DebuggerDas BDM / JTAG Entwicklungswerkzeug hat den Prozessor im Griff hat, nun brauchen wir ein Software Tool, das den Sourcecode und das BDM/JTAG Tool im Griff hat. Eben das macht ein Software Debugger. Idealerweise fügt er sich in ein IDE (Integrated Development Environment - Integrierte Entwicklungsumgebung) ein, dort kann Programmcode editiert, compiliert, auf die Zielhardware übertragen und zum Laufen gebracht werden. In den 90er Jahren mußte man von verschiedenen Herstellern all diese Funktionen zusammenkaufen, ein beliebter Software Debugger war zum Beispiel der Singlestep von SDS - Singlestep Development Solutions. Andere Debugger kamen zusammen mit BDM / JTAG Entwicklungswerkzeugen und versuchten, die Funktionen eines traditionellen Emulators nachzubilden. Die Anforderungen moderner Softwareentwicklung gehen aber weg von den Hardwareemulatoren der 80er Jahre zu mehr Prozessorientierten Vorgehensweisen, in denen das Tool unter einer Oberfläche seine Arbeit macht, ohne dem Ingenieur seine Eigenheiten aufzuzwingen. Neuere IDE gibt es von Greenhills und Wind River Systems. Lange Download-Zeiten sind ein heikles Thema für BDM/JTAG Tools, denn die serielle Verbindung zum Zielsystem läßt keine hohen Übertragungsraten zu. Beim BDM geht es bei schnellen PowerPC immerhin mit einigen Mbit zur Sache, Flash wird meist so schnell programmiert, wie es der Baustein zulässt. Beim JTAG dagegen helfen auch hohe Taktfrequenzen wenig, wenn lange JTAG Kommandoketten übertragen werden müssen, um ein wenig Code auf das Target zu laden. Abhilfe bringen hier zwei Methoden, zum Einen das differentielle Herunterladen von nur den Code-Teilen, die sich momentan im Debug befinden und die per compile-link geändert wurden, dies setzt modulare und verschiebbare Programmblöcke voraus; oder zum Anderen ein schnelles Paralleles Interface auf dem Target, über das direkt in den Hauptspeicher geladen wird, hier sind allerdings Änderungen an der Hardware notwendig und die Anschaffung des Tools ist aufwendiger, dafür können in Sekunden viele MByte geladen werden, die nur über JTAG schon mal einige Minuten dauern können. | ||
vom Embedded Spezialist für Tools und Computer[Ende der 90er Jahre galt es noch, Überzeugungsarbeit zum Kauf von JTAG/BDM Tools zu leisten!] Entwicklungswerkzeuge für 32-bit Mikrokontroller und Hochleistungsprozessoren ARM MIPS PowerPC Hitachi SH. Enwicklungslösungen für die Prozessorfamilien Motorola CPU32 68332..68360..68376, PowerPC 4xx, 5xx/8xx, 603, 7xx, 74xx, 970 und MPC 8240,8245,8260,8264,8265 sowie alle Motorola Coldfire, wie auch ARM7 TDMI, MIPS 4k! Embeddedexpert hat die Nase vorn mit Entwicklungserfahrung bei Systemintegration und Kundensupport.Das eingesetzte Produktspektrum in embedded Entwicklungen reicht vom Simulator über Single-Board-Computer über Emulatoren die entweder stand-alone oder in einer Echtzeit-Entwicklungsumgebung eingebunden sind bis hin zu BDM / JTAG-Controllern für die Fertigung und Wartung. Diese Tools gestatten Ihnen, ein PowerPC Project bis in die tiefsten Details zu testen und zu verifizieren. Wir zeigen Ihnen Prozessor-Cache in Echtzeit, mit Timestamp und wichtigen Details. Sie können, während der Prozessor läuft, den Cache ein- oder ausschalten und sehen sofort im Echtzeit-Trace das Resultat. Perfekte Unterstützung neuester PowerPC Prozessoren, die kompletten MPC 8xx/5xx Familie mit MPC855T, MPC857, MPC860, und MPC862, sowie MPC555 und neueste Automotive Derivate Spanish Oak, Silver und Green Oak MPC561, MPC563, MPC565!! Aus der klassischen PowerPC Familie werden MPC603, MPC740, MPC750, MPC755 und ALTIVEC Prozessoren MPC7400, MPC7410, und MPC7450 unterstützt. Nicht zu vergessen die komplette MPC 82xx Prozessorfamilie: MPC8240, MPC8245, MPC8260 MPC8261 MPC8264 MPC8265. Skalierbarer, hochwertiger Background Debug Mode Controller Das Basisgerät verkörpert einen voll ausgestatteten BDM / JTAG Controller, der zu einem hochwertigen Emulator ausgebaut werden kann. Die BDM / JTAG Lösung nutzt die gesamte Leistung des BDM / JTAG Protokols und kann zum effizienten Hardware-Debugging verwendet werden. Die Ausstattungsmerkmale von Debugging-Tools beinhalten: Hardware- und Firmware-Entwicklung
Software Entwicklung
Produktion / Test
Software Debugger Third Party IntegrationDebugger wurden für vielfältige Platformen, wie Windows 98, Windows 2000, XP und NT 4.0, Solaris, SunOS, HP-UX, sogar AIX und Apple MacIntosh angeboten, schon heute fallen oft die UNIX-Derivate unter den Tisch und oft gibt es nicht einmal eine Unterstützung von Linux auf PCs oder Workstation Zur BDM / JTAG -Steuerung und Echtzeitanalyse auf SUN und HP UNIX- und LINUX-Workstations gab es Softwaredebugger. Diese beinhalten selektives Trace und mit C / C++ Code kompatible Trace-Anzeige sowie eine reiche Auswahl an Debugging-Features. Flexibilität und Funktionen wie Task abhängiges Debugging mit Berücksichtigung des Echtzeitbetriebssystems RTOS Kernel. Emulatoren sind 100% kompatibel mit den Standardversionen gängiger Debugger. Wichtige Punkte zur Software-Integration sind:
Echtzeit-Trace und Target ControlFührende Debugging-Lösungen verwenden Hochleistungsemulation und BDM/JTAG zur Targetsteuerung und eine Echtzeit-Logikanalyse für Trace Break Event in einem integriertem Package. Manche Tools können eigenständiger BDM Controller oder Steuerung für das gesamte System sein. Integrierbar in das Entwicklungssystem ist ein High-End-Logikanalysator mit vielen Debugging-Funktionen. Welche Vorteile hat dieses passive Trace System gegenüber herkömmlichen aktiven In-Circuit-Emulatoren?
High End Emulation hat kurz zusammengefasst folgende Funktionen:
Diese fünf Basisanforderungen an einen In-Circuit-Emulator können unterschieden werden in Target Control Funktionen (1) bis (3) und Trace und Event Funktionen (4) und (5). Historisch war eine aktive Architektur notwendig, um diese Anforderungen zu erfüllen. Normalerweise wurde an Stelle der CPU eine Sonde des Emulators in einen Sockel auf das Target gesteckt. Von dort aus wurde das Target gesteuert und Hochgeschwindigkeits-Signale von der Emulatoreinheit an das Target gepuffert. Diese Architektur war akzeptabel für einfache Prozessoren aber auch dort gab es Zuverlässigkeitsprobleme und ein Wechsel des Prozessortyps war eine teure Angelegenheit.
Motorola hat Ende der 80er Jahre das Problem steigender Emulator-Kosten erkannt und ebenfalls, daß sich die Situation mit schnelleren Mikroprozessoren nicht verbessern wird. Ohne akzeptable Emulatoren bzw. Entwicklungswerkzeuge würden zukünftige Kunden kaum Motorola Prozessoren als Basis ihrer Produkte wählen. Vorausschauend hat Motorola die notwendigen Schritte unternommen, um Debug-Funktionen in den Chip zu verlagern: Background Debug Mode, kurz BDM, ist in den Mikrocontrollern CPU32 (683xx), PowerPC 8xx und Coldfire 5xxx implementiert. Bei bester Ausnutzung kann Background Mode komplettes Target debugging (#1 bis #3 der Liste oben) oder rund 70% der Funktionen eines aktiven Emulators verkörpern. Die Einbeziehung von Debug-Funktionen in den Prozessorchip hat die Umgebung, in welcher der In-Circuit Emulator arbeitet,vereinfacht. Mit Hilfe eines integrierten Software-Debuggers kann ein herkömmlicher Emulator durch einen Bus-Status-Analysator ersetzt werden. Dieser Analysator ist passiv während ein aktiver Emulator den Prozessor im Targetsystem durch Hardware im Emulator ersetzt und sämtliche Prozessorsignale das Kabel zwischen Emulator und Targetsystem überwinden müssen. Integrierte Emulationsmethode, BDM und Bus-Status Analyse, bietet Trace- und Event-Möglichkeiten ohne die Zuverlässigkeitsprobleme, Beschränkungen und Kosten eines aktiven Emulators. Vielen Dank für die Zeit, die Sie sich für diese Lektüre genomen haben. Ich denke, daß skalierbare Entwicklungswerkzeuge die beste Lösung für Ihr Projekt sind.
Vielen Dank für Ihr Interesse und zögern Sie nicht, uns weitere Fragen zu stellen. Wir freuen uns auf Ihr Embedded Projekt! Mit freundlichen Grüßen vom Embedded Spezialisten Bernhard Kockoth Entwicklungswerkzeug Development Debug Tool BDM/JTAG Debug Echtzeittrace Source Code Debugger | |||
|
| Home | Products | Services | Support | Techbuch Online Buchladen | Impressum | |
|||
|
Embedded Expert 2006 - Alle Marken, Warenzeichen und Handelsnamen sind Eigentum der jeweiligen Inhaber. © BK media systems 2002, 2009. All trademarks and registered names are property of their respective owners. German law requires Impressum |
|||