Установка xilinx платформы usb в Ubuntu 16.04 x64

Я правильно установил ise14.7, а затем попробую передать это руководство для установки кабеля платформы. все шаги были правильными. Мой вывод ls usb такой же

$ 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

Вы можете видеть, что моя ОС знает, что устройство usb xilinx подключено, и usbdev работает правильно. но мой кабель не работает. Затем я вижу результат в ударе, который говорит:

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.
...

после этого я пытаюсь установить драйвер с помощью справочного документа xilinx по этой ссылке.

Я набираю эту команду в терминале

sudo ./install_drivers

и получаю некоторую ошибку:

--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

Я чувствую, что есть проблема с моей версией ядра на основе этого line

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
задан 17 October 2016 в 13:12

2 ответа

Немедленное исправление сборки (не решение)

Для вашей конкретной проблемы с установкой установщик пытается создать драйвер. Чтобы сделать это, для ядра, на котором выполняется текущее ядро, требуется исходный код ядра. Команда для его получения:

sudo apt-get install linux-source

Это решит проблему немедленной сборки, но WinDriver все равно не будет правильно создан. Согласно документации на выпуск, версия ISE 14.7 объявлена ​​совместимой только с RHEL Workstation 5 & amp; 6 (32 и 64-разрядные) и SUSE Enterprise 11 (32 и 64-разрядные) среди всех дистрибутивов Linux. Возрастный уровень, который находится на уровне Ubuntu 9.04. С тех пор ядро ​​значительно изменилось, перейдя с версии 2.6.32 ядра в RHEL 6.9 на версию ядра 4.4.0 в Ubuntu 16.04.1.

Потенциальное обходное решение

Единственное полу-обходное решение, которое я смог выполнить, не поддерживается Xilinx, поэтому он не будет создавать / работать с новой версией ядра. найти в попытке решить эту же проблему, если вы используете DLC9 или более раннее устройство JTAG. В этом случае вы можете найти инструкции по созданию и использованию драйвера пользовательского пространства вместо WinDriver с документацией по выпуску в разделе «Использование Xilinx USB JTAG Programmers под Linux (установка кабельных драйверов)» , Обязательно прочитайте README из проекта git, на который он указывает, потому что если ваше устройство JTAG не является одним из поддерживаемых, или вам не хватает некоторых инструкций (например, установка LD_PRELOAD), драйвер, созданный из проекта git, не будет работайте для вашего устройства JTAG.

Конденсированная версия связанных инструкций с некоторой скрытой информацией, явно заданной: Создайте драйвер

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

Отсоедините Запустите инструменты (необходимо при каждом запуске)

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:

Рабочее решение

Единственное известное рабочее решение, которое я нашел, - это также установить более новую версию Xilinx LabTools и вручную установить драйверы кабелей из этого. В зависимости от устройства, с которым вы собираетесь работать, вам нужно выбрать версию LabTools, которая не менее 2014.4, но не такая новая, что она больше не поддерживает ваш тип микросхемы (что я предполагаю, поэтому вы используете 14,7). Вам все равно потребуется источник ядра, как указано в моем оригинальном решении. После установки LabTools (не пытаясь установить драйверы) запустите следующее:

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

Отключите и снова подключите устройство JTAG и выполните удар с помощью следующей команды в выпадающем терминале из каталога, в котором вы хотите, чтобы проект был сброшен:

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

Инструмент удара не предоставляется к 2014.4, поэтому он завершит выполнение версии 14.7, но все библиотеки, предоставленные версией 2014.4, будут использоваться, если они существуют .

0
ответ дан 23 May 2018 в 05:06

Возрастные файлы не будут работать с текущей версией ядра. Я также столкнулся с той же проблемой. Решение состоит в том, чтобы установить файлы драйверов кабелей с помощью инструмента vivado. Попробуйте загрузить эти файлы с веб-сайта Xilinx. Это сработало для меня.

-1
ответ дан 23 May 2018 в 05:06
  • 1
    Вы можете улучшить свой ответ, указав инструкции по загрузке и установке. – WinEunuuchs2Unix 29 November 2016 в 15:36
  • 2
    Пытаясь получить 14,7 на работу, я использовал установщик 2013.4. У установщика Digilent отсутствуют целые каталоги в этой версии, но он идентичен установщику 14.7, за исключением версии digilent.adept.runtime, которую он устанавливает. Это тоже не работает. – mtalexan 22 June 2017 в 02:33

Другие вопросы по тегам:

Похожие вопросы: