終於將uClinux移植於fpga成功

剛剛上傳圖片失敗,重來


歷時兩個星期,終於將uClinux移植於nios ii成功;激動的心情難以掩飾,高興的同時,我希望記錄下我的移植坎坷之旅:

 

 首先我是按照真 OO無雙的博客一步一步走下去的:

file:///C:/Users/Frank/Desktop/(%E5%8E%9F%E5%89%B5)%20%E5%A6%82%E4%BD%95%E5%9C%A8DE2%E4%B8%8A%E5%AE%89%E8%A3%9D%CE%BCClinux%E4%BD%9C%E6%A5%AD%E7%B3%BB%E7%B5%B1%20(IC%20Design)%20(DE2)%20(Nios%20II)%20(OS)%20(Linux)%20(CentOS)%20(%CE%BCClinux)%20-%20%E7%9C%9F%20OO%E6%97%A0%E5%8F%8C%20-%20%E5%8D%9A%E5%AE%A2%E5%9B%AD.mht

 

 

自己總結一下過程:

1)編譯工具及其環境

Vmware+Ubuntu 11.04+nios2gcc20080230+uClinux-dist20070130+uClinux-dist20070130patch

還有一件重要的事情就是一個正確的完整的quartus工程,最終生成的zImage是否成功跟sopc生成的PTF文件有很大關係,我想我浪費了很多時間就是因爲我對sopc不是很熟悉,導致生成的.ptf存在存在細節上的問題,後面會詳細介紹。

##在這一步驟遇到的問題是Linux操作系統的選擇,本人覺得還是ubuntu比較適合開發人員使用,我安裝過ubuntu11.0412.0414.1。還使用過archilinux。主要是因爲自己之前沒有接觸過Linux操作系統,然後編譯過程中一遇到問題就認爲是操作系統的問題;不過還好,最起碼我現在對Linux操作系統基本指令已經比較熟悉了,我發現Linux下面的terminal實在是太棒了,特別是重重敲下Enter按鍵的時候,因爲那是見證奇蹟的時刻。##

 

(2)建立交叉編譯工具

  1. tar  -jxvf  nios2gcc.tar.bz2

   會生成opt文件夾  ;

  2.gedit  ~/.profile  (有的文檔會讓我們使用~/.bash_profile   這是跟Linux版本有關係)

  3.source  ~/.profile  (編譯)

驗證 交叉編譯工具是否成功 : nios2-linux-uclinux-gcc   -v

成功會顯示版本3.4.6

 

(3)接下來就是編譯內核

1. tar -zxvf  uClinux-dist-20070130.tar.gz

2. 打補丁:  gunzip -c uClinux-dist....diff.gz  |  patch -p0

3. make menuconfig

  用圖形界面配置內核,主要是配置vendor ————》Altera   , product-----nios2nommu

  Save後開始編譯內核;

4. 用制定的內核編譯ptf中的硬件配置信息:

make  vendor_hwselect  SYSPTF=/......../.ptf

選擇cpu ram flash

 

5. make romfs  第一次會出錯 ,此時忽略,但是PATH_MAX錯誤不能忽略;

6. make 這一步非常重要會出現各種錯誤,主要是auth.c  config.c出錯,然後應該修改參數方法見圖片:

 

 

7.make  linux  image

 生成zImage

 

 

(3)下載到開發板

1.進入工程文件,jtagconfig  -n測試jtag 

2. nios2-configure-sof  下載到開發板;

3.  nios2-download  -g  zImage

這一步阻攔了我很久,總是出現如下錯誤:

 

最後才發現,是由於我配置的flashtiming三個參數配置錯誤:這裏要學會看原理圖,查看芯片手冊。Cyclone IV E系列 ,flash AM29LV320  應該配置爲50  40   35

4. nios2-terminal 會顯示uClinux

 

 

 

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章