it-swarm.com.de

Installieren Sie xilinx platform usb in Ubuntu 16.04 x64

Ich installiere ise14.7 korrekt und versuche dann, diese Anleitung zur Installation des Plattformkabels durchzugehen. Aller Schritt war richtig. meine ls usb befehlsausgabe ist wie folgt

$ lsusb
Bus 002 Device 022: ID 03fd:0008 Xilinx, Inc. Platform Cable USB II
Bus 002 Device 002: ID 8087:0024 Intel Corp. Integrated Rate Matching Hub
Bus 002 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 001 Device 002: ID 8087:0024 Intel Corp. Integrated Rate Matching Hub
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub

Sie sehen, dass mein Betriebssystem weiß, dass ein xilinx-USB-Gerät angeschlossen ist und usbdev ordnungsgemäß funktioniert. aber mein kabel funktioniert nicht Dann sehe ich die Ausgabe in Wirkung, die besagt:

Active mode is BS
Project: '/home/faryad_mfa/Desktop/Projects/GE_TS_XILINX/GE_TS_XILINX.ipf' loaded.
GUI --- Auto connect to cable...
INFO:iMPACT - Digilent Plugin: Plugin Version: 2.4.4
INFO:iMPACT - Digilent Plugin: no JTAG device was found.
AutoDetecting cable. Please wait.
*** WARNING ***: When port is set to auto detect mode, cable speed is set to default 6 MHz regardless of explicit arguments supplied for setting the baud rates
PROGRESS_START - Starting Operation.
If you are using the Platform Cable USB, please refer to the USB Cable Installation Guide (UG344) to install the libusb package.
Connecting to cable (Usb Port - USB21).
Checking cable driver.
 Linux release = 4.4.0-42-generic.
WARNING:iMPACT -  Module windrvr6 is not loaded. Please reinstall the cable drivers. See Answer Record 22648.
Cable connection failed.
Connecting to cable (Parallel Port - parport0).
 Linux release = 4.4.0-42-generic.
...

danach versuche ich, den Treiber mithilfe des Hilfedokuments von xilinx unter diesem Link zu installieren.

Ich gebe diesen Befehl im Terminal ein

Sudo ./install_drivers

und erhalte einen Fehler:

--Driver versions in this package: windrvr=900, xpc4drvr=1041
--Script name = ./install_drivers
--HostName = mehrkavir-Lab2
--Current working dir = /opt/Xilinx/install_drivers
--Script location = /opt/Xilinx/install_drivers
--Kernel version = 4.4.0-42-generic.
--Arch = x86_64.
--Installer version = 1053
--Unsetting Arch environment variable.
--User has root permission.
--File /lib/modules/misc/install_windrvr6 does not exist.
--Installing USB drivers------------------------------------------
--File /etc/hotplug/usb/xusbdfwu.fw/xusbdfwu.hex exists.
./setup_pcusb: 94: ./setup_pcusb: Bad substitution
--File /sbin/fxload exists.
--Installing windrvr6---------------------------------------------
--Checking version.
--File /lib/modules/4.4.0-42-generic/kernel/drivers/misc/windrvr6.ko does not exist.
--File LINUX.4.4.0-42-generic.x86_64/windrvr6.ko does not exist.
--Setting source version to 900.
--File LINUX.4.4.0-42-generic.x86_64/windrvr6.ko is newer than the destination file.
checking for cpu architecture... x86_64
checking for WinDriver root directory... /opt/Xilinx/install_drivers/linux_drivers/windriver64
checking for linux kernel source... found at /lib/modules/4.4.0-42-generic/build
checking for lib directory... ln -sf $(ROOT_DIR)/lib/$(SHARED_OBJECT)_32.so /usr/lib/$(SHARED_OBJECT).so; ln -sf $(ROOT_DIR)/lib/$(SHARED_OBJECT).so /usr/lib64/$(SHARED_OBJECT).so
checking which directories to include... -I/lib/modules/4.4.0-42-generic/build/include
checking linux kernel version... hello.c:1:30: fatal error: linux/utsrelease.h: No such file or directory
compilation terminated.
not found
configure: error: can't find kernel version
make: *** No rule to make target 'clean'.  Stop.
make: *** No targets specified and no makefile found.  Stop.
make: *** No rule to make target 'install'.  Stop.
--make windrvr install rc= 2
--install_windrvr6 rc = 2
--Module windrvr6 is not running.
--Module xpc4drvr is not running.
--Note: By default, the file permission of /dev/windrvr6 is enabled for the root user only
  and must be changed to allow access to other users.

--Return code = 2

Ich habe das Gefühl, dass es ein Problem mit meiner Kernelversion gibt, die auf dieser Zeile basiert

checking which directories to include... -I/lib/modules/4.4.0-42-generic/build/include
checking linux kernel version... hello.c:1:30: fatal error: linux/utsrelease.h: No such file or directory
  1. Was soll ich tun, um den Treiber korrekt zu installieren?

  2. Gibt es alternative Möglichkeiten, um diesen Treiber zu installieren?

1

Ich habe dieses Problem durch diese Umgebungseinstellung gelöst.

#Xilinx ISE path *****************
LM32_TOOLS=/opt/gcc-lm32/bin
XILINX=/opt/Xilinx/14.7/ISE_DS
export XILINX
Host_PLATFORM=lin64
export Host_PLATFORM
XILINX_BIN=${XILINX}/ISE/bin/${Host_PLATFORM}
export XILINX_BIN
PATH=${PATH}:${XILINX_BIN}:${LM32_TOOLS}
XILINX_EDK=${XILINX}/ISE/EDK/bin/lin64
export XILINX_EDK
XILINX_CSE_TCL=${XILINX}/ISE/cse/tcl
#XILINX_CSE_TCL=/usr/lib/tclx8.4/
export XILINX_CSE_TCL
XIL_IMPACT_USE_LIBUSB=1
export XIL_IMPACT_USE_LIBUSB
XIL_IMPACT_USE_WINDRIVER=1
export XIL_IMPACT_USE_WINDRIVER
#export XILINX_USB_DEV= "001:005"
#export LD_PRELOAD="/usr/share/libusb.so"
#export LD_PRELOAD="/opt/Xilinx/usb-driver/libusb-driver.so";
export XKEYSYMDB=/usr/share/X11/XKeysymDB
export DISPLAY=:0
echo "XILINX ISE enviroment seted"
echo ""

PATH=$PATH:/opt/Xilinx/14.7/ISE_DS/ISE/bin/lin64/:/opt/Xilinx/14.7/ISE_DS/EDK/bin/lin64/

der Gole ist hier:

XIL_IMPACT_USE_LIBUSB=1
export XIL_IMPACT_USE_LIBUSB

außerdem sollten Sie vorher Ihren Dongle-Treiber installieren.

1

Die obigen Antworten haben bei mir nicht funktioniert, die folgenden waren die einfachsten und basieren auf dem, was die Kollegen von Arch Linux getan haben ( https://wiki.archlinux.org/index.php/Xilinx_ISE_WebPACK#Xilinx_Platform_Cable_USB-JTAG_Drivers )

$ cd /opt/Xilinx/
$ Sudo git clone git://git.zerfleddert.de/usb-driver
$ cd usb-driver/
$ apt install fxload libusb-dev
$ Sudo make
$ ./setup_pcusb /opt/Xilinx/14.7/ISE_DS/ISE
$ Sudo udevadm control --reload-rules

Ziehen Sie den Stecker heraus und stecken Sie ihn wieder ein - und Sie sollten ein rotes Licht sehen.

Möglicherweise müssen Sie die folgende env-Variable festlegen, nachdem Sie eine Einstellungsdatei bezogen haben.

$ export LD_PRELOAD=/opt/Xilinx/usb-driver/libusb-driver.so
$ impact
1
hqqns

Sofortige Fehlerbehebung (keine Lösung)

Für Ihr spezifisches Build-Problem versucht das Installationsprogramm, einen Treiber zu erstellen. Dazu wird die Kernelquelle benötigt, gegen die der aktuell ausgeführte Kernel erstellt werden kann. Der Befehl, um es zu bekommen, ist:

Sudo apt-get install linux-source

Dadurch wird das Problem der sofortigen Erstellung behoben, der WinDriver wird jedoch immer noch nicht ordnungsgemäß erstellt. Laut der Release-Dokumentation ist die ISE 14.7-Version unter allen Linux-Distributionen nur mit RHEL Workstation 5 & 6 (32 & 64-Bit) und SUSE Enterprise 11 (32 und 64-Bit) kompatibel. In Bezug auf das Alter entspricht dies in etwa dem Stand von Ubuntu 9.04. Der Kernel hat sich seitdem sehr stark verändert und ist von der Kernel-Version 2.6.32 in RHEL 6.9 auf die Kernel-Version 4.4.0 in Ubuntu 16.04.1 übergegangen. Der WinDriver wurde nicht von Xilinx gewartet, daher funktioniert er nicht mit der neueren Kernelversion.

Mögliche Problemumgehung

Die einzige Möglichkeit, dieses Problem zu lösen, besteht darin, dass Sie ein DLC9-Gerät oder ein älteres JTAG-Gerät verwenden. In diesem Fall finden Sie Anweisungen zum Erstellen und Verwenden eines User-Space-Treibers anstelle des WinDrivers mit Anweisungen finden Sie hier unter der Überschrift "Verwenden von Xilinx USB JTAG-Programmierern unter Linux (Installieren von Kabeltreibern)" . Stellen Sie sicher, dass Sie das README aus dem Git-Projekt lesen, auf das Sie verweisen, da der Treiber erstellt wurde, wenn Ihr JTAG-Gerät nicht von diesen unterstützt wird oder wenn Sie einige Anweisungen (wie das Einstellen von LD_PRELOAD) vermissen Das Git-Projekt funktioniert auf Ihrem JTAG-Gerät nicht.


Eine komprimierte Version von die verknüpften Anweisungen mit einigen der vergrabenen Informationen, die explizit angegeben wurden:
Erstellen Sie den Treiber

Sudo apt-get install gitk git-gui libusb-dev build-essential libc6-dev-i386 fxload libusb-dev
cd /opt/Xilinx     #or some directory to build the driver in
Sudo git clone git://git.zerfleddert.de/usb-driver
cd usb-driver
Sudo make
Sudo cp -a /opt/Xilinx/14.7/ISE_DS/ISE/bin/lin64/xusb*.hex /usr/share/
sed -e 's/[$]TEMPNODE/%N/' -e 's/SYSFS/ATTRS/g' -e 's/BUS="usb",/SUBSYSTEM="usb", ENV{DEVTYPE}=="usb_device",/' -e 's/MODE=/MODE:=/' /opt/Xilinx/14.7/ISE_DS/ISE/bin/lin64/xusbdfwu.rules >xusbdfwu-new.rules
Sudo cp xusbdfwu-new.rules /etc/udev/rules.d/
Sudo udevadm control --reload

Trennen Sie das JTAG-Gerät und bringen Sie es wieder an.
Führen Sie die Werkzeuge aus (bei jedem Lauf erforderlich)

source /opt/Xilinx/14.7/ISE_DS/settings64.sh
export PATH=/opt/Xilinx/14.7/ISE_DS/ISE/bin/lin64:$PATH
export LD_PRELOAD=/opt/Xilinx/usb-driver/libusb-driver.so
impact

EDIT:

Arbeitslösung

Die einzige bekannte funktionierende Lösung, die ich gefunden habe, ist die Installation einer neueren Version der Xilinx LabTools und die manuelle Installation der Kabeltreiber. Abhängig von dem Gerät, mit dem Sie arbeiten, müssen Sie eine Version der LabTools auswählen, die mindestens 2014.4 ist, jedoch nicht so neu, dass sie Ihren Chiptyp nicht mehr unterstützt (ich nehme an, aus diesem Grund verwenden Sie 14,7). Sie werden auch weiterhin die Kernelquelle benötigen, wie meine ursprüngliche Lösung gezeigt hat. Führen Sie nach der Installation von LabTools (ohne zu versuchen, Treiber zu installieren) Folgendes aus:

cd /opt/Xilinx/SDK/2014.4/data/xicom/cable_drivers/lin64/install_script/install_drivers
Sudo ./install_drivers
Sudo ./setup_pcusb
Sudo su -
cd /etc/udev/rules.d
sed -i -e 's/MODE=/MODE:=/g' 52-xilinx*.rules
exit
Sudo udevadm control --reload

Trennen Sie Ihr JTAG-Gerät, schließen Sie es wieder an, und führen Sie impact mit dem folgenden Befehl in einem Einweg-Terminal in einem Verzeichnis aus, in dem Sie das Projekt löschen möchten:

source /opt/Xilinx/14.7/ISE_DS/settings64.sh
source /opt/Xilinx/SDK/2014.4/settings64.sh
impact

Das Auswirkungstool wird von 2014.4 nicht bereitgestellt, sodass die Version 14.7 ausgeführt wird. Es werden jedoch alle in der Version 2014.4 bereitgestellten Bibliotheken verwendet, sofern vorhanden.

1
mtalexan