Forum: Mikrocontroller und Digitale Elektronik Frage zu ARM-JTAG Beschaltung


von Tobias P. (hubertus)


Lesenswert?

Guten Morgen,
ich bin am entwickeln eines Testboards für den LPC2468.
Als JTAG-Gerät werde ich den Segger J-Link einsetzen. Nun: Welche 
Signale vom ARM muss ich auf den 20pin-Stecker führen? Irgendwie ist das 
für mich nicht ganz klar. Also TDI, TDO, TMS und TCK sicher, auch TRST 
gehört zum JTAG. Was aber ist mit RTCK und DBGEN? Werde ich die jemals 
brauchen, oder kann ich die N.C. lassen?
Zum DBGEN: Im Manual steht, dass man über diesen Pin festlegen kann, ob 
der JTAG zum Debuggen oder für Boundary Scan genutzt wird (was auch 
immer das heissen mag.
Wenn ich nun DBGEN fix low oder high halte - was kann ich dann mit dem 
JTAG machen bzw. nicht machen?
Grundsätzlich gehts mir darum, dass ich sowohl Software runterladen kann 
(auch ins Flash), als auch Programme debuggen kann (CPU anhalten, 
Register anschauen, Einzelschrittbetrieb etc). Das sind doch alles so 
Standard-Festures eines Debuggers, oder? Mit meinen bisherigen Tools 
konnte ich das jedenfalls (Für Freescale 683xx Controller).

Wie habt ihr das so beschaltet?

Grüsse
    Tobias

von Jürgen S. (starblue) Benutzerseite


Lesenswert?

Hallo Tobias,

bei meinen AT91SAM7S sind nur TDI, TDO, TMS, TCK und NRST beschaltet, 
mit J-Link und OpenOCD gehen dann Programmieren und Debuggen.
Boundary-Scan habe ich nicht probiert, sollte aber auch gehen.

Viele Grüße
Jürgen

von Martin (Gast)


Lesenswert?

Hallo,

vielleicht hilft das weiter:
http://www.olimex.com/dev/images/ARM/LPC/LPC-E2468-sch.gif

Gruß,
Martin

von Tobias P. (hubertus)


Lesenswert?

Danke, genau sowas habe ich gesucht. Jetzt weiss ich welche Signale zum 
Stecker müssen ;)
Funktioniert das garantiert mit meinem J-Link?

Grüsse
    Tobias

von Tobias P. (hubertus)


Lesenswert?

@Jürgen Stuber:
Kannst du über deinen JTAG programme runterladen, die CPU anhalten, 
Register modifizieren und all den Kram?
Wozu braucht man denn den Boundary Scan? Und wozu den Pin DBGEN? 
Irgendwie schweigt sich das Manual des LPCs darüber vollkommen aus.

von Jürgen S. (starblue) Benutzerseite


Lesenswert?

Hallo Tobias,

Tobias Plüss wrote:
>
> Kannst du über deinen JTAG programme runterladen, die CPU anhalten,
> Register modifizieren und all den Kram?

CPU anhalten ist problematisch, da hat OpenOCD noch ein Problem, der 
Rest geht.

> Wozu braucht man denn den Boundary Scan?

Z.B. um zu testen, ob korrekt gelötet wurde.

> Und wozu den Pin DBGEN?

Den hat der AT91SAM7S nicht.

Jürgen

von Rooney B. (rooney)


Lesenswert?

Hallo Tobias!

Hier findest du eine kurze Erklärung zu Boundary Scan

http://de.wikipedia.org/wiki/Boundary_Scan_Test

Boundary Scan ist eher für die Fertigungsprüfung von Relevanz. Ich nehme 
nicht an, dass du das benötigst, also würd ich es einfach ignorieren.

Die Pinbelegung zum JLINK findet sich hier:
http://www.segger.com/jlink.html


Über JTAG kannst du alles machen, was du fürs Entwicklen eines Programms 
brauchst. Du kannst also Debuggen (CPU anhalten, Step Over, Step Into, 
Register auslesen, Register manuell modifizieren etc.) und programmieren 
(SRAM oder Flash). Auch eine serielle Ausgabe über JTAG (Konsole) ist 
möglich.
Je nach dem welchen Debugger du verwendest, desto mehr Funktionalität 
hast du. IAR Embedded Workbench arbeitet einwandfrei mit dem JLINK 
zusammen.

von Tobias P. (hubertus)


Lesenswert?

Hey,
vielen Dank euch für die Hilfe. In diesem Falle werde ich den Boundary 
Scan einfach weg lassen...
Es geht nämlich um folgendes: Da ich bald mein erstes wirkliches 
ARM-Projekt realisieren will, nämlich meine Sound-Anlage (Bob, du weisst 
welche ;)), bastle ich mir vorerst mal ein kleines Testboard für den 
ARM. Nichts grossartiges, einfach mit einem RAM am externen Bus, um den 
mal testen zu können, sowie Ethernet PHY und paar Tastern + Farbiges 
LCD.
Und da muss ich natürlich sicher sein, dass mein JTAG auch 
funktioniert... Ich hab schon mal ein Board gebaut, wo ein Fehler im 
Design war ;) Das hat dann nicht wirklich dolle Funktioniert -> das Geld 
war (halbwegs) zum Fenster rausgeschmissen. Das will ich hier vermeiden 
;)

@Rooney Bob:
Ich werde Rowley CrossWorks 1.7 einsetzen. Sollte mit meinem Segger 
J-Link (der hoffentlich morgen kommt ;)) zusammen arbeiten, zumindest 
die entsprechenden Einstellmöglichkeiten hab ich im Programm schon 
gefunden.

Grüsse
    Tobias

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.