Forum: FPGA, VHDL & Co. Gehversuche: XC9572XL programmieren mit opendous-jtag


von Malte S. (maltest)


Angehängte Dateien:

Lesenswert?

Hallo,

ich versuche gerade meine ersten Schritte mit einem XC9572XL. Eine LED 
soll leuchten.
Zum Programmieren wollte ich einen AT90USB162 mit opendous-jtag-Firmware 
nehmen (http://code.google.com/p/opendous-jtag/). Vielleicht ist das ja 
auch mein Problem, aber den AT90USB hatte ich griffbereit, im Gegensatz 
zu einem anderen JTAG-Adapter oder einem Parallelport am Rechner.
Beide ICs sind zum Spielen auf simple Breakout-Boards gelötet und gemäß 
opendous-jtag-Pinbelegung verbunden.
Die Kontaktaufnahme scheint auch erfolgreich:
1
$ openocd 
2
Open On-Chip Debugger 0.6.1 (2013-05-05-15:30)
3
Licensed under GNU GPL v2
4
For bug reports, read
5
        http://openocd.sourceforge.net/doc/doxygen/bugs.html
6
Warn : Adapter driver 'opendous' did not declare which transports it allows; assuming legacy JTAG-only
7
Info : only one transport option; autoselect 'jtag'
8
adapter speed: 66 kHz
9
Info : opendous JTAG Interface ready
10
Info : clock speed 66 kHz
11
Warn : There are no enabled taps.  AUTO PROBING MIGHT NOT WORK!!
12
Warn : AUTO auto0.tap - use "jtag newtap auto0 tap -expected-id 0x59604093 ..."
13
Warn : AUTO auto0.tap - use "... -irlen 8"
14
Warn : gdb services need one or more targets defined

Alle Programmierversuche scheitern jedoch. Versucht mit dieser Config:
1
interface opendous
2
adapter_khz 66
3
4
jtag newtap auto0 tap -expected-id 0x59604093 -irlen 8
5
6
init
7
svf led_test.svf

Wobei Änderungen an der Geschwindigkeit keinen Unterschied machen.
Selbst wenn ich led_test.svf auf ein Löschen des CPLD beschränke, 
schlägt das Abspielen fehl:
1
$ openocd 
2
Open On-Chip Debugger 0.6.1 (2013-05-05-15:30)
3
Licensed under GNU GPL v2
4
For bug reports, read
5
        http://openocd.sourceforge.net/doc/doxygen/bugs.html
6
Warn : Adapter driver 'opendous' did not declare which transports it allows; assuming legacy JTAG-only
7
Info : only one transport option; autoselect 'jtag'
8
adapter speed: 20 kHz
9
Info : opendous JTAG Interface ready
10
Info : clock speed 20 kHz
11
Info : JTAG tap: auto0.tap tap/device found: 0x59604093 (mfg: 0x049, part: 0x9604, ver: 0x5)
12
Warn : gdb services need one or more targets defined
13
svf processing file: "led_test.svf"
14
TRST OFF;
15
ENDIR IDLE;
16
ENDDR IDLE;
17
STATE RESET;
18
STATE IDLE;
19
FREQUENCY 1E3 HZ;
20
adapter speed: 1 kHz
21
TIR 0 ;
22
HIR 0 ;
23
TDR 0 ;
24
HDR 0 ;
25
TIR 0 ;
26
HIR 0 ;
27
HDR 0 ;
28
TDR 0 ;
29
SIR 8 TDI (fe) SMASK (ff) ;
30
SDR 32 TDI (00000000) SMASK (ffffffff) TDO (f9604093) MASK (0fffffff) ;
31
SIR 8 TDI (ff) TDO (01) MASK (e3) ;
32
TIR 0 ;
33
HIR 0 ;
34
TDR 0 ;
35
HDR 0 ;
36
TIR 0 ;
37
HIR 0 ;
38
TDR 0 ;
39
HDR 0 ;
40
SIR 8 TDI (e8) ;
41
SDR 6 TDI (05) SMASK (3f) ;
42
SIR 8 TDI (ed) ;
43
SDR 18 TDI (03ffff) SMASK (03ffff) ;
44
RUNTEST 200000 TCK;
45
SDR 18 TDI (03fffd) TDO (000001) MASK (000003) ;
46
SIR 8 TDI (f0) ;
47
RUNTEST 100 TCK;
48
SIR 8 TDI (f0) ;
49
RUNTEST 100 TCK;
50
TIR 0 ;
51
HIR 0 ;
52
TDR 0 ;
53
HDR 0 ;
54
SIR 8 TDI (ff) ;
55
SDR 1 TDI (00) SMASK (01) ;
56
Error: BUG: unknown JTAG command type encountered

Alternativversuch mit UrJTAG:
1
$ jtag -n
2
3
UrJTAG 0.10 #1502
4
Copyright (C) 2002, 2003 ETC s.r.o.
5
Copyright (C) 2007, 2008, 2009 Kolja Waschk and the respective authors
6
7
UrJTAG is free software, covered by the GNU General Public License, and you are
8
welcome to change it and/or distribute copies of it under certain conditions.
9
There is absolutely no warranty for UrJTAG.
10
11
WARNING: UrJTAG may damage your hardware!
12
Type "quit" to exit, "help" for help.
13
14
jtag> cable opendous
15
jtag> detect
16
OPENDOUS usb_bulk_read failed (requested=2, result=-110)
17
opendous_schedule_flush, wrong result -1, expected 2
18
OPENDOUS usb_bulk_read failed (requested=2, result=-110)
19
opendous_schedule_flush, wrong result -1, expected 2
20
OPENDOUS  usb_bulk_write failed (requested=5, result=-110)
21
opendous_schedule_flush, wrong result -1, expected 2
22
OPENDOUS  usb_bulk_write failed (requested=5, result=-110)
23
opendous_schedule_flush, wrong result -1, expected 2
24
^C

Die Zahl hinter requested= (was ist das?) zählt munter weiter hoch, aber 
sonst geht das im ~Sekundentakt so weiter, bis ich abbreche.

Muss dazu sagen, dass ich die fertige opendous-jtag-at90usb162.hex 
"Precompiled version fot AT90USB162 cpu" genommen habe, die 
unveränderten Quellen mag avr-gcc 4.7.2 nicht. CLKDIV 1 oder 0 scheint 
nichts zu ändern.

Nun habe ich von JTAG null Ahnung, also auch nicht, ob im Obigen 
irgendwelche groben Fehler stecken. Bin für jeden Hinweis dankbar.
Lässt sich da was mit Software machen oder ist die Hardware so oder so 
ungeeignet?

EDIT:
FREQUENCY 1E3 HZ;
ist auch ein Test gewesen, iMPACT hat natürlich 1E6 geschrieben. Ändert 
aber nichts am Problem.

von Duke Scarring (Gast)


Lesenswert?

Malte S. schrieb:
> Info : JTAG tap: auto0.tap tap/device found: 0x59604093 (mfg: 0x049, part: 
0x9604, ver: 0x5)
openocd scheint damit schonmal den richtigen Chip zu finden.

> Error: BUG: unknown JTAG command type encountered
Aber irgendwas stört ihn an der svf-Datei, würde ich vermuten.


> OPENDOUS usb_bulk_read failed (requested=2, result=-110)
Der UrJtag findet aber schonmal nicht das richtige Kabel. Vielleicht 
kannst Du ihm mit einem Kommandozeilenparameter auf die Sprünge helfen?

Falls Du noch einen Parallelport hast, könntest den CPLD über ein paar 
Angstwiderstände mit dem PC verbinden und impact verwenden.

Duke

von Malte S. (maltest)


Lesenswert?

Duke Scarring schrieb:
> Aber irgendwas stört ihn an der svf-Datei, würde ich vermuten.

Okay, war mir nicht sicher, ob es sich an der Datei stört oder an einer 
Antwort vom Chip.

Duke Scarring schrieb:
> Der UrJtag findet aber schonmal nicht das richtige Kabel. Vielleicht
> kannst Du ihm mit einem Kommandozeilenparameter auf die Sprünge helfen?

Wüsste nicht womit. Kommandozeile laut --help und manpage eher nicht, 
aber sowohl mit einem einfachen
cable opendous
alsauch
cable opendous vid=03eb pid=204f
kommt es manchmal zu Fehlern schon jetzt, manchmal nicht. Selbst wenn 
er den cable...Befehl akzeptiert hat, gibt es dann Fehler bei "detect". 
Danach muss ich das Device vom USB trennen, um überhaupt wieder eine 
Reaktion zu bekommen.

Duke Scarring schrieb:
> Falls Du noch einen Parallelport hast, könntest den CPLD über ein paar
> Angstwiderstände mit dem PC verbinden und impact verwenden.

Jein. Deshalb hatte ich auf die Schnelle was mit USB gebastelt. An einem 
Rechner hätte ich noch nen Port, dort allerdings keine GUI und keine 
Kapazitäten, iMPACT zu installieren. Es sei denn, es würde dafür 
reichen, nur ein paar Binaries/Libs zu kopieren? - es handelt sich um 
einen Pentium III mit 256 MB RAM...

von Christian R. (supachris)


Lesenswert?

Zum reinen Programmieren über JTAG reicht ja impact. Das gibts auch bei 
Xilinx noch von ganz alten Versionen zum Download. Eine 8.1 reicht da 
sicher, vielleicht sogar 7.1 und dann gibts da immer Programming Tools. 
Bei der 7.1 nur 345MB, das geht sicherlich auf der alten Gurke auch 
noch. Schau mal bei Xilinx Support-Downloads -> ISE -> Archive

von Malte S. (maltest)


Angehängte Dateien:

Lesenswert?

Danke euch fürs Festhalten am Parallelport!

So hat es von hinten durch die Brust ins Auge jetzt geklappt. Sogar mit 
der 14.5, deren Installationsverzeichnis ich mir vom Server aus 
gemountet habe - die ältere Version hätte sonst auch erstmal grafisch 
installiert werden wollen.
Die letzte Zutat war dann noch libusb-driver.so, um den Port ansprechen 
zu können.

LED leuchtet, dann darf das Teil morgen auch Spannenderes tun :)

von Mull (Gast)


Lesenswert?

Hier ist auch ein gutes Tutorial auf deutsch. Damit habe ich angefangen 
und der JTAG-Adapter lässt sich fast schon ohne Lötkolben, rein mit 
Tesafilm, zusammenbauen.

http://www.fischl.de/thomas/elektronik/cpld/

von Malte S. (maltest)


Lesenswert?

Tja, den hatte ich auch gesehen. Dann aber eben gedacht, lieber was 
einfaches mit USB...und dann hat doch wieder die simpelste aller 
Varianten gesiegt. Werde mir wohl auch den Steckbrettaufbau in einen 
Stecker packen und evtl. dem Desktop nen Parallelen spendieren, die alte 
Kiste braucht doch schon zum Starten von impact halb so lange wie sie 
danach mit dem CPLD quatscht. Oder doch nen usbprog, mal sehen. 
Zumindest reicht die Hardware jetzt erstmal, ein paar Designs 
anzutesten.

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.