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:
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:
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.
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
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...
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
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 :)
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/
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.