Auf der Suche nach neuen Kontakten

Oft sind die Bauteile einer Schaltung interessant, die sich nicht auf der Leiterplatte befinden. Einige Bauteile sind nur während der Software-Entwicklung notwendig, aber nicht für die Massenproduktion. Dazu zählen Anschlüsse für eine serielle Schnittstelle zur Ausgabe von Debug-Meldungen und ein JTAG-Programmierer, um Software zu laden und zu debuggen.

Stellenmarkt
  1. IT-Professional / Bioinformatiker (m/w/d)
    Bayerisches Landeskriminalamt, München
  2. Trainee People Analytics (m/w/d)
    AOK PLUS - Die Gesundheitskasse für Sachsen und Thüringen, Dresden, Leipzig, Erfurt
Detailsuche

Oberhalb des SoC gibt es vier Kontakte für Pins, die ein serieller Anschluss sein könnten, in der linken oberen Ecke sind zehn weitere Kontakte, die womöglich für einen JTAG-Programmierer bestimmt sind. Drei weitere Kontakte zwischen dem VGA- und USB-B-Anschluss könnten ein weiterer serieller Anschluss sein.

Zuerst probiere ich die vier Pins über dem SoC aus, doch dort erhalte ich keinerlei Signale. Mehr Erfolg habe ich mit den Kontakten neben dem VGA-Anschluss. Der mittlere Pin erweist sich als der Massekontakt, die beiden anderen als Transmitter- und Receiver-Leitung eines seriellen Anschlusses.

  • Dieses Oszilloskop wird gehackt. (Foto: Christer Weinigel)
  • Frontseite des Mainboards (Foto: Christer Weinigel)
  • Rückseite des Mainboards (Foto: Christer Weinigel)
  • Serieller Anschluss (Foto: Christer Weinigel)
  • Serieller Anschluss und JTAG sind herausgeführt. (Foto: Christer Weinigel)
  • Linux läuft! (Foto: Christer Weinigel)
Serieller Anschluss (Foto: Christer Weinigel)

Nachdem ich einen USB-zu-Seriell-Adapter an die Pins angeschlossen habe, stelle ich mein Terminalprogramm auf 115200 BPS ein und schalte das Oszilloskop an. Ich bekomme tatsächlich eine Ausgabe:

******************************
LILLIPUT
DSO TARGEY BOARD VER 1.0
LILLIPUT

SamSung MCU S3C2440
Program Ver 1.0(2006613)
 FCLK = 400000000Hz,  USB Crystal Type : 12M
****************************
*          LOADBOOT        *
*                          *
*          LILLIPUT        *
*           (2004)         *
****************************
Boot to load (Y/N)?
Wait for Enter . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
DSO TARGEY BOARD VER 1.0
Golem Akademie
  1. C++ Programmierung Basics: virtueller Fünf-Tage-Workshop
    13.–17. Dezember 2021, virtuell
  2. Webentwicklung mit React and Typescript: virtueller Fünf-Halbtage-Workshop
    6.–10. Dezember 2021, Virtuell
Weitere IT-Trainings

Lilliput ist das Unternehmen hinter der OWON-Marke.

Die Ausgabe ist vielversprechend. Doch nichts passiert, als ich Y oder Enter drücke. Der Bootloader setzt stattdessen seine Arbeit fort und lädt die Firmware des Oszilloskops. Ich gebe an dieser Stelle erst einmal auf und will mein Glück mit dem JTAG-Anschluss versuchen.

JTAG verstehen

JTAG steht für Joint Test Action Group, ursprünglich ein Standard, um zusammengebaute Leiterplatinen zu prüfen. Über den sogenannten Boundary Scan ist es damit möglich, alle IO-Pins eines ICs damit zu steuern, und er wird verwendet, um zu prüfen, ob diese korrekt verbunden sind. Für ICs mit einem Prozessor, wie die ARM-CPU im Samsung-Chip, fungiert er als Debug-Schnittstelle.

Ein JTAG-Anschluss muss mindestens vier Pins haben: Test Clock (TCK), Test Mode Select (TMS), Test Data In (TDI) und Test Data Out (TDO). Optionale Pins sind Test Reset (TRST), um den Anschluss zurückzusetzen und System Reset (SRST), womit das ganze System neustartet. Üblicherweise steht auch ein VREF-Pin als Spannungsreferenz für die übrigen Pins zur Verfügung wie auch ein Masseanschluss (GND).

Das sind ein halbes Dutzend Kontakte, die beliebig angeordnet werden können. Manchmal haben Leiterplatinen gar keinen JTAG-Anschluss, sondern die JTAG-Kontakte sind als Testkontakte über die Platine verteilt. Manchmal ist der Anschluss auch hinter einem Aufkleber versteckt oder befindet sich auf einem Platinenteil, der nach der Herstellung abgebrochen wird.

Auf dem Mainboard des Oszilloskops gibt es Platz für einen 2-x-5-Anschluss, der sehr erfolgversprechend aussieht. Beim Test mit dem Multimeter ergibt sich, dass die fünf Pins der einen Seite mit der Stromversorgung und der Masse verbunden sind, die anderen Pins sind mit Widerständen verbunden. Wenn es sich um einen JTAG-Anschluss handelt, dann müssten vier Pins die Pflichtpins sein, der fünfte ein Reset-Pin oder überhaupt nicht angeschlossen. Es gibt eine Liste von Pinbelegungen, aber dort ist nur ein Bruchteil der Möglichkeiten verzeichnet. Und keine der Belegungen stimmt mit der vorliegenden überein.

Es gibt ein Projekt namens JTAGulator, das anhand eines selbstgebauten Testers alle möglichen Kombinationen durchprobiert. Auf der Webseite sind auch einige interessante Vorträge und Videos, die zeigen, wie die JTAG-Schnittstelle in einem Gerät bestimmt werden kann. Zum Glück muss ich mich nicht tiefer damit befassen. Tinhead hat auch die Belegung bereits ermittelt und im EEVblog-Forum gepostet, wie ich herausfand.

Die Belegung sieht wie folgt aus:

RST 1    2  GND
TMS 3    4  GND
TDO 5    6  GND
TDI 7    8  VCC
TCK 9   10  VCC

Ich lötete einige Kabel an den JTAG- und den seriellen Anschluss. Dann baue ich das Oszilloskop wieder zusammen und führe die Kabel nach außen.

  • Dieses Oszilloskop wird gehackt. (Foto: Christer Weinigel)
  • Frontseite des Mainboards (Foto: Christer Weinigel)
  • Rückseite des Mainboards (Foto: Christer Weinigel)
  • Serieller Anschluss (Foto: Christer Weinigel)
  • Serieller Anschluss und JTAG sind herausgeführt. (Foto: Christer Weinigel)
  • Linux läuft! (Foto: Christer Weinigel)
Serieller Anschluss und JTAG sind herausgeführt. (Foto: Christer Weinigel)

Die losen Kabel liegen am seriellen Anschluss. Die Buchsenleiste führt zum JTAG-Anschluss und die Belegung funktioniert mit einem Bus Blaster MIPS, das ich besitze.

Bitte aktivieren Sie Javascript.
Oder nutzen Sie das Golem-pur-Angebot
und lesen Golem.de
  • ohne Werbung
  • mit ausgeschaltetem Javascript
  • mit RSS-Volltext-Feed
 Reverse Engineering: Wie ich Linux auf dem Oszilloskop installierteOpenOCD zum Debuggen 
  1.  
  2. 1
  3. 2
  4. 3
  5. 4
  6. 5
  7. 6
  8. 7
  9.  


grslbr 22. Nov 2016

+1 Mehr davon und ich abonniere auch. Und wie laoladabamba sagt, die Weltraumartikel...

grslbr 22. Nov 2016

Aber ehrlich. Wenn's nur News über neue Grafikkarten gibt heulen die selben Leute über...

cherubium 22. Nov 2016

ich seh das ja auch immer mit einem zwinkernden Auge. Entwickler sollen entwickeln und...

maze_1980 22. Nov 2016

Die Chancen dass es ein Linux ist sind relativ gross. Würde es mich interessieren hätte...

Anonymer Nutzer 22. Nov 2016

Hier kann man mal sehen, was Fachkraft wirklich bedeutet. *Davon* haben wir zu wenige.



Aktuell auf der Startseite von Golem.de
Resident Evil (1996)
Grauenhaft gut

Resident Evil zeigte vor 25 Jahren, wie Horror im Videospiel auszusehen hat. Wir schauen uns den Klassiker im Golem retro_ an.

Resident Evil (1996): Grauenhaft gut
Artikel
  1. Streaming: Chromecast erhält spezielle Youtube-Fernbedienung
    Streaming
    Chromecast erhält spezielle Youtube-Fernbedienung

    Die Steuerung von Youtube auf einem Chromecast soll mit einer neuen Funktion deutlich komfortabler werden.

  2. Studie: Kinder erhalten Smartphone meist zwischen 6 und 11 Jahren
    Studie
    Kinder erhalten Smartphone meist zwischen 6 und 11 Jahren

    Nur eine sehr geringe Minderheit der Eltern will ihrem Kind erst mit 15 Jahren ein Smartphone zur Verfügung stellen.

  3. Google: Kopfhörer verlieren Google-Assistant-Support auf iPhones
    Google
    Kopfhörer verlieren Google-Assistant-Support auf iPhones

    Wer Google Assistant am Kopfhörer benutzen will, ist künftig auf ein Android-Gerät angewiesen.

Du willst dich mit Golem.de beruflich verändern oder weiterbilden?
Zum Stellenmarkt
Zur Akademie
Zum Coaching
  • Schnäppchen, Rabatte und Top-Angebote
    Die besten Deals des Tages
    Daily Deals • Saturn-Advent: Samsung Portable SSD T5 1 TB 84€ • ViewSonic VX2718-2KPC-MHD (WQHD, 165 Hz) 229€ • EPOS Sennheiser GSP 670 199€ • EK Water Blocks Elite Aurum 360 D-RGB All in One 205,89€ • KFA2 Geforce RTX 3070 OC 8 GB 1.019€ • Alternate (u. a. AKRacing Core SX 269,98€) [Werbung]
    •  /