色婷婷AⅤ一区二区三区|亚洲精品第一国产综合亚AV|久久精品官方网视频|日本28视频香蕉

          新聞中心

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

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

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

          一、 軟件安裝

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

          點(diǎn)擊光驅(qū)圖標(biāo),會(huì)自動(dòng)運(yùn)行安裝程序

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

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

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

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

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

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

          1. 首先,備份Example 目錄。因?yàn)槲覀円獙?duì)目錄中的文件進(jìn)行修改,所以還是保留一份更好一些,一旦改壞了,還可以回復(fù)。進(jìn)入目錄 E:alterakits ios2(我的 安裝在E:盤了),備份example 目錄,命名為example_old。

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

          3. 啟動(dòng) 4.1;選擇File-》Open Project,或者Cntl+J,打開low cost 項(xiàng)目。

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

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

          B.

          在Available device 中選擇板上芯片的型號(hào)

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

          本文引用地址:http://cafeforensic.com/article/201706/349056.htm

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

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

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

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

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

          編譯項(xiàng)目

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

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

          啟動(dòng) NIOS II IDE 環(huán)境
          關(guān)閉 Programmer,打開頂層文件??旖莘椒ň褪屈c(diǎn)圖標(biāo)

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

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

          建立軟件工程文件

          選擇 File-》New -》Project 選項(xiàng)。

          選擇 C/C++ Application, 點(diǎn)擊Next。

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

          編譯工程文件

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

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


          運(yùn)行程序

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

          點(diǎn)擊 New,會(huì)自動(dòng)生成一個(gè)系統(tǒng)配置。

          點(diǎn)擊 Apply,然后點(diǎn)擊Run。

          開始下載程序到 SDRAM,并運(yùn)行起來。

          觀察板上的 4 個(gè)LED,大概沒隔4 秒,LED 會(huì)輪流閃爍一次。
          恭喜您,第一個(gè) C 程序在NIOSII CPU 上已經(jīng)運(yùn)行起來了。
          如果感興趣,可以修改源文件,然后在編譯,運(yùn)行,看看 LED 有什么變化
          以下是一個(gè)讓 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個(gè)LED,所以當(dāng)led的Bit3和Bit0有效的時(shí)候,
          //就改變方向;
          {
          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 管腳分配

          評(píng)論


          相關(guān)推薦

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

          關(guān)閉