2010年5月24日 星期一

Altera Quartus II & NIOS II IDE on Ubuntu 10.04

桌面 1_001
因為也有Linux版本的,
所以這幾天就去找了一些資料,把他們給裝起來,
這樣就可以在Ubuntu下面寫VHDL了欸!
不過這不是一般人會使用的軟體就是。
安裝過程需要特別設定一下。

首先要先上Altera的官網下載Web Installer,
官網的Download Center裡面,
如果沒有Licence,就下載Web Edition吧!
安裝他需要root權限,
除非你要安裝在自己個人資料夾下面,
(我沒有試過,不知道會不會有問題,)
sudo ./91_altera_webinstall.sh,
安裝過程就跟著軟體步驟下一步吧!
軟體的位置要自己設定一下,我是設定/opt/altera9.1/,
後面的位置設定如果你有變,請自行更改。
安裝程式不會在主選單建立捷徑,所以執行要打開終端機,輸入執行的指令,
稍後再做說明,
(總之應該是安裝程式還沒有寫得很完善。)

裝好之後要開始更改一些設定值:
sudo gedit /etc/bash.bashrc
加入
# Altera Quartus environment variables
QUARTUS_64BIT=0
MWOS=linux
MWARCH=i86
QUARTUS_MWWM=allwm
export QUARTUS_ROOTDIR=/opt/altera9.1/quartus/
export PATH=$PATH:/opt/altera9.1/quartus/bin/:/opt/altera9.1/quartus/linux/:/opt/altera9.1/nios2eds/bin/
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/lib/:/usr/lib:/opt/altera9.1/quartus/linux/
export SOPC_KIT_NIOS2=$SOPC_KIT_NIOS2:/opt/altera9.1/nios2eds
unset GCC_EXEC_PREFIX
再來要解決權限問題:
因為第一次執行quartus是root權限,
所以程式在建立設定檔的時候,是root權限的,
(為什麼裝好他要自動執行 QQ),
sudo chown -R user:user ~/.mw (user改成自己)
sudo chown -R user:user ~/.altera.quartus
裝回舊的libxi6:
quartus用的是舊的版本,不影響系統,不裝sopc builder不能用 QQ,
wget -c http://www.linuxidc.com/system/systembak/libxi6_1.2.1-2ubuntu1_i386.deb
sudo dpkg -i libxi6_1.2.1-2Ubuntu1_i386.deb
sudo gedit /var/lib/dpkg/status
找到
Package: xinput
...
Depends: libc6 (>= 2.4), libx11-6 (>= 2:1.2.99.901), libxext6, libxi6 (>= 2:1.2.1-2Ubuntu1)
把Depends改成上面這樣
之後如果遇到更新,請不要更新libxi6以及xinput這兩個套件。
修正sopc builder locale的問題:
SOPC Builder在Generate的時候,如果會出現一些warning,
就要更改一下用來執行quartus的shell,
sudo gedit /opt/altera9.1/quartus/bin/quartus
在# further details.後面加上
setenv LANG C
setenv LC_CTYPE en_US
基本上這樣設定,Quartus、SOPC Builder以及NIOS II IDE都可以跑了,
執行的話就是在終端機當中輸入:
quartus (執行Quartus II)
nios2-ide (執行NIOS II IDE)
要建立捷徑的話,需要輸入完整路徑,
例如:/opt/altera9.1/quartus/bin/quartus,
但是在NIOS II IDE的部份,建立捷徑也跑不起來,不知道為啥,
還沒找到解決問題的方法。

最後最重要的就是USB Blaster了,
不然也不能把程式燒到板子裡面,
配置USB Blaster:
sudo gedit /etc/udev/rules.d/40-permissions.rules
內容如下
# Altera USB Blaster
BUS=="usb", SYSFS{idVendor}=="09fb", SYSFS{idProduct}=="6001", MODE="0666", SYMLINK+="usbblaster"
sudo gedit /etc/rc.local
加入
# 因為新版kernel已經disable掉udev,所以要改這部份,
mount --bind /dev/bus /proc/bus
ln -s /sys/kernel/debug/usb/devices /proc/bus/usb/devices
/opt/altera9.1/quartus/bin/jtagd
重開機之後應該就可以用USB Blaster了。

以上的設定,我也看網路上的文件試了很久,
是參考:http://www.linuxidc.com/Linux/2010-04/25545.htm
這個網站的,不過有些設定不太一樣,
大家可以參考看看,
如果有錯的話,歡迎指正。

4 則留言:

  1. http://alterauserforums.org/forum/showthread.php?p=89362
    官網有另外一種解決libXi.so.6版本過新的方法
    紀錄一下
    因為我在64bit版本的linux下面直接把libXi版本灌回舊版沒用 QQ

    回覆刪除
  2. 不知道楼主有没有用过signaltap呢``我在linux 下面发现不能用啊
    再问一个问题,楼主DSP builder 有没有安装过呢,我发现我安装以后关联不上啊``

    回覆刪除
  3. 在linux下面使用Quartus其實仍是有許多問題,除了Quartus主程式本身勉強可以使用以外,其餘程式部份或多或少都會有問題,我想這個部份應該是不太能解決的,除非altera他們願意修正。

    回覆刪除
  4. 感觉就是这样的,我们国家内部倒是用linux比较少,但是在国外还是有很多用linux的哟。官方论坛上面也有很多解决方法,就是本人英文比较烂,不想去找啦。

    回覆刪除