Vivado ... я думал Windows как програмный продукт дно.. наверно Vivado - дно. а Vivado на Windows .. нижнее днище
поэтому пока буду использовать ISE
в общем и целом
А. установка "программатора"
0. поставить стандартным способом ISE WebPack
1. поставить пакет fxload - это софтина котрая на лету зашивает EZ-USB устройства, как я теперь понимаю на них все эти USB xilinx программаторы и сделаны, и клоны тоже.
2. просунуть все файли из папки ISE_WebPack_DIR/14.7/ISE_DS/ISE/bin/lin64/*.hex в /usr/share/
конкретно вот список их имен
xusbdfwu.hex
xusb_emb.hex
xusb_xlp.hex
xusb_xp2.hex
xusb_xpr.hex
xusb_xse.hex
xusb_xup.hex
3. просунуть в /etc/udev/rules.d/ файл 99-xusbdfwu.rules
на всякий случай его содержание
# version 0003 ATTRS{idVendor}=="03fd", ATTRS{idProduct}=="0008", MODE="666", GROUP="plugdev", SYMLINK+="kgp/xpcu" SUBSYSTEMS=="usb", ACTION=="add", ATTRS{idVendor}=="03fd", ATTRS{idProduct}=="0007", RUN+="/sbin/fxload -v -t fx2 -I /usr/share/xusbdfwu.hex -D $tempnode" SUBSYSTEMS=="usb", ACTION=="add", ATTRS{idVendor}=="03fd", ATTRS{idProduct}=="0009", RUN+="/sbin/fxload -v -t fx2 -I /usr/share/xusb_xup.hex -D $tempnode" SUBSYSTEMS=="usb", ACTION=="add", ATTRS{idVendor}=="03fd", ATTRS{idProduct}=="000d", RUN+="/sbin/fxload -v -t fx2 -I /usr/share/xusb_emb.hex -D $tempnode" SUBSYSTEMS=="usb", ACTION=="add", ATTRS{idVendor}=="03fd", ATTRS{idProduct}=="000f", RUN+="/sbin/fxload -v -t fx2 -I /usr/share/xusb_xlp.hex -D $tempnode" SUBSYSTEMS=="usb", ACTION=="add", ATTRS{idVendor}=="03fd", ATTRS{idProduct}=="0013", RUN+="/sbin/fxload -v -t fx2 -I /usr/share/xusb_xp2.hex -D $tempnode" SUBSYSTEMS=="usb", ACTION=="add", ATTRS{idVendor}=="03fd", ATTRS{idProduct}=="0015", RUN+="/sbin/fxload -v -t fx2 -I /usr/share/xusb_xse.hex -D $tempnode"
4. подключить программатор
в данный момент, "программатор еще не программатор", а просто тупое EZ-USB устройство. СВЕТОДИОДИКИ НЕ ГОРЯТ!
5. перегрузит "правила" udev - чтоб он подхватил новое устройство по описанию в 99-xusbdfwu.rules
sudo udevadm trigger
в момент применения нового udev-правила из 99-xusbdfwu.rules udev по средством утилиты fxload на лету зальет нужную прошивку и преврати "программатор в программатор типа Xilinx programming cable II", то есть XCPU. СВЕТОДИОДИКИ ГОРЯТ!
c этого момента XCPU готов к работе с impact и повторять от запуска к запуску больше ничего не нужно. подозреваю что для Vivada процедура аналогичная.
Б. запуск impact
1. собственно "драйвер" котрый реализует интерфейс между impact и XPCU устройством libusb-driver.so
я его сделал и собрал полностью монолитным чтобы было по минимуму внешних зависимостей типа libusb и тд, которые в данном случае устанавливать и не нужно! (но это не точно - нужно проверять)
klen@klen-station:/klen/tools/extern/xilinx/driver/xilinx-usb-driver-0.1$ ldd libusb-driver.so linux-vdso.so.1 (0x00007ffcf0382000) libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007f1c71bba000) /lib64/ld-linux-x86-64.so.2 (0x00007f1c71e17000)
2. запуск
cd ISE_WebPack_DIR/14.7/ISE_DS
export LD_PRELOAD='{полный путь где он лежит}/libusb-driver.so' ./settings64.sh ISE/bin/lin64/impact
В. наслаждаемся бесплатным гоневом на старых xilinx плисинах..... а кто то не очень честный но патриотичный (который ложил хуй на пиндосовские лицензии) - прыгает на всех новых и жирных микросхемах что сможет закупить.
если кому поможет - буду рад, если нет - обращайтесь(возможно потребуется на Вашей машине локально собрать libusb-driver.so, тогда дам исходники и помогу это сделать), пинками затолкаем...