【整理】Ubuntu10.04下安装Altera9.1套件
1.安装前的必要准备
(1)到Altera官网上下载Altera9.1开发套件,包括QuartusII,NiosII EDS,ModelSim;
链接:http://www.altera.com.cn/support/software/download/altera_design/quartus_sub/dnl-quartus_sub.jsp
下载完成后,分别解压各个软件包;
(2)由于下载的软件包格的格式为rar,因此需要安装rar/unrar;
终端运行命令: sudo apt-get install rar unrar
(3)QuartusII和ModelSim的安装使用的是tcsh,需要先安装tcsh;
终端运行命令: sudo apt-get install tcsh
切换到tcsh,终端运行命令:tcsh
2.安装QuartusII9.1
(1)切换到解压的QuartusII目录,我的是:cd ./Downloads/QuartusII_v9.1
(2)由于前面已经切换到tcsh,这里就可以直接安装:sudo ./install
(3)运行(2)中的命令后,可能出现“./install: Permission denied.”的错误提示;
解决方法: (注意:下面的步骤都是在切换到QuartusII目录下进行的)
步骤一:使用命令ls -l install,查看install文件的属主;
步骤二:根据步骤一运行的结果,切换到install文件的属主;
步骤三:执行命令 chmod a+x install
步骤四:执行命令 ./install,应该可以看到安装提示;
(4)按照提示进行安装,可能会出现好多文件的Permission denied问题
解决方法: 让QuartusII文件夹下的所有文件都行执行,执行下面的命令:
chmod a+x [QuartusII文件夹路径]/*
(5)如此,之后应该会顺利的安装完毕,出现安装成功的提示。
(6)为了方便的在终端直接输入quartus就可运行Quartus软件,可以设置$PATH路径;
sudo gedit /etc/profile
在profile文件中增加: export PATH="$PATH:[QuartusII安装目录]/bin"
之后,注销用户,重新登录,使用echo $PATH检查QuartusII路径是否添加成功;
(7)成功后,就可以在终端直接输入quartus启动QuartusII软件,而不用再输入完整的路径。
说明:经过这几步,应该可以顺利的启动QuartusII,但在SOPC Builder中generate时,可能会出现“/usr/lib/libXi.so.6: undefined symbol”的问题,最简单的解决办法是删除[QuartusII安装目录]/linux下的libX11.so.6和libuuid.so.1两个文件。
3. 安装ModelSim_v9.1
(1)让ModelSim文件夹中的文件都可执行,避免Permission denied问题;
终端运行命令: chmod a+x ./Downloads/ModelSim_v9.1/*
(2)切换到ModelSim软件包目录,我的是:cd ./Downloads/ModelSim_v9.1
(3)切换到tcsh,终端运行命令:tcsh
(4)运行命令sudo ./install_st,开始安装;
(5)顺着安装提示,进行后续的安装。
4. 安装NiosII_EDS_v9.1
(1)让NiosII_EDS文件夹中的文件都可执行,避免Permission denied问题;
终端运行命令: chmod a+x ./Downloads/NiosII_EDS_v9.1/*
(2)切换到NiosII_EDS软件包目录,我的是:cd ./Downloads/ModelSim_v9.1
(3)运行命令sudo ./install,开始安装;
(4)设置QUARTUS_ROOTDIR变量,在NiosII EDS安装目录下的env.sh文件最后添加:
QUARTUS_ROOTDIR=/opt/altera9.1/quartus
export QUARTUS_ROOTDIR
(5)运行EDS安装目录下的sdk_shell,再输入./bin/nios2-ide,启动NiosII IDE。
(6)为方便直接在终端输入nios2-ide就可以启动NiosII EDS,可进行下面的设置:
步骤一:将[NiosII EDS安装目录]/bin添加到$PATH中;
我是在/etc/profile文件中添加: export PATH="$PATH:/opt/altera9.1/nios2eds/bin"
步骤二:添加(4)中env.sh文件中的几个环境变量,包括:SOPC_KIT_NIOS2, SOPC_BUILDER_PATH_91,QUARTUS_ROOTDIR;
我是在/etc/profile文件中添加了下面的几行:
export SOPC_KIT_NIOS2=/opt/altera9.1/nios2eds
export SOPC_BUILDER_PATH_91=/opt/altera9.1/nios2eds+$SOPC_BUILDER_PATH_91
export QUARTUS_ROOTDIR=/opt/altera9.1/quartus
如此,经过上面的两个步骤,在终端下直接输入nios2-ide应该就可启动NiosII EDS。
5. USB-Blaster驱动安装
为了顺利的下载FPGA配置文件和NiosII应用程序,要使用USB-Blaster,这就安装USB-Blaster驱动。
方法一:(来自Altera Forums)
(1) 建立“usbfs”模拟器:
I. 打开/etc/rc.local文件,终端运行命令:sudo gedit /etc/rc.local
II.在rc.local中添加下面的内容:
# USBFS emulation for Altera USB Blaster.
mkdir -p /dev/bus/usb/.usbfs
mount -n -t usbfs usbfs /dev/bus/usb/.usbfs -obusmode=0700,devmode=0600,listmode=0644
ln -sf .usbfs/devices /dev/bus/usb/devices
mount --rbind /dev/bus/usb /proc/bus/usb
III. 执行/etc/rc.local文件,终端运行命令:sudo /etc/rc.local
(2) 让普通用户可以使用USB-Blaster:
I. 创建/etc/udev/rules.d/51-usbblaster.rules文件,终端运行命令:sudo gedit /etc/udev/rules.d/51-usbblaster.rules
II. 在里面加入下面内容:
# Altera USB-Blaster rule to set mode to 666.
SUBSYSTEM=="usb", ENV{DEVTYPE}=="usb_device", SYSFS{idVendor}=="09fb", SYSFS{idProduct}=="6001", MODE="0666", NAME="bus/usb/$env{BUSNUM}/$env{DEVNUM}", RUN+="/bin/chmod 0666 %c"
III.终端运行命令:sudo udevadm control --reload-rules
如此,打开QuartusII的下载页面,看看能否查找到USB-Blaster,最好reboot下。
方法二:(来自Altera Forums)
因为usbfs的原因,方法一在Ubuntu10.04中可能不成功,可以试试方法二。
(1) 不同于方法一,在/etc/rc.local添加下面的内容,以便USB-Blaster在启动时就可以工作;
sudo mount --bind /dev/bus /proc/bus
sudo ln -s /sys/kernel/debug/usb/devices /proc/bus/usb/devices
(2) 删除/etc/fstab中旧的usbfs方法(这一步我没有执行,在fstab中找不到相关的usbfs);
如此,应该可以顺利地找到USB-Blaster了,还是最好能reboot下,不行的话继续方法三。
方法三:(来自Altera Forums)
(1) 终端运行命令:sudo ln -s /sys/kernel/debug/usb/devices /dev/bus/usb/devices
(2) 接着(1),在终端粘帖下面命令并回车:
sudo vim <altera path>/quartus/linux/jtagd
:%s/\/proc\/bus\/usb\/%03u\/%03u/\/dev\/bus\/usb\/%03u\/%03u\n/
:%s/\/proc\/bus\/usb\/devices/\/dev\/bus\/usb\/devices\n/
:wq
(3) 接着(2),在终端粘帖下面命令并回车:
sudo vim <altera path>/quartus/linux64/jtagd
:%s/\/proc\/bus\/usb\/%03u\/%03u/\/dev\/bus\/usb\/%03u\/%03u\n/
:%s/\/proc\/bus\/usb\/devices/\/dev\/bus\/usb\/devices\n/
:wq
如此,USB-Blaster再不出来的话,我就没着了。
上面这三种方法,我按着1/2/3的顺序都操作了,最后能正确使用USB-Blaster配置FPGA,但具体是哪一种方法起的作用,我也有点晕乎。
6. 暂时没有解决的问题
(1)快捷方式
虽然经过上面的配置,在终端下直接输入quartus,nios2-ide就可启动QuartusII和NiosII EDS,但如果要同时运行这两个软件的话,就需要在两个终端下分别输入quartus和nios2-ide,如此就启动了很多的应用程序,一是不方便,二是占用了较多的系统资源。
如此,quartus和nios2-ide的快捷方式就显得比较重要了。如何在桌面创建这两个命令的快捷方式,以便通过双击就可启动软件,而不用在终端下输入命令?
(2)eclipse-nios2
大家都知道,最新的NiosII EDS v9.1中最重要的一个改变是NiosII Software Build Tools for Eclipse,简称NiosII SBTE。虽然9.1也继续支持老版的NiosII IDE,但IDE肯定会慢慢的消失,取而代之的就是SBTE。用过SBTE后,你就会知道为什么了,虽然SBTE现在还不是特别完善,至少好多原来在IDE中的配置选项我找不到,比如:工程的属性选项,多处理器的调试选项,但SBTE方便的源代码查看功能是IDE无法比拟的。
在安装NiosII_EDS_v9.1时,会自动安装NiosII SBTE和NiosII IDE,上面也介绍了NiosII IDE的配置和启动方法,剩下的就是NiosII SBTE了。
我在终端下直接输入eclipse-nios2,出现下面的错误提示:
不知道该怎么解决了?还请大伙多多指点!
补充解答:删除[QuartusII安装目录]/linux下的libX11.so.6和libuuid.so.1,让Quartus直接选择/usr/lib下的libX11.so.6和libuuid.so.1运行。
问题解决办法补充
1.遗留问题(2)中“/usr/lib/libXi.so.6: undefined symbol: XESetWireTiEventCookie”的解决方法
说明:这是版本兼容的问题。
方法:删除[QuartusII安装目录]/linux下的libX11.so.6和libuuid.so.1,让Quartus直接选择/usr/lib下的libX11.so.6和libuuid.so.1运行。
如此,QuartusII和NiosII IDE就可以顺利的编译工程了。
2.启动eclipse-nios2,出现下面的错误提示:
解决办法:将eclipse-nios2的workspace定位到nios2-ide的workspace,然后就可以顺利启动了。
但是,指定一个新的workspace时,仍出现上面类似的错误,不知道为什么了。