Mudanças entre as edições de "Configuração da USB para programação do FPGA via JTAG"
(→UBUNTU) |
(→UBUNTU) |
||
Linha 6: | Linha 6: | ||
<code> | <code> | ||
cd /etc/udev/rules.d | cd /etc/udev/rules.d | ||
+ | touch 51-usbblaster.rules | ||
cat 51-usbblaster.rules # Altera USB-Blaster rule to set mode to 666. SUBSYSTEM=="usb", ENV{DEVTYPE}=="usb_device", ATTR{idVendor}=="09fb", ATTR{idProduct}=="6001", MODE="0666", NAME="bus/usb/$env{BUSNUM}/$env{DEVNUM}", RUN+="/bin/chmod 0666 %c" | cat 51-usbblaster.rules # Altera USB-Blaster rule to set mode to 666. SUBSYSTEM=="usb", ENV{DEVTYPE}=="usb_device", ATTR{idVendor}=="09fb", ATTR{idProduct}=="6001", MODE="0666", NAME="bus/usb/$env{BUSNUM}/$env{DEVNUM}", RUN+="/bin/chmod 0666 %c" | ||
</syntaxhighlight> | </syntaxhighlight> |
Edição das 09h21min de 25 de novembro de 2013
VER: Cable and Adapter Drivers Information - site da ALTERA
UBUNTU
Antes de poder programar nos kits da ALtera com o interface JTAG é necessário executar o seguinte comando para criar o arquivo 51-usbblaster.rules
cd /etc/udev/rules.d
touch 51-usbblaster.rules
cat 51-usbblaster.rules # Altera USB-Blaster rule to set mode to 666. SUBSYSTEM=="usb", ENV{DEVTYPE}=="usb_device", ATTR{idVendor}=="09fb", ATTR{idProduct}=="6001", MODE="0666", NAME="bus/usb/$env{BUSNUM}/$env{DEVNUM}", RUN+="/bin/chmod 0666 %c"
</syntaxhighlight>
UBUNTU para DE0 Nano=
USB Blaster Configuration for JTAG Programming on Ubuntu
I just finished setting up Altera Quartus 11 for use with my new DE0-Nano FPGA Education board on Ubuntu 11.04. I had a little trouble getting the USB Blaster interface configured, so I thought I’d post the solution here for future reference.
Ubuntu uses ‘udev’ to manage devices connected to the system. By default, when udev detects the board is connected to the system, it mounts it as a USB device w/ root:root ownership and 0660 permissions (-rw-rw----)... Since when you run Quartus it launches ‘jtagd’ as your local user, who does not have permissions to write to the USB device, you’re unable to program your FPGA board.
To confirm this is your problem, simple execute the following two commands:
killall jtagd
sudo /opt/altera/11/quartus/bin/jtagd
(Note: I installed Altera Quartus 11 to /opt/altera/11/ -- update the path accordingly for your system.).
After you do this, disconnect and reconnect your development board, then try the programmer again twice. The first time you’ll get a message saying it couldn’t find the hardware, the second time is should succeed.
Assuming it succeeds, you can update the system settings so that you have access to write to the USB device, so it doesn’t matter that jtagd is running under your local user:
1)Create a new group called “usbblaster”: sudo groupadd usbblaster
2)Add yourself to that new group: sudo usermod -a -G usbblaster username
3)Create a new udev rule to mount the interface with root:usbblaster ownership:
a)Create a new file: /etc/udev/rules.d/40-altera-usbblaster.rules
b)Paste the following line into it (as a single line):
BUS=="usb", SYSFS{idVendor}=="09fb", SYSFS{idProduct}=="6001", MODE="0666", SYMLINK+="usbblaster", GROUP="usbblaster"
c)Reboot, and enjoy!
UBUNTU para kit DSP com inteface antiga
Para instalar o driver USB é necessário ser SUDOER ou SU.
Se tiver instalado uma lousa interativa da SMART Technologia é necessario primeiro corrigir o PATH, pois o nome do diretorio de instalação está com espaços. Verifique se vai dar problema com:
export | grep -i smart
Se aparecer no PATH os seguintes caminhos, vai ser necessário corrigir primeiro.
/opt/SMART Technologies/SMART Product Drivers/bin:
/opt/SMART Technologies/Notebook Software/bin:
Troque os caminhos para:
/opt/SMART\ Technologies/SMART\ Product\ Drivers/bin:
/opt/SMART\ Technologies/Notebook\ Software/bin:
Depois disso você poderá configurar a jtag.
Neste processo será dada a permissão ao usuário atual para utilizar o USB.
Crie um novo arquivo de regra 51-usbblaster.rules.
sudo gedit /etc/udev/rules.d/51-usbblaster.rules
No arquivo vazio aberto, cole o seguinte comando.
# Altera USB-Blaster rule to set mode to 666.
SUBSYSTEM=="usb", ENV{DEVTYPE}=="usb_device", ATTR{idVendor}=="09fb", ATTR{idProduct}=="6001", MODE="0666", NAME="bus/usb/$env{BUSNUM}/$env{DEVNUM}", RUN+="/bin/chmod 0666 %c"
Salve e feche o arquivo.
Carregue a nova regra com o comando:
sudo udevadm control --reload-rules
Crie um soft link com o comando (esse link desaparecerá quando você desligar a máquina):
sudo ln -s /sys/kernel/debug/usb/devices /dev/bus/usb/devices
Coloque o soft link no arquivo /etc/rc.local
sudo gedit /etc/rc.local
insira o comando antes do exit 0
ln -s /sys/kernel/debug/usb/devices /dev/bus/usb/devices
Agora os seguintes comandos devem ser executados dependendo do ubuntu que se está usando. Não esqueça de substituir <pasta_de_instalação> pelo local em que o quartus está instalado.
export QUARTUS=/opt/altera/quartus
Para ubuntu 32bits:
export VER=linux
Para ubuntu 64bits:
export VER=linux64
Em seguida
sudo sed -i.bak 's/\/proc\/bus\/usb\/%03u\/%03u/\/dev\/bus\/usb\/%03u\/%03u\d0/g' $QUARTUS/$VER/jtagd
sudo sed -i 's/\/proc\/bus\/usb\/devices/\/dev\/bus\/usb\/devices\d0/g' $QUARTUS/$VER/jtagd
Agora, se você executar:
$QUARTUS/bin/jtagconfig
Se aparecer a mensagem USB-Blaster [USB X-X.X]
1) USB-Blaster [4-1]
120930DD EP2S60
NOTA: OK testado com: Quartus II version11.0 Build 208, SP1
Então você configurou corretamente e o programador do quartus precisa ser configurado para:
WINDOWS
Quando alguém precisar, escrever o procedimento.