標籤:
1 建立工程
在quartus ii 中建立一個工程(hello.Prj)
2 Qsys硬體系統搭建
在quartus ii中開啟Qsys:
開啟Qsys介面發現System Contents下已經有了一個clk_0,如所示。為搭建一個最小系統還必須添加一些必要組件,比如NIOS II 處理器、JTAG、onchip_ram、systemID等。
添加JTAG:
添加NIOS II 處理器
添加onchip_ram
添加pio
添加system ID
在system contents 的connections進行串連,時鐘clk和reset與所有組件的clk和reset串連,nios2_qsys的data_master和instruction_master 均與
代表onchip_memory2_0 的從機匯流排s1 串連上。而其他作為匯流排slave 的外設均串連到nios2_qsys_0的data_master上
將需要與外部串連的介面屬性設定為export,這裡將pio設定為輸出:
這裡NIOS II 處理器還要設定一下,將其Reset Vector和Exception Vector均設為onchip_mem:
讓後進行create globle reset,自動分配地址和中斷操作:
很多外設都有中斷訊號,在我們的Qsys中也需要將對應的IRQ一列中的外設和NIOS II處理器串連上。在沒有串連是,對應外設上有一個空心的小點,如果點上去,則不是實心的
小圓,而是可以填寫數位一個空心大圓,對應可以寫上它的中斷優先順序。
最後在generation中進行相關設定,13.0 simulation和testbench處都設定為none ,否則容易報錯。
點擊generation 進行系統產生。
3 例化Qsys
回到Quartus II,我們建立一個名為hello.v的verilog原始碼檔案。然後輸入以下代碼;
module hello(clk,rst_n,led);input clk;input rst_n;output led; myqsys u0 ( .clk_clk (clk), // clk.clk .reset_reset_n (rst_n), // reset.reset_n .pio_external_connection_export (led) // pio_external_connection.export );endmodule
然後將myqsys.Qsys和ex2.v檔案添加到工程中
對工程進行綜合編譯。
進行引腳分配,然後再最終綜合,布局布線。。。。。
4 EDS中建立軟體工程
開啟EDS軟體。首先彈出如下的workspace路徑設定對話方塊,採用預設設定並點擊OK進入軟體。
進入EDS軟體介面
功能表列點擊File?New?Nios II Application and BSP from Template建立一個模板工程。
載入系統硬體,即sopcinfo檔案,
選擇好SOPC檔案後,預設選中CPU為nios2_qsys,給軟體工程命名為ex3swprj,最後
再選擇空白工程模板,然後點擊Finish完成工程的建立。
在ex2工程中建立一個main.c檔案
開啟main.c檔案進行軟體編程
/* * main.c * * Created on: 2015-3-30 * Author: Administrator */#include "alt_types.h"#include "altera_avalon_pio_regs.h"#include "sys/alt_irq.h"#include "system.h"#include <stdio.h>#include <unistd.h>void delay(void);int main(void){alt_u8 timer = 0;while(1){printf("Hello CS!I am NIOS II! %d\n",timer);delay();timer++;}return 0;}//延時函void delay(void){alt_u32 i=0;while(i < 4000000){i++;}}
先不要對工程進行編譯,首先對BSP Editor進行一定的設定。
進入BSP Editor,需要按照後面一個表格做設定,完成後點擊Generate按鈕完成後Exit即可。
前面的BSP Editor中按照如下要求做設定。另外提醒大家注意的是,每次硬體工程(在Quartus II中)的任何更改,建議在編譯軟體工程前逗號重新在BSP Editor中Generate一次,
這是為了保證軟硬體的一致性,否則編譯將出錯。
接著回到EDS中,分別選中ex2swprj_bsp和ex2swprj,然後右鍵點擊選中Build Project。這就完成了軟體平台的搭建
5 板級調試
首先下載sof檔案到FPGA中
在EDS裡,選中應用工程,右鍵點擊並選擇Rus as?Niso II Hardware。第一次操作通常會彈出Run Configuration介面,首先在Project一欄中選擇好當前工程和當前的軟體下載文
件(在應用工程目錄下的elf檔案 )。
在Target Connection頁面,需要檢測下載硬體資訊。可以多次點擊右側的Refresh Connections按鈕,直到左側的Connections下出現我們的下載線資訊,此外,我們還需要讓左下角的Run按鈕有效(即變亮可以點擊)。點擊Run開始軟體的線上運行。
觀察Nios II Console視窗:
至此已完成了一個hello cs的NIOS II 常式。
2015 3月30日
CSLegened
NIOS II 常式之Hello CS