Mudanças entre as edições de "Configuração da USB para programação do FPGA via JTAG"

De MediaWiki do Campus São José
Ir para navegação Ir para pesquisar
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.

VER: USB-Blaster Driver for Windows 7 and Windows Vista