新聞中心

        EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計應(yīng)用 > NIOS II開發(fā)環(huán)境建立方法

        NIOS II開發(fā)環(huán)境建立方法

        作者: 時間:2017-06-05 來源:網(wǎng)絡(luò) 收藏

        一、 軟件安裝

        1. 首先,安裝NIOS II 開發(fā)包。采用虛擬光驅(qū)軟件,如DAEMON 等將NIOS II V1.0 BUILD316E.ISO 文件映射到虛擬光驅(qū)上;

        點擊光驅(qū)圖標(biāo),會自動運行安裝程序

        選擇第一個選項,Install;
        選擇 Next 按鈕;
        詢問是否接收協(xié)議的時候,選擇 Yes,下一個也按Yes,繼續(xù);

        如果是初學(xué)者,最后一個選項可以不選, Examples 可以選擇自己熟悉的語言,其他選項建議都選上;

        選擇 的安裝目錄,如果不是C:盤,那么從Browse 選項中指定。如e:alterakits ios2;
        接下來是選擇一個程序組,一般情況按 Next 就可以了;
        開始安裝,大約需要幾分鐘時間拷貝文件;

        點擊 Finish,彈出一個IE 格式的說明文檔,建議大家仔細(xì)看看Example Designs 選項,可以對NIOS II CPU 的配置和例程有更多的了解,對于以后的調(diào)試會很有幫助;

        這樣,開發(fā)軟件就安裝完畢了,趕快運行我們的第一個程序吧。

        二、 Hello LED 程序調(diào)試

        1. 首先,備份Example 目錄。因為我們要對目錄中的文件進行修改,所以還是保留一份更好一些,一旦改壞了,還可以回復(fù)。進入目錄 E:alterakits ios2(我的 安裝在E:盤了),備份example 目錄,命名為example_old。

        2. 進入 E:alterakits ios2examplesverilog iosII_cyclone_1c20,刪除low_cost 目錄,同時將我們提供的low_cost.rar 文件拷貝過來,同時加壓縮,解出來一個同名的low_cost 目錄。

        3. 啟動 4.1;選擇File-》Open Project,或者Cntl+J,打開low cost 項目。

        打開工程后,可以看到一個命名為 low_cost_1c20 的系統(tǒng)。通過View 菜單的最后一個選項可以選擇是否顯示信息。

        選擇合適的芯片型號(EFA-CY1C6 為EP1C6Q240C8,EFA-CY1C6為EP1C12Q240C8):
        A.選擇菜單的 Assignments 菜單,然后選擇第一項:Device。

        B.

        在Available device 中選擇板上芯片的型號

        出現(xiàn)以上對話框,一定要選擇否,否則就會丟失掉。

        本文引用地址:http://www.104case.com/article/201706/349056.htm

        C.設(shè)置其他無用管腳。

        首先選擇Device Pin Options,看到以下畫面。

        打開Unused Pins 標(biāo)簽,

        選擇第一項,所有無用的管腳置為輸入狀態(tài),置為三態(tài)。

        經(jīng)過以上處理,就可以編譯和下載程序了。

        編譯項目

        從 Processing 菜單選Start compilation,或者Cntl+L,開始編譯。出現(xiàn)警告信息可以不管,等待編譯結(jié)束。

        配置 FPGA
        從Tools 菜單選擇Programmer,選擇JTAG 模式和對應(yīng)的sof 文件,點擊Start,
        開始下載,如果成功,那么開始進入軟件調(diào)試環(huán)境。

        啟動 NIOS II IDE 環(huán)境
        關(guān)閉 Programmer,打開頂層文件。快捷方法就是點圖標(biāo)

        雙擊 low_cost_1C20 系統(tǒng)模塊,進入SOPC Builder。

        選擇 Run Nios II IDE,進入IDE 開發(fā)環(huán)境。

        建立軟件工程文件

        選擇 File-》New -》Project 選項。

        選擇 C/C++ Application, 點擊Next。

        從模板中選擇 Hello LED,其他設(shè)置按默認(rèn)設(shè)置,點擊Finish。

        編譯工程文件

        選中 hello_led_0,按右鍵,選擇 Build Project,

        結(jié)束后,右下方的控制臺會提示編譯結(jié)束。


        運行程序

        從菜單中選擇 Run-》Run…,彈出對話框

        點擊 New,會自動生成一個系統(tǒng)配置。

        點擊 Apply,然后點擊Run。

        開始下載程序到 SDRAM,并運行起來。

        觀察板上的 4 個LED,大概沒隔4 秒,LED 會輪流閃爍一次。
        恭喜您,第一個 C 程序在NIOSII CPU 上已經(jīng)運行起來了。
        如果感興趣,可以修改源文件,然后在編譯,運行,看看 LED 有什么變化
        以下是一個讓 LED 閃爍更頻繁的例子:
        int main (void) __attribute__ ((weak, alias (alt_main)));
        /*
        * Use alt_main as entry point for this free-standing application
        */
        int alt_main (void)
        {
        alt_u8 led = 0x2;
        alt_u8 dir = 0;
        volatile int i;
        /*
        * Infinitly shift a variable with one bit set back and forth, and write
        * it to the LED PIO. Software loop provides delay element.
        */
        while (1)
        {
        if (led 0x09) // 我們板上只有4個LED,所以當(dāng)led的Bit3和Bit0有效的時候,
        //就改變方向;
        {
        dir = (dir ^ 0x1);
        }
        if (dir)
        {
        led = led >> 1;
        }
        else
        {
        led = led 1;
        }
        IOWR_ALTERA_AVALON_PIO_DATA(LED_PIO_BASE, led);
        /*
        * The delay element in this design has been written as a while loop
        * to avoid confusing the software debugger. A tight, one line software
        * delay loop such as:
        * for(i=0; i200000; i++);
        * can cause problems when it is stepped through using a software
        debugger.
        * The while loop below produces the same behavior as the for loop shown
        * above, but without causing potential debugger problems.
        */
        i = 0;
        while (i100000) //加快閃爍間隔
        i++;
        }
        return 0;
        }



        關(guān)鍵詞: NiosII QuartusII 管腳分配

        評論


        相關(guān)推薦

        技術(shù)專區(qū)

        關(guān)閉
        主站蜘蛛池模板: 大城县| 三河市| 平遥县| 青海省| 兴义市| 枝江市| 固安县| 张家界市| 乌鲁木齐县| 台州市| 南充市| 河间市| 勃利县| 义马市| 江津市| 平乐县| 宁南县| 志丹县| 修文县| 罗平县| 行唐县| 咸丰县| 米泉市| 华坪县| 乐业县| 开江县| 句容市| 河西区| 泸州市| 仪征市| 深泽县| 涪陵区| 额济纳旗| 定日县| 达拉特旗| 会同县| 新晃| 鹰潭市| 红河县| 景谷| 上饶市|