我是 Linux 新手,我正在尝试安装 AlteraQuartus 2 WEB 版和 NIOS2 EDS 来使用 Nios2 处理器。
但是,在安装 Quartus 之后,当我尝试执行 jtagconfig 时。
即使在运行 /altera/nios2eds/nios2_command_shell.sh 之后,我也看不到类似下面的内容
1.)[Nios2 EDS] $ 2.) 无法锁链(端口权限不足)
请帮忙,
我是 Linux 新手,我正在尝试安装 AlteraQuartus 2 WEB 版和 NIOS2 EDS 来使用 Nios2 处理器。
但是,在安装 Quartus 之后,当我尝试执行 jtagconfig 时。
即使在运行 /altera/nios2eds/nios2_command_shell.sh 之后,我也看不到类似下面的内容
1.)[Nios2 EDS] $ 2.) 无法锁链(端口权限不足)
请帮忙,
要检查这是否确实是端口权限问题,请jtagd
以 root 身份运行(Altera 工具和驱动程序之间的守护程序)来启动故障排除。首先,您必须确保它jtagd
没有运行,因为如果它已经以用户身份运行,尝试以 root 身份启动它不会有任何效果。
$ sudo killall -9 jtagd # Kill jtagd, ...
$ sudo killall -9 jtagd # ...and verify jtagd is indeed not running.
jtagd: no process found # Good, verified.
$ sudo jtagconfig # Will also start jtagd as root
1) CV SoCKit [2-1]
02D020DD 5CSEBA6(.|ES)/5CSEMA6/..
4BA00477 SOCVHPS
如果以上都成功了,这确实是端口权限问题。要永久修复它,请尝试使用 @eepp 建议的 udev 规则。
(附带说明,如果尚未运行,jtagd
将由启动的同一用户启动。因此@eepps 命令也可以工作,但应该首先被杀死。)jtagconfig
jtagd
jtagd
为了进一步排除故障,jtagd
使用一些调试命令行选项运行可以提供有用的信息:
$ jtagd --foreground --debug
JTAG daemon started
Using config file /etc/jtagd/jtagd.conf
Remote JTAG permitted when password set
Cant bind to TCP port 1309 - exiting
jtagd
(如果已经在运行,则上述错误消息是典型的。)
(以上取自http://www.fpga-dev.com/altera-usb-blaster-with-ubuntu/。有关更多详细信息,请参阅该页面。)
“权限不足”或“权限被拒绝”或与在 *nix 上没有权限相关的任何内容通常意味着您必须以用户身份运行命令root
(或作为拥有权限但root
拥有所有权限的另一个用户)。
所以运行jtagconfig
为root
:
$ sudo jtagconfig
或者,以 root 身份将其放入一个新文件中/etc/udev/rules.d/51-altera-usb-blaster.rules
:
SUBSYSTEM=="usb", ATTR{idVendor}=="09fb", ATTR{idProduct}=="6001", MODE="0666"
SUBSYSTEM=="usb", ATTR{idVendor}=="09fb", ATTR{idProduct}=="6002", MODE="0666"
SUBSYSTEM=="usb", ATTR{idVendor}=="09fb", ATTR{idProduct}=="6003", MODE="0666"
SUBSYSTEM=="usb", ATTR{idVendor}=="09fb", ATTR{idProduct}=="6010", MODE="0666"
SUBSYSTEM=="usb", ATTR{idVendor}=="09fb", ATTR{idProduct}=="6810", MODE="0666"
然后,运行:
$ sudo udevadm control --reload
这应该会更改您的 USB-Blaster 下载电缆设备的权限,以便任何用户都可以访问它(如果这是您想要的),因此您应该能够在jtagconfig
没有sudo
. 这五个idProduct
s 都是已知的 USB-Blaster Download Cable USB 产品 ID(对于 Altera 供应商 ID,0x09fb
)。
如果您想了解更多详细信息,我写了一个关于 Linux 上 Altera 软件的相当完整的Arch Linux wiki 页面。
这可能很明显,但请确保您没有通过 USB 集线器。这是我在 Ubuntu 20.04 上使用 Quartus Prime Lite 20.1.1 的 Altera DE2-115 的问题。以上答案解决了我的权限问题(特别是添加ATTR{idVendor}=="09fb", ATTR{idProduct}=="6001", MODE="0666"
到新文件 /etc/udev/rules.d/51-altera-usb-blaster.rules
)。
但我还是得到了。
1) USB-Blaster [1-2.1]
unable to lock chain - Chain in use - check
直接去我的电脑解决了它。