Xilinx usb cable linux

2014-08-14 Xilinx USB Cable driver на 14.04

При установке Xilix ISE 14.7 распаковка драйверов завершается ошибкой:

— Installing windrvr6 ———————————————
— Checking version .
— File / lib / modules / 3 . 13 . 0 — 34 — generic / kernel / drivers / misc / windrvr6 . ko does not exist .
— File LINUX . 3 . 13 . 0 — 34 — generic . x86_64 / windrvr6 . ko does not exist .
— Setting source version to 1301 .
— File LINUX . 3 . 13 . 0 — 34 — generic . x86_64 / windrvr6 . ko is newer than the destination file .
USE_KBUILD = no
checking for cpu architecture . x86_64
checking for WinDriver root directory . / opt / Xilinx / 14.7 / ISE_DS / common / bin / lin64 / install_script / install_drivers / linux_drivers / windriver64
checking for linux kernel source . found at / lib / modules / 3 . 13 . 0 — 34 — generic / build
not found
make — f makefile . wd clean
make [ 1 ] : Entering directory ` / opt / Xilinx / 14.7 / ISE_DS / common / bin / lin64 / install_script / install_drivers / linux_drivers / windriver64 / windrvr ‘
make[1]: Leaving directory `/opt/Xilinx/14.7/ISE_DS/common/bin/lin64/install_script/install_drivers/linux_drivers/windriver64/windrvr’
make — f makefile . wd
make [ 1 ] : Entering directory ` / opt / Xilinx / 14.7 / ISE_DS / common / bin / lin64 / install_script / install_drivers / linux_drivers / windriver64 / windrvr ‘
make[1]: Leaving directory `/opt/Xilinx/14.7/ISE_DS/common/bin/lin64/install_script/install_drivers/linux_drivers/windriver64/windrvr’
make — f makefile . wd
make [ 1 ] : Entering directory ` / opt / Xilinx / 14.7 / ISE_DS / common / bin / lin64 / install_script / install_drivers / linux_drivers / windriver64 / windrvr ‘
make[1]: Leaving directory `/opt/Xilinx/14.7/ISE_DS/common/bin/lin64/install_script/install_drivers/linux_drivers/windriver64/windrvr’
— 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 .

— Driver installation failed .

— Digilent Return code = 0
— Xilinx Return code = 1
— Return code = 1

Лечение

Ставим ia32libs (возможно, это необязательный пункт, см. ниже):

sudo -i
cd / etc / apt / sources.list.d
echo «deb http://old-releases.ubuntu.com/ubuntu/ raring main restricted universe multiverse» > ia32-libs-raring.list
apt-get update
apt-get install ia32-libs

Удаляем на всякий случай ссылку на old-releases репозиторий:

Качаем заголовочные файлы для libusb (в репозитории есть пакеты для 0.1 и 1.0, ставил все, не знаю какой именно помог)

Согласно мануалам требуется собрать 32-битную библиотеку libusb-driver.so, выполнив команду

Но у меня эта библиотека не захотела собираться в 32-битную версию, вероятно из-за 64-битного libusb:

Зато 64 разрядная версия собирается:

Поэтому есть подозрение, что установку ia32libs и libc6-dev-i386 можно пропустить.

Далее воспользуемся результатом компиляции:

You are not root, trying sudo.
Looking for USB cable files: / opt / Xilinx / 14.7 / ISE_DS / ISE // bin / lin64
Copying firmware to / usr / share:
« / opt / Xilinx / 14.7 / ISE_DS / ISE // bin / lin64 / xusbdfwu.hex» — > « / usr / share / xusbdfwu.hex»
« / opt / Xilinx / 14.7 / ISE_DS / ISE // bin / lin64 / xusb_emb.hex» — > « / usr / share / xusb_emb.hex»
« / opt / Xilinx / 14.7 / ISE_DS / ISE // bin / lin64 / xusb_xlp.hex» — > « / usr / share / xusb_xlp.hex»
« / opt / Xilinx / 14.7 / ISE_DS / ISE // bin / lin64 / xusb_xp2.hex» — > « / usr / share / xusb_xp2.hex»
« / opt / Xilinx / 14.7 / ISE_DS / ISE // bin / lin64 / xusb_xpr.hex» — > « / usr / share / xusb_xpr.hex»
« / opt / Xilinx / 14.7 / ISE_DS / ISE // bin / lin64 / xusb_xse.hex» — > « / usr / share / xusb_xse.hex»
« / opt / Xilinx / 14.7 / ISE_DS / ISE // bin / lin64 / xusb_xup.hex» — > « / usr / share / xusb_xup.hex»
Installing udev rules:
done

Читайте также:  Lsi storage authority linux

Вставляем USB-хвост коробочки в PC, загорается заветная лампочка:

20140814 Impact.png

Bonus

librxtxSerial.so

При прошивке zc702 через Digilent JTAG падает XSDK (Eclipse) с сообщением:

#
# A fatal error has been detected by the Java Runtime Environment:
#
# SIGSEGV (0xb) at pc=0x00007f0b3346624d, pid=18275, tid=139686081586944
#
# JRE version: 6.0_21-b06
# Java VM: Java HotSpot(TM) 64-Bit Server VM (17.0-b16 mixed mode linux-amd64 )
# Problematic frame:
# C [librxtxSerial.so+0x724d] read_byte_array+0x3d
#
# An error report file with more information is saved as:
# /home/korogodin/hs_err_pid18275.log
#
# If you would like to submit a bug report, please visit:
# http://java.sun.com/webapps/bugreport/crash.jsp
# The crash happened outside the Java Virtual Machine in native code.
# See problematic frame for where to report the bug.
#

sudo apt-get install librxtx-java

sudo mv / opt2 / Xilinx / 14.7 / EDK / eclipse / lin64 / eclipse / plugins / gnu.io.rxtx.linux.x86_64_2.1.7.3_v20071015 / os / linux / x86_64 / librxtxSerial.so / opt2 / Xilinx / 14.7 / EDK / eclipse / lin64 / eclipse / plugins / gnu.io.rxtx.linux.x86_64_2.1.7.3_v20071015 / os / linux / x86_64 / librxtxSerial.so.orig

sudo ln -sf / usr / lib / jni / librxtxSerial.so / opt / Xilinx / 14.7 / EDK / eclipse / lin64 / eclipse / plugins / gnu.io.rxtx.linux.x86_64_2.1.7.3_v20071015 / os / linux / x86_64 / librxtxSerial.so

libstdc++

При загрузке XSDK имеем ошибку:

/ opt / Xilinx / 14.7 / ISE_DS / common / lib / lin64 / libstdc++.so.6: version ` GLIBCXX_3.4.9 ‘ not found (required by /usr/lib/x86_64-linux-gnu/libproxy.so.1)
Failed to load module: /usr/lib/x86_64-linux-gnu/gio/modules/libgiolibproxy.so

Лечение — дать ссылку на текущую библиотеку дистрибутива:

sudo ln -s / usr / lib / x86_64-linux-gnu / libstdc++.so.6 / opt / Xilinx / 14.7 / ISE_DS / common / lib / lin64 / libstdc++.so.6

C_FCLK_CLK0_FREQ should be

XPS загружается с настройками локали системы, в итоге при парсинге своих файлов неправильно интерпретирует запятые. Например вместо внешнего клока 33.33333 МГц ожидает 33 МГц. Это приводит к ошибкам при сборке bitsteam вида:

Running DRC Tcl procedures for OPTION SYSLEVEL_DRC_PROC.
ERROR:EDK: 3900 — issued from TCL procedure «zynqconfig_do» line 34
processing_system7_0 ( processing_system7 ) — MHS file editing for Zynq related
parameters is not allowed. Please use Zynq tab in XPS for PS configuration.
Value of parameter C_FCLK_CLK0_FREQ ( 51000000 ) in MHS conflicts with the
setting in Zynq tab. Value of C_FCLK_CLK0_FREQ should be 50000000
Chipscope Integrate Controller, instance ‘chipscope_icon’ , exists in System
ERROR:EDK: 440 — platgen failed with errors !
gmake: *** [ implementation / system_processing_system7_0_wrapper.ngc ] Error 2
ERROR:EDK —
Error while running «gmake -f system.make netlist» .
ERROR: [ Edk 24 — 166 ] ( generate_target ) : Failed to execute XPS script. Please check for any errors reported by the XPS application in the console: [ / home / korogodin / project_1 / project_1.srcs / sources_1 / edk / system / __xps / pa / _system_synth.tcl ]

Читайте также:  1с сервер linux postgresql установка

Лечение — перед запуском ПО изменить настройки локали:

cs_common.sh vs ChipScope

При запуске ChipScope используется скрипт cs_common.sh, который обрабатывается /bin/sh. Но в Ubuntu/Kubuntu /bin/sh ссылка на /bin/dash, который этот скрипт обработать не может. В итоге ChipScope не стартует с ошибкой:

/ opt / Xilinx / 14.7 / ISE_DS / ISE / bin / lin64 / unwrapped / analyzer: 72 : / opt / Xilinx / 14.7 / ISE_DS / ISE / bin / lin64 / unwrapped / cs_common.sh: XIL_DIRS [ 0 ] = / opt / Xilinx / 14.7 / ISE_DS / ISE / : not found
/ opt / Xilinx / 14.7 / ISE_DS / ISE / bin / lin64 / unwrapped / analyzer: 73 : / opt / Xilinx / 14.7 / ISE_DS / ISE / bin / lin64 / unwrapped / cs_common.sh: count++: not found
/ opt / Xilinx / 14.7 / ISE_DS / ISE / bin / lin64 / unwrapped / analyzer: 152 : / opt / Xilinx / 14.7 / ISE_DS / ISE / bin / lin64 / unwrapped / cs_common.sh: Syntax error: Bad for loop variable

Лечение — переконфигурировать симлинки:

First step.
ls -l / bin / sh
and you will see
lrwxrwxrwx 1 root root 4 2010 — 10 — 13 02: 29 / bin / sh — > dash

Second.
sudo dpkg-reconfigure dash
Select < no >
retype
ls -l / bin / sh
and you will see
lrwxrwxrwx 1 root root 4 2010 — 10 — 13 02: 29 / bin / sh — > bash

Источник

Блог Войтика Дмитрия про всякое электронное и не очень

В данной заметке я изложу по шагам последовательность действий установки и настройки ПО для поддержки программаторов фирмы Xilinx для ОС GNU/Linux и ПО САПР Xilinx ISE. Все ниже написанное проверялось под ОС Fedora 8. Использовался программатор Xilinx Platform Cable USB ( Model DLC9G ) и ISE версии 10.1 ( SP2 ). Я не рекомендую использовать драйверы windrv, а использовать libusb как промежуточную библиотеку доступа ПО Xilinx к программатору.

Для начала устанавливаем fxload:

fxload — это утилита загрузки прошивки в USB-контроллеры.

Итак, скачиваем, распаковываем и устанавливаем только ту часть пакета, которая необходима для загрузки прошивки:

$ wget ftp://ftp.xilinx.com/pub/utilities/fpga/install_drivers.tar.gz $ tar xvf install_drivers.tar.gz $ cd install_drivers/linux_drivers/pcusb $ su # ./setup_pcusb

Теперь можно проверить работоспособность программатора — подключаем его к USB и к плате. Проверяем если загорелся зеленый светодиод. Чтобы iMPACT не использовал драйвер windrvr, а использовал библиотеку libusb необходимо установить переменную окружения XIL_IMPACT_USE_LIBUSB в 1.

Я рекомендую ее поместить в .bashrc:

$ echo "export XIL_IMPACT_USE_LIBUSB=1" >> ~/.bashrc

Замечу, что данный прием работает только с ISE версии 10 и выше. Для старых версий (9 и 8) воспользуйтесь следующей ссылкой: http://rmdir.de/~michael/xilinx/.

Читайте также:  Linux network setting file

Теперь проверяем работоспособность iMPACT:

$ . /opt/ise101/ISE/settings64.sh $ impact&

При создании новго проекта ( create new project ) отключаем автоматическое сканирование ( опцию Configure devices using Boundary-Scan (JTAG) устанавливаем в Enter a Boundary-Scan chain manualy ). В главном меню выбираем — Output -> Cable setup… и в появившемся диалоговом окне устанавливаем Communication Mode в Xilinx USB Cable и жмем Ок. Далее жмем Ctrl+I для запуска сканирования цепочки JTAG. В результате iMPACT должен найти поддерживаемые устройства.

Источник

Setting up the Xilinx Platform Cable under GNU/Linux (Debian Wheezy 7.4)

Update 2015.03.12 those instructions also work for Ubuntu 14.10.

Of course, there is also an official way to program a Xilinx FPGA: the Xilinx Plateform cable!

This interface has official Xilinx drivers for GNU/Linux, but they are out-dated. Better use the open-source one from Michael Gernoth, at [1].

After a make in the source folder, run the install script as root:

./setup_pcusb /opt/Xilinx/14.7/ISE_DS/ISE/

It will copy the library in ISE folder, move the cable firmware to /usr/share/, and create the udev rules in /etc/udev/rules.d/xusbdfwu.rules. The udev script uses fxload for firmware loading, and there is already a Debian package for it:

After restarting udev with:

. the USB adapter should be recognized, and the corresponding firmware loaded into it over USB.

[ 9466.632176] usb 8-3: new high-speed USB device number 13 using ehci_hcd [ 9466.764855] usb 8-3: New USB device found, idVendor=03fd, idProduct=000d [ 9466.764862] usb 8-3: New USB device strings: Mfr=0, Product=0, SerialNumber=0 [ 9466.795802] usb 8-3: USB disconnect, device number 13 [ 9468.748159] usb 5-1: new full-speed USB device number 4 using uhci_hcd [ 9468.891201] usb 5-1: not running at top speed; connect to a high speed hub [ 9468.909197] usb 5-1: New USB device found, idVendor=03fd, idProduct=0008 [ 9468.909204] usb 5-1: New USB device strings: Mfr=1, Product=2, SerialNumber=0 [ 9468.909208] usb 5-1: Product: XILINX [ 9468.909212] usb 5-1: Manufacturer: XILINX

iMPACT will need libusb to connect to the platform cable:

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 = 3.16.0-31-generic.
sudo apt-get install libusb-dev

Using iMPACT, the IDCODE can be requested:

References

[UG344] Xilinx, USB Cable Installation Guide, http://www.xilinx.com/support/documentation/user_guides/ug344.pdf
[1] Michael Gernoth, XILINX JTAG tools on Linux without proprietary kernel modules, https://rmdir.de/~michael/xilinx/

Источник

Оцените статью
Adblock
detector