教學分享no.014 - 安裝uClinux至DE2-70

作業環境:
VMware Workstation 7.1.3、ubuntu 10.10、DE2-70、Quartus II 10.1、Nios II EDS 10.1
預備所需檔案
Nios II cross-gcc compiler:nios2gcc-20080203.tar.bz2
uClinux核心:nios2-linux-20100621.tar
SOPC Builder設定檔:使用DE2-70內附的範例 DE2_70_SOPC.ptf
(DE2_70_v.1.4.0_CDROM/DE2_70_demonstrations/DE2_70_NIOS_HOST_MOUSE_VGA/DE2_70_SOPC.ptf)

前置作業
1. 為ubuntu安裝 VMware tool (實現可直接從外部電腦直接拖移檔案近來,及共用字元的複製貼上)

2. 開啟ubuntu root用戶
    (由於安裝過程會觸及系統資料夾,需使用指令模式移動檔案,使用root帳戶則可在GUI下搬移)
    (也可不使用root用戶,單靠terminal指令也可完成)
  a. 以一開始安裝ubuntu所創立的帳戶登入
  b. 開啟terminal(終端機)
  c. 輸入指令
      sudo passwd root
      Password: 輸入一開始安裝ubuntu所創立的帳戶密碼
      Enter new UNIX password:輸入要設定的root帳戶密碼
      Retype new UNIX password: 在輸入一次
      passwd: password updated successfully
  d. 登出現在的用戶
  e. 在登入畫面選擇others
       username輸入root
       password輸入剛剛所設定的密碼
   f. 完成

3. 將預備的3個檔案拖移放至 /usr/local/src
   (其實可以放到任何地方,但為了方便起見,統一放到這裡)

4. 開啟terminal,安裝建置所需的套件 (若是以複製的方式輸入,請注意會複製到換行)
root@ubuntu:~# apt-get install git-core git-gui make gcc ncurses-dev bison flex gawk gettext ccache zlib1g-dev libx11-dev texinfo liblzo2-dev pax-utils uboot-mkimage
各套件相關的功能可至 Ubuntu Packages Search 查詢

安裝步驟分成三大部分
(一) 安裝 Nios II cross-gcc compiler
(二) 編譯建置 uClinux核心
(三) 將核心下載安裝到DE2-70

(一) 安裝 Nios II cross-gcc compiler

Step 1.
解壓縮nios2gcc-20080203.tar.bz2

root@ubuntu:/# cd /usr/local/src

root@ubuntu:/usr/local/src#  tar -jxvf nios2gcc-20080203.tar.bz2

查看 /usr/local/src 發現多了一個 opt 資料夾

Step 2.
設定gcc編譯的路徑

root@ubuntu:/usr/local/src# gedit ~/.profile

(若會用vi指令的也可以用vi ~/.profile)


於尾端加入 PATH=$PATH:/usr/local/src/opt/nios2/bin

由於.profile檔案是在登入時載入生效
因此剛設定完並不會馬上生效
可用以下指令讓他馬上生效

root@ubuntu:/usr/local/src# source ~/.profile

Step 3.
檢查路徑設定是否正確

root@ubuntu:/usr/local/src# echo $PATH

/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/src/opt/nios2/bin

後方需有 /usr/local/src/opt/nios2/bin 即表示設定正確

Step 4.
檢查gcc是否正確安裝

root@ubuntu:/usr/local/src# nios2-linux-uclibc-gcc -v


Reading specs from /usr/local/src/opt/nios2/bin/../lib/gcc/nios2-linux-uclibc/3.4.6/specs
Configured with: /root/buildroot/toolchain_build_nios2/gcc-3.4.6/configure --prefix=/opt/nios2 --build=i386-pc-linux-gnu --host=i386-pc-linux-gnu --target=nios2-linux-uclibc --enable-languages=c,c++ --disable-__cxa_atexit --enable-target-optspace --with-gnu-ld --disable-shared --disable-nls --enable-threads --enable-multilib
Thread model: posix
gcc version 3.4.6

出現以上訊息代表安裝完成

(二) 編譯建置 uClinux核心

Step 1.
解壓縮nios2-linux-20100621.tar

root@ubuntu:/usr/local/src# tar -C /usr/local/src -xvf nios2-linux-20100621.tar

(-C 的用意是為了將解壓縮的東西顯示於畫面上)
(請務必加上路徑 /usr/local/src 才可以正確解壓縮)

Step 2.
安裝 libncurses5-dev 套件

由於會用到make menuconfig指令,需要安裝 libncurses5-dev 套件才可以編譯出GUI的設定介面

root@ubuntu:/usr/local/src# apt-get install libncurses5-dev

Step 3.
切換git分支

由於uClinux是安裝在 test-nios2 分支下,因此需切換分支到 test-nios2

root@ubuntu:/usr/local/src# cd nios2-linux

root@ubuntu:/usr/local/src/nios2-linux# cd linux-2.6

root@ubuntu:/usr/local/src/nios2-linux/linux-2.6# git checkout test-nios2
完成後出現 Switched to branch 'test-nios2'

root@ubuntu:/usr/local/src/nios2-linux/linux-2.6# cd ..

root@ubuntu:/usr/local/src/nios2-linux# cd uClinux-dist

root@ubuntu:/usr/local/src/nios2-linux/uClinux-dist# git checkout test-nios2
完成後出現 Switched to branch 'test-nios2'

git分支簡介

Step 4.
編譯核心配置介面

root@ubuntu:/usr/local/src/nios2-linux/uClinux-dist# make menuconfig

會出現以下介面

Vendor/Product Selection --->  # 選擇
Enter進入


    --- Select the Vendor you wish to target
         Vendor (Altera)  --->   # 選擇Altera
    --- Select the Product you wish to target
         Altera Products (nios2)  --->   # 選擇nios2
左右選擇 < Exit > 回到上一頁


Kernel/Library/Defaults Selection --->    # 選擇
Enter進入


    --- Kernel is linux-2.6.x
         Libc Version (None)  --->     # 需選擇None  (非常重要)
    [*] Default all settings (lose changes)     #空白鍵選擇
    [  ] Customize Kernel Settings
    [  ] Customize Vendor/User Settings
    [  ] Update Default Vendor Settings
左右選擇 < Exit > 回到上一頁

回主選單後 左右選擇 < Exit > 離開

選擇 < Yes > 儲存設定並離開

Step 5.
根據SOPC的 ptf 硬體配置檔案 設定makefile

root@ubuntu:/usr/local/src/nios2-linux/uClinux-dist# make vendor_hwselect SYSPTF=/usr/local/src/DE2_70_SOPC.ptf

選擇CPU

選1
Enter

選擇要儲存核心的設備

選1
Enter

完成


Step 6.
開始編譯核心

root@ubuntu:/usr/local/src/nios2-linux/uClinux-dist# make
(編譯會花上一段時間)


完成


最後會在 /usr/local/src/nios2-linux/uClinux-dist/linux-2.6.x/arch/nios2/boot 產生 zImage 檔案

(三) 將核心下載安裝到DE2-70

Step 1.
將 zImage 複製到 C:\altera\72\nios2eds 下
將 DE2_70_NIOS_HOST_MOUSE_VGA.sof 複製到 C:\altera\72\nios2eds 下


Step 2.
啟動Nios II Command Shell
開始 -> 所有程式 -> altera -> Nios II EDS 10.1 -> Nios II 10.1 Command Shell


Step 3.
將硬體燒入到DE2_70 (記得開啟電源)

bash-3.1$ nios2-configure-sof DE2_70_NIOS_HOST_MOUSE_VGA.sof



Step 4.
將μClinux的zImage下載到SDRAM

bash-3.1$ nios2-download -g zImage


Step 5.
啟動μClinux

bash-3.1$ nios2-terminal


看到uClinux的經典圖示後代表安裝成功囉!!

參考網站
http://www.alterawiki.com/
(原創) 如何在DE2上安裝μClinux作業系統?
移植uClinux到DE2 dev board
(原創)FPGA(DE2)上uClinux的移植
最新nios2架構uclinux的過程
(原創)uCLinux在NiosII平台上的移植
nios2下的uClinux移植筆記

tag : uClinux ubuntu DE2-70 Nios2

留言

只限管理員閲覽

此留言只限管理員閲覽

Re: No title

你好

當然可以囉

如果有可以幫上忙的地方當然很願意幫助你

用quartus寫好硬體後

板子方面無須做任何設定即可燒錄

只是你在quartus軟體部分要選擇正確的型號對應到115

就可以正常燒錄了唷

等待許可的留言

此留言需要管理員的許可
發表留言
只對管理員顯示