Installation von Xilinx ISE 8.1 unter Linux (Kernel 2.6.16)InhaltVorwort
Diese Anleitung basiert auf dem Artikel Installing Xilinx Webpack 8.1i (or ISE Foundation 8.1i) on debian 3.1. Mein System war Linux Debian mit dem Kernel 2.6.16, selbstcompiliert.
Bei Problemen könnten auch noch folgende Webseiten helfen: Bei Fragen, Hinweisen oder Problemlösungen freue ich mich über eMails. Installation von Xilinx ISE/EDK unter DebianWinDriver und Xilinx-Treiber installieren
Xilinx stellt mittlerweile selbst ein Source-Paket speziell für den Kernel 2.6 zum Selbstcompilieren der Treiber bereit. Das macht die Sache ungemein einfacher und schneller, da man sich nicht mehr bei jungo registrieren muss.
Hier der kurze Weg. Man wechsle in ein Verzeichnis, in welches man die Sourcen entpacken möchte und führe im Falle eines 2.6.16er Kernels folgendes aus:
dmesg so endet, ist das Modul funktionsfähig. Anderenfalls sollte man zu den oben genannten Seiten schauen, um das Problem zu lösen.Das Modul kann ab jetzt jederzeit mit modprobe windrvr6 geladen werden.Nun aber zum xpc4drvr:
Gerät bei hotplug registrieren
setup_pcusb lieder nicht fehlerfrei, hab deshalb Anpassungen vorgenommen. Ich weiß leider nicht mehr, welche das waren.Wer das XUP-Board in Betrieb nehmen möchte und ISE 7.1 verwendet, sollte nach diesem Artikel noch eine kleine Änderung in der /etc/hotplug/usb.usermap vornehmen. Ob das ganze für ISE 8.1 auch nötig ist, weiß ich nicht. Jedenfalls stört es auch nicht. Und zwar muss der Wert für idProduct von 0x0007 auf 0x0009 gesetzt werden. In neueren ISE-Versionen ist dies vielleicht wieder überflüssig.Danach habe ich hotplug neugestartet.
xusbdfwu: loaded successfully
Interessanterweise änderte sich dadurch die Product id des XUP-Boardes von 0x0009 auf 0x0008 (nachprüfbar mit lsusb ). Und ohne diese Änderung funktionierte die USB-Datenübertragung bei mir nicht.
USB-Übertragung in iMPACT
iMPACT kann entweder direkt gestartet werden (
path_to_ise_installation/bin/lin/impact ) oder vom ISE heraus.Nach jedem System-Neustart müssen die beiden Treiber-Module geladen werden, um die USB-Datenübertragung in iMPACT nutzen zu können. Da dies in meinem Fall nicht gereicht hat, habe ich sämtliche Tests durchgeführt, um herauszufinden, was noch und in welcher Reihenfolge nötig ist, und schließlich ist folgendes USB init scipt dabei herausgekommen (rote Markierungen anpassen):
#!/bin/bash
Nachdem das Script ausgeführt wurde, sollte die USB-Übertragung funktionieren. Ob das Board über USB erreichbar ist, läßt sich im ISE iMPACT am besten durch Cable Auto Connect im Menu Output feststellen. Wenn die Verbindung nicht zu stande gekommen ist, hilft vielleicht ein Blick in das Log von iMPACT - dazu auf View->View Log File klicken. Hier erfährt man sinnvolle Informationen, wie z.B.
Connecting to cable (Usb Port - USB21).
Connecting to cable (Usb Port - USB21).
Beim Arbeiten mit dem EDK ist evtl. der schnellste Weg zur Übertragung, im Project-Verzeichnis make -f system.make download auszuführen. Vorher muss man aber die Xilin-Setup-Scripte ausführen, damit iMPACT und alle anderen Programme gefunden werden. Da ich sehr schreibfaul bin, habe ich zu diesem Zweck im Project-Verzeichnis ein settings.sh -Script der folgenden Form abgelegt
#!/bin/bash
. settings.sh aufrufen und alle Einstellungen sind geladen. Der Punkt darf dabei nicht vergessen werden. Er sorgt dafür, daß die Variablen, die durch die Scripte gesetzt wurden, von der Shell übernommen werden.Hinweis: Mit lsusb kann man sich die angeschlossenen USB-Geräte anzeigen lassen. Da ich das XUP-Board verwende, liefert mir dieser Befehl die Ausgabe:
Bus 002 Device 008: ID 03fd:0008 Xilinx, Inc.
lsusb das Gerät noch findet. Es scheint so, als würde sich das Board nach einiger Zeit im Leerlauf abschalten. Dann hilft es, es einmal aus- und einzuschalten. Danach müßte auch lsusb wieder das Gerät finden.
FAQ
Q:
Beim Aufruf von
./setup erhalte ich folgende Fehlermeldung:
A:
libXm.so.3 ist in dem Paket libmotif3 (unter Debian: apt-get install libmotif3 libcurl3 ).
Q:
Beim Aufruf von
make -f system.make download erhalte ich folgende Fehlermeldung:
A:
Die Systemvariablen wurden nicht gesetzt. Ein Aufruf von
. settings.sh
löst das Problem.
Bei weitere Fragen kann vielleicht die Seite FPGA-FAQ: How to get the Xilinx parallel cable to work on Linux kernels 2.6.x helfen.
|