Para comenzar la instalación, vamos al path donde tenemos el ISE, en nuestro caso era un cd:
cd /media/cdrom0 sh setup
Si da un error de shared libraries, instalar:
apt-get install libstdc++5
El ISE sale andando con la instalación directamente desde el CD, excepto por la comuncación JTAG, recomiendo
instalarlo en el $HOME/Xilinx8.1.
La otra es crear una carpeta en /opt/Xilinx8.1 y cambiar de dueño ese directorio, como root hacemos:
chown nombredeusuario:nombredeusuario /opt/Xilinx8.1.
Esta última forma es recomendable si estamos realizando una instalación multiusuario, de esta forma debemos reemplazar $HOME por /opt/Xilinx8.1 en los pasos siguientes.
En una parte nos pregunta si queremos instalar el cable JTAG que nos va a permitir comunicarnos con los dispositivos, le decimos que no, igual ya viene destildado por defecto, pero por las dudas lo aclaro. Esto nos inserta unos módulos privativos que trabajan en el espacio kernel y bueno eso no es muy lindo. Aparte de que no anda, porque inserta un módulo compilado para vaya a saber que versión de kernel.
El driver de comunicación JTAG
Hay dos métodos probados y que funcionaron, uno es bajarse los módulos privativos windrv y xpc4drv compilarlos, renegar como loco y anda. De nuevo esto requiere módulos que se ejecutan en espacio kernel, la otra es usar un emulador de estos módulos en espacio de usuario, esto quiere decir, "sin permisos de root" :).
Clonamos el repositorio
git clone git://git.zerfleddert.de/usb-driver cd usb-driver make lib32
Esto nos genera una librería libusb-driver.so que la copiamos por comodidad y costumbre en /usr/local/lib en una consola como root:
cp libusb-driver.so /usr/local/lib
Ya estaríamos en condiciones de usar el impact, abrimos una consola como usuario:
export LD_PRELOAD=/usr/local/lib/libusb-driver.so $HOME/Xilinx8.1/bin/lin/impact
Si todo salió bien ya podríamos subir el bitstream al chip. Si queremos que las variables ya queden listas para no tener que hacer export cada vez que ejecutemos el ise, hay dos formas. Hacer un script
echo "export LD_PRELOAD=/usr/local/lib/libusb-driver.so && export LANGUAGE=usenglish && $HOME/Xilinx8.1/bin/lin/ise" > $HOME/Xilinx8.1/bin/lin/ISE.sh
darle permisos de ejecución
chmod +x $HOME/Xilinx8.1/bin/lin/ISE.sh
o la otra es setear nuestras variables de entorno por defecto adentro de $HOME/.bashrc. Abrimos en nuestro editor y al principio de todo agregamos la linea
export LD_PRELOAD=/usr/local/lib/libusb-driver.so
ahora si abrimos una consola y hacemos
printenv | grep libusb
nos va a mostrar que esta variable es parte de nuestro entorno.
Abrimos una consola o hacemos Alt+F2 y escribimos ise.
Instalando el EDK
El proceso es parecido, metemos el CD y el PATH de instalación se lo damos en $HOME/EDK.
Una vez que termina tenemos que directamente hacer un script porque sino ni abre
export LANGUAGE=usenglish export XILINX_EDK=$HOME/EDK export XILINX=$HOME/Xilinx8.1 export PATH=$PATH:$HOME/EDK/bin/lin:$XILINX_EDK/gnu/microblaze/lin/bin:$XILINX_EDK/gnu/powerpc-eabi/lin/bin:$XILINX:$XILINX/bin/lin export LD_PRELOAD=/usr/local/lib/libusb-driver.so export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$XILINX_EDK/bin/lin:$XILINX/bin/lin $XILINX_EDK/bin/lin/xps
A este script lo guardamos como XPS.sh donde mas nos guste, le damos permiso de
ejecución chmod +x XPS.sh, también podemos hacer lo mismo que antes, setear nuestro
entorno por defecto, abrimos en un editor de texto $HOME/.bashrc
y al principio de todo ponemos:
export XILINX_EDK=$HOME/EDK export XILINX=$HOME/Xilinx8.1 export PATH=$PATH:$HOME/EDK/bin/lin:$XILINX_EDK/gnu/microblaze/lin/bin:$XILINX_EDK/gnu/powerpc-eabi/lin/bin:$XILINX:$XILINX/bin/lin export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$XILINX_EDK/bin/lin:$XILINX/bin/lin
y listo, queda todo en condiciones como para usar las herramientas de Xilinx.
- TiN's blog
- Inicie sesión o regístrese para enviar comentarios
- 576 lecturas
-



