Open Source im professionellen Einsatz

Newsletter abonnieren
Seite durchsuchen

HEFTARCHIV | NEWS | E-BIBLIOTHEK | VIDEO | BLOGS | WHITEPAPER | EVENTS | ACADEMY | ABO | SHOP

user friendly

  Home  »  Heft & Abo  »  Heftarchiv  »  2010  »  06  »  Diagnosewerkzeug  

RSS-Feed der aktuellen News von Linux-Magazin Online Folgen Sie Linux-Magazin Online auf Twitter
Diesen Artikel druckenDiesen Artikel weiterempfehlen Diesen Artikel kommentieren Newsletter abonnieren
Share/Bookmark

© Ewa Walicka, Fotolia.com© Vindicator, CC-BY 3.0

Hardware-Debugschnittstelle JTAG auslesen

Diagnosewerkzeug

von Benedikt Heinz
Erschienen im Linux-Magazin 2010/06

Versierte Anwender machen sich den Firmware-Update-Mechanismus von WLAN-Routern und anderen Geräten zunutze, um ein eigenes Linux aufzuspielen. Besitzt ein Gerät keine Update-Möglichkeit, aber eine JTAG-Diagnose-Schnittstelle, lässt es sich oft dennoch ein Linux transplantieren.

Nicht nur der Gerätehersteller kann versuchen fremde Firmware zu verhindern. Auch mancher User sperrt sich bisweilen selbst aus, wenn er beim Update den Bootloader schrottet. In beiden Fällen schafft eine in vielen Chips hart verdrahtete JTAG-Schnittstelle (Joint Test Action Group) Abhilfe [1]. Sie arbeitet auch ohne funktionstüchtige Software auf dem Gerät. Dazu wird die oft als Lötpunkte herausgeführte Schnittstelle des Geräts über einen JTAG-Adapter mit einem PC verbunden. Mit passender Software greifen Bastler dann via JTAG-Protokoll auf das Zielgerät zu.

Neben dem Wiederbeleben von Geräten mit defekten Bootloadern verwenden sie JTAG auch noch dazu, um Zugriff auf Geräte ohne serielle Schnittstelle zu erhalten oder bei ihnen die Software zu verändern - denn die beruht immer öfter auf eingebettetem Linux. So lassen sich manche Zusatzfunktionen wie Set-top-Boxen oder Flachbildschirme bis hin zu Mobiltelefonen nutzen.

JTAG ist bei solchen Systemen eigentlich nur für den Hersteller zum Programmieren der Geräte und für die Fehlersuche gedacht. Daher besteht die erste Herausforderung darin, die Schnittstelle im Innern der Geräte zu lokalisieren, wobei Kenntnisse über die Funktionsweise der Schnittstelle hilfreich sind.

Den Eingang finden

Hinter der Abkürzung JTAG verbirgt sich ein 1985 gegründetes Herstellerkonsortium, das die Schnittstelle ursprünglich entwickelte, um elektrische Verbindungen auf bestückten Platinen automatisiert zu prüfen. Offiziell standardisiert IEEE 1149.1 das Verfahren und dessen Schnittstelle.

Die zunehmende Miniaturisierung integrierter Schaltkreise erfordert einen definierten Zugang, da sich Leiterbahnen bei mehrlagigen Platinen zu Testzwecken oft nicht mehr direkt kontaktieren lassen. Mit JTAG dürfen Entwickler an allen Ein- und Ausgängen des Chips einen High- oder Low-Pegel anlegen oder den anliegenden Wert messen. So prüfen sie Verbindungen zwischen den einzelnen Chips.

Dank dieser Funktionalität können sie von einem Chip mit JTAG-Schnittstelle aus auch auf Bausteine ohne solche Schnittstelle zugreifen. Sie nutzen die JTAG-Schnittstelle eines Mikrocontrollers dazu, an den Controller angeschlossenen Flashspeicher zu lesen und zu beschreiben. Auf diesem Weg lässt sich sogar ein Bootloader in den Flashspeicher des Controllers programmieren. Dieses Verfahren erfordert jedoch sehr viel Zeit, da es die entsprechenden Anschlüsse des Chips fortlaufend via JTAG aktualisieren und abfragen muss.

Heute existieren für JTAG eine Vielzahl von herstellerspezifischen Erweiterungen, die derartige Buszugriffe beschleunigen und weitere nützliche Funktionen wie etwa Debugging bereitstellen. Damit lesen und ändern versierte Entwickler bei den meisten Microcontrollern im laufenden Betrieb auch den RAM-Speicher und die Register des Chips. Selbst das Setzen von Breakpoints via JTAG ist bei aktuellen Controllern möglich.

Ein schmaler Pfad

Um möglichst wenig Pins am Controller zu belegen, die sich nicht als normale Ein- und Ausgänge nutzen lassen, hat das Konsortium die Schnittstelle synchron und seriell realisiert. Sie ist an einen Zustandsautomaten gekoppelt und benötigt lediglich vier Pins, sie tragen die Kürzel TCK, TMS, TDI und TDO. Der Pin TCK (Test Clock) taktet die Schnittstelle. TMS (Test Mode Select) dient der Navigation im Zustandsautomaten. Über TDI (Test Data In) übertragen Anwender Daten zum Gerät hin, während TDO (Test Data Out) die Datenleitung für die Rückrichtung darstellt.

Die optionale Leitung TRST (Test Reset) dient dazu, die Schnittstelle in einen definierten Ausgangszustand zu versetzen. Da keine einheitliche Steckerbelegung für JTAG-Anschlüsse existiert, besteht bei fremden Geräten die erste Herausforderung darin, die Kontakte für TCK, TMS, TDI und TDO auf der Platine zu finden.

Sie können diesen Artikel als PDF für 99 Cent kaufen. Klicken Sie dazu einfach auf eine der beiden Bezahloptionen Paypal oder ClickandBuy.


Diesen Artikel druckenDiesen Artikel weiterempfehlen Diesen Artikel kommentieren Newsletter abonnieren
Share/Bookmark
Ähnliche Artikel
Zwerg am Drücker USBprog - universeller Adapter für Embedded-Programmierer
Frei-Zeit im Pantoffelkino Firmwarepatch für Samsung-LCD-Fernseher
Linux-Däumling Open WRT auf dem Ben Nanonote
Fremde Finger USB-Dongle zum Selbstbau tippt lästige Passwörter ein
Canale Grande Praxis: Linux-Hosts anbinden an ein Fibre-Channel-SAN
Silbertablett Kurztest: Nokia 770 Internet Tablet
Whitepaper
Daten Migration - Eine Publikation von Bloor Research

Datenmigrationsprojekte überschreiten häufig das Budget, neigen zu Verzögerung und werden unter Umständen komplett abgebrochen. Bloor Research ist eines der weltweit führenden IT-Forschungs-, Analyse- und Beratungsunternehmen und wird in dem vorliegenden White Paper die wichtigsten Aspekte dieser Problematik näher beleuchten. Ferner werden praktische Empfehlungen für erfolgreiche Migrationsprojekte gegeben, die Sie auf Ihr nächstes Projekt übertragen können.

Download PDF (Registrierung erforderlich)
Open Source Datenintegration in der Praxis: Fallstudien und Anwendungsbeispiele

Über die letzten Jahre hinweg haben sich Open Source Lösungen als fester Bestandteil des gesamten Datenintegrationsmarktes etabliert. Viele Unternehmen haben bereits das Open Source Modell für Ihre Datenintegrationsprojekte aufgegriffen. Das vorliegende White Paper illustriert anhand ausgewählter Fallstudien und Anwendungsbeispiele die Implementierung von Open Source Datenintegration in der Praxis und benennt die daraus resultierenden Vorteile.

Download PDF (Registrierung erforderlich)
Kommentare (0)