Forum: Mikrocontroller und Digitale Elektronik ARM + JTAG geht nicht


von botro (Gast)


Lesenswert?

Hallo,

ich will mein hier im Shop erworbenes Olimex LPC2148 Board über JTAG und 
OpenOCD betreiben (mittels Yargato), doch leider will es nicht so wie 
ich. Ich habe die Installation von Yargato durchgeführt, und bis zu dem 
Zeitpunkt, wo man das kleine Testprogramm in den Controller schreiben 
soll, geht auch alles. Nur dann bringt er mir die Fehlermeldung:
Error validating JTAG chain scan, IR mismatch, scan returned 3F

Zum Einsatz kommt bei mir ein selbstgebauter Wiggler, der aus dem 
JTAG-info hier im Forum. So, nun zu meiner Frage: hat schon mal jemand 
etwas vergleichbares zum laufen gebracht? Und wenn ja, wie?
Ach ja, als Configfile verwendede ich das bei Yargato in der Anleitung 
gegebene lpc2xxx_pp.cfg.

von Marco L. (lehmi)


Lesenswert?

Hallo,

interessanter Weise habe ich genau das selbe Problem (Error validating 
JTAG chain scan, IR mismatch, scan returned 3F) mit einem selbstgebautem 
Wiggler und einem selbstgebauteN At91Sam7S Board. Das Board 
funktioniert, also kann es daran nicht liegen.
Hast du vielleicht das Problem schon lösen können ?

von Dominic R. (dominic)


Lesenswert?

Hey,

ihr solltet das Pinout eures Wiggler Nachbaus kontrollieren. Gerade was 
die n[ST]RST Signale angeht, habe ich schon die unterschiedlichsten 
Sachen gesehen. Der OpenOCD erwartet nSRST auf D0 (Pin 2) und nTRST auf 
D4 (Pin 6), wobei nSRST invertiert ist (open-drain Schaltung mit 
Transistor).

Gruss,

Dominic

von Jens _. (botro)


Lesenswert?

Hallo Dominic,

könntest du vieleicht das Layout eines funktionierenden Wigglers 
angeben, oder sagen wo man es findet, damit wir das mal abgleichen 
können. Kann durchaus sein, dass der Wiggler einen Fehler hat.

Gruß

von Dominic R. (dominic)


Lesenswert?

DB25.2 -> invertiert -> JTAG.15 (nSRST)
DB25.3 -> JTAG.7 (TMS)
DB25.4 -> JTAG.9 (TCK)
DB25.5 -> JTAG.5 (TDI)
DB26.6 -> JTAG.3 (nTRST)
DB26.9 -> output enable (falls die Buffer das unterstützen)
DB25.11 <- JTAG.13 (TDO)

Das dürfte dem "original" Wiggler entsprechen, abgesehen von einer 
zusätzlichen Drahtbrücke zwischen DB25.8 (DATA6) und DB25.15 (ERROR), 
die von der Macraigor Software benutzt wird, um einfache Nachbauten 
auszusperren.

Habe mittlerweile den Schaltplan von dieser Seite hier gefunden. Die 
Reset Leitungen sollten keine Probleme machen. Die Reset Leitungen 
fehlen auf der Parallelport-Seite komplett. nSRST ist nur über einen 
Button angeschlossen, nTRST fehlt ganz, also muss im OpenOCD cfg file 
"reset_config none" stehen.

Aus irgend einem Grund scheint der Zugriff auf den Parallel Port 
fehlzuschlagen. Eventuell kann lpt.exe von 
http://neil.fraser.name/software/lpt/ helfen, die Sache in Griff zu 
bekommen. Mit dem Tool lassen sich die Parallel Port Leitungen einzeln 
ändern. Das mehrmalige Setzen/Löschen von Control Port Bit 5 (Tristate 
outputs) hat bei mir häufig geholfen (am Ende muss das Bit gelöscht 
sein). Dann lassen sich die Datenbits setzen, und bleiben auch im 
jeweiligen Zustand. Unter Linux hatte ich damit jedoch nie Probleme, und 
Windows nutze ich nur extrem selten.

Gruss,

Dominic

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.