ARM + JTAG geht nicht

Gast #429464
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.
#429676
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 ?
#429689
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
#429811
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

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren