[原創]邁出NIOS的第一步,HelloNIOS

來源:互聯網
上載者:User

標籤:ios1   開發   固定   core   工程   add   log   lips   適合   

Altera官方推出NIOS已經很久了,個人感覺C+V代碼配合會是後面FPGA使用的一個主流,由C來完成一些對時序要求不高,對功能要求偏高的部分,比如運動控制等;由V來配合時序完成高時序要求的需求以及一些底層的驅動供C來調用,這樣的設計結構感覺更加合理有效,也更加適合於一些大型工程。但是有一點不好的就是程式可移植性可能有點差,畢竟使用Eclipse編輯環境(我也不確定,反正個人感覺移植起來有些麻煩)。

好了,本文就開始我們的第一個常式,HelloNIOS。軟體語言中經典的HelloWorld在這裡變成了HelloNIOS,看起來也很不錯。

簡介

其實,網路上有關於NIOS的教程已經很多了,本文在此只作為我自己的一個學習使用記錄。首先,要用NIOS,你肯定得有相匹配的硬體吧,在這裡先來介紹下我自己的硬體環境。

  • 硬體:開發板黑金AX301
  • 軟體:QuartusII 13.0sp1,NIOS13.0sp1

最關鍵的因素就是這些了,開發板很普通,買了後覺得資源有些少了,不過一些簡單的開發以及使用NIOS那還是足夠了,物盡其用,搞起來。

先說下所參考的一些資料,《NIOS的奇幻漂流》和《NIOS那些事兒》,感覺都是很經典的資料,完全可以用作入門。

Quartus工程建立

這裡和普通的硬體Quartus工程建立沒有什麼區別,在這裡就不多說,簡要提過。

  1. 建立Quartus工程,分配好各部分所在檔案夾(這是個人習慣,現在我一般的架構如)

    其中ipcore用來存放自建立的官方IP核,tcl用於存放tcl引腳檔案,verilog用於存放個人編寫的V代碼。

  2. 建立對應的PLL,這裡是否建立PLL自行決定,因為我們要用到板上資源SDRAM,其需要100MHz的時鐘,而我們的輸入是50MHz,所以此處需要一個PLL。

  3. 建立完PLL後,我們建立Qsys。Qsys就是之前版本中的SOPC Builder,其主要就是建立一個虛擬SOPC出來。Tools->Qsys可以開啟,開啟後我們可以看到如下介面。

  4. 依次添加NIOS、SYSID、SDRAM、EPCS、JTAG、添加後進行改名連線。改名方法為選中NAME後按“2”或者“R”即可,我一般會將這幾部分的名字全部改為大寫。其中可能會有部分Warning或者Error出現,下面對一些需要注意的點進行了說明。

    • 為添加所有組件後的
    • 按照一定的規則連線後,可以參考形式連線,下方仍然發現了部分如下Error的存在。

    • 這裡就需要對NIOS核進行一定的設定,雙擊打來NIOS核,進行如下的設定。設定完成後就可以看到Error消失了。
    • 當然這時下方還會出現一些有關於地址線錯誤的Warning或者Error,這是由於很多組件的地址佔用空間相同了,這在右側可以看出,類似於如下。
    • 這時可以點擊System->Assign Base Address進行地址線的自動分配,這裡我有一個習慣就是會把EPCS模組的地址線固定為0x0,從上面連線圖也可以看出。
    • 以上完成後要注意我們最後一列的中斷IRQ,也要記得將他們連起來。
    • 之後點擊上邊標籤欄中的Generation進行產生,該頁面記得將以下部分勾選。
    • 至此,Qsys中的配置部分結束。
  5. 在Quartus頂層中添加PLL和Qsys,參考資料上多用原理圖的形式進行串連,我一般是使用代碼的方式進行串連,這部分就看個人喜好了。使用代碼串連可移植性好些但是沒有原理圖形式直觀。

  6. 然後編譯,將SOF下載到FPGA開發板中。至此,Quartus中的所有工作完畢。

NIOS工程建立

這部分按照參考資料說明書來即可,十分簡單,簡寫如下。

    1. 選擇一個空間用於存放工程,我一般放於Qsys的目錄下
    2. File->New->NIOS II Application and BSP Template
    3. 選中Quartus下的sopcinfo檔案,然後命名工程,一路Next就行
    4. 工程產生後,選中左邊的檔案夾,右鍵NIOS II->Generate BSP
    5. 產生後,Ctrl+B進行編譯
    6. 編譯完成後,開啟Run-Configuation,進行下載配置,Apply,Run
    7. 最後就可以等待調試框中的結果了
    8. 最後放上成功的結果

[原創]邁出NIOS的第一步,HelloNIOS

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.