NIOS II 常式之Hello CS

來源:互聯網
上載者:User

標籤:

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

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在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.