32bit_me: (Default)
[personal profile] 32bit_me
При установке DS-5 и Quartus под Linux могут возникнуть некоторые проблемы.




После установки Quartus не видит Jtag. Запускаем из /quartus/bin/:
quartus/bin$ ./jtagconfig
No JTAG hardware available




Как это лечится. Запускаем:
quartus/bin$ ./jtagd --foreground --debug
No USB device change detection because libudev.so.0 not found




Запускаем:
sudo ln -s /lib/x86_64-linux-gnu/libudev.so.1 /usr/lib/libudev.so.0




Теперь:
quartus/bin$ ./jtagd --foreground --debug
JTAG daemon started
Using config file /etc/jtagd/jtagd.conf
Remote JTAG permitted when password set
USB-Blaster port (/dev/bus/usb/001/007) open failed (13)




Устанавливаем права на тот порт, к которому подключен jtag:
sudo chmod 666 /dev/bus/usb/001/007




Теперь всё работает:
quartus/bin$ ./jtagconfig 
1) CV SoCKit [1-1]
  02D020DD   5CSEBA6(.|ES)/5CSEMA6/..
  4BA00477   SOCVHPS




В DS-5 заходим в Run/Debug Configuration. Выбираем в левом списке, например, DS-5 Debugger/Altera-SoCFPGA-BareMetalBoot-GNU, выбираем на вкладке Connection: Bare Metal Debug/Debug Cortex-A9_0. Выбираем Target Connection: USB-Blaster. Нажимаем кнопку Browse, получаем следующее:
The script file ( device_browser.py ) failed during execution




Перед запуском eclipse нужно установить системные переменные QUARTUS_ROOTDIR и LD_LIBRARY_PATH.
Они должны указывать, однако, не на установленный ранее Quarus (если он был установлен), а на директории /home/user/intelFPGA/16.1/qprogrammer и
/home/user/intelFPGA/16.1/qprogrammer/linux64 (я устанавливал DS-5 в /home/user, а не в /root, как он предлагает при установке). Итак,

intelFPGA/16.1/embedded/ds-5/bin$ export QUARTUS_ROOTDIR=/home/user/intelFPGA/16.1/qprogrammer
intelFPGA/16.1/embedded/ds-5/bin$ export LD_LIBRARY_PATH=$QUARTUS_ROOTDIR/linux64:$LD_LIBRARY_PATH
intelFPGA/16.1/embedded/ds-5/bin$ ./eclipse &


Всё работает!

Если всё-таки не работает
При переподключении USB JTAG может отвалиться. Симптомы такие:

1. Проверяем подключение, получаем:
user@debian:~/intelFPGA/16.1/embedded$ jtagd --foreground --debug
JTAG daemon started
Using config file /etc/jtagd/jtagd.conf
Remote JTAG permitted when password set
Can't bind to TCP port 1309 - exiting

Это значит, что jtagd уже запущен.
2. Набираем: netstat -lpn
Получаем:
(Not all processes could be identified, non-owned process info
will not be shown, you would have to be root to see it all.)
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address           Foreign Address         State       PID/Program name
tcp        0      0 127.0.0.1:631           0.0.0.0:*               LISTEN      -              
tcp        0      0 127.0.0.1:25            0.0.0.0:*               LISTEN      -              
tcp        0      0 127.0.0.1:1309          0.0.0.0:*               LISTEN      3965/jtagd

То есть pid процесса в данном случае 3965.
Убиваем процесс: kill -9 3965
3. Запускаем снова:
user@debian:~/intelFPGA/16.1/embedded$ jtagd --foreground --debug
JTAG daemon started
Using config file /etc/jtagd/jtagd.conf
Remote JTAG permitted when password set
USB-Blaster port (/dev/bus/usb/001/011) open failed (13)
4. Устанавливаем права на указанный порт:
sudo chmod 666 /dev/bus/usb/001/011
5. Проверяем: jtagconfig --enum
1) CV SoCKit [1-4]
02D020DD   5CSEBA6(.|ES)/5CSEMA6/..
4BA00477   SOCVHPS

Теперь всё работает.
Ещё ссылка: http://www.fpga-dev.com/altera-usb-blaster-with-ubuntu/

Profile

32bit_me: (Default)
32bit_me

April 2017

S M T W T F S
      1
2 34 5678
9101112 1314 15
16171819202122
23242526272829
30      

Most Popular Tags

Style Credit

Expand Cut Tags

No cut tags
Page generated Jul. 24th, 2017 06:28 pm
Powered by Dreamwidth Studios