NIOS實例教程課件_第1頁
NIOS實例教程課件_第2頁
NIOS實例教程課件_第3頁
NIOS實例教程課件_第4頁
NIOS實例教程課件_第5頁
已閱讀5頁,還剩33頁未讀 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認(rèn)領(lǐng)

文檔簡介

1NiosⅡ設(shè)計實例教程一、NiosⅡ集成開發(fā)環(huán)境(IDE)介紹二、NiosⅡ嵌入式處理器系統(tǒng)設(shè)計過程三、設(shè)計實例—NIOS驅(qū)動字符液晶內(nèi)容概要2NiosⅡ集成開發(fā)環(huán)境(IDE)介紹NiosⅡIDE是NiosⅡ系列嵌入式處理器的基本軟件開發(fā)工具,包括程序的編輯、編譯、調(diào)試和下載運行。NiosⅡIDE使用方法和VisualC++類似。NiosⅡIDE為軟件開發(fā)提供了4個功能:工程管理器;編輯器和編譯器;調(diào)試器;閃存編程器。3NiosⅡ集成開發(fā)環(huán)境(IDE)介紹(1)新工程向?qū)ё詣咏/C++應(yīng)用程序工程和系統(tǒng)庫工程。(2)軟件工程模板提供軟件代碼實例,幫助用戶盡快推出可運行的系統(tǒng)(3)軟件組件(系統(tǒng)軟件)NiosⅡ運行庫(或稱為硬件抽象層HAL);輕量級IPTCP/IP庫;μC/OSⅡ?qū)崟r操作系統(tǒng)(RTOS);Altera壓縮文件系統(tǒng)。1.工程管理器5NiosⅡ集成開發(fā)環(huán)境(IDE)介紹(1)基本調(diào)試功能運行控制;調(diào)用堆棧查看;軟件斷點;反匯編代碼查看;調(diào)試信息查看;指令集仿真器。(2)高級調(diào)試功能硬件斷點調(diào)試ROM或閃存中的代碼;數(shù)據(jù)觸發(fā);指令跟蹤。3.調(diào)試器(3)調(diào)試信息查看使用戶可以訪問本地變量、寄存器、存儲器、斷點以及表達(dá)式賦值函數(shù)。(4)連接多種目標(biāo)FPGA開發(fā)板(通過JTAG);指令集仿真器;硬件邏輯仿真器。6NiosⅡ集成開發(fā)環(huán)境(IDE)介紹4.閃存編程器閃存可用來存儲FPGA配置數(shù)據(jù)和/或NiosⅡ編程數(shù)據(jù)。NiosⅡIDE閃存編程器可對連接到FPGA的兼容通用閃存接口(CFI)的閃存器件、或Altera串行配置器件進行編程。內(nèi)容類型說明系統(tǒng)固定軟件用于NiosⅡ處理器復(fù)位時從閃存中導(dǎo)入啟動程序FPGA配置數(shù)據(jù)使用配置控制器,F(xiàn)PGA能夠在上電復(fù)位時從閃存獲取配置數(shù)據(jù)任意二進制數(shù)據(jù)開發(fā)人員可以將任何二進制數(shù)據(jù)存儲到閃存內(nèi),如圖形、音頻等表7-3編程到閃存中的通用內(nèi)容類型7NiosⅡ嵌入式處理器系統(tǒng)設(shè)計過程1.硬件設(shè)計過程(1)創(chuàng)建一個QuqrtusⅡ工程(2)創(chuàng)建NiosⅡ系統(tǒng)模塊啟動SOPCBuilder添加CPU和外圍器件指定基地址系統(tǒng)設(shè)置生成系統(tǒng)模塊(3)將NiosⅡ系統(tǒng)模塊符號添加到BDF文件中(4)編譯QuqrtusⅡ工程(5)配置FPGA9設(shè)計實例—NIOS驅(qū)動字符液晶一、設(shè)計要求與軟硬件規(guī)劃二、硬件部分設(shè)計三、軟件部分設(shè)計內(nèi)容概要10設(shè)計實例—NIOS驅(qū)動字符液晶一、設(shè)計要求與軟硬件規(guī)劃本節(jié)介紹NIOS驅(qū)動字符液晶的軟、硬件方案設(shè)計以及具體的軟件實現(xiàn)。

1.系統(tǒng)功能在NIOS系統(tǒng)上控制LCD顯示任意字符;

2.硬件系統(tǒng)組成規(guī)劃本系統(tǒng)需使用的外圍器件包括:

1)LCD:電子鐘顯示屏幕;2)SRAM存儲器:程序運行時將其導(dǎo)入SRAM;

3)EPCSSerialFlashController。11設(shè)計實例—NIOS驅(qū)動字符液晶2.硬件系統(tǒng)組成規(guī)劃(續(xù))在SOPCBuilder中建立系統(tǒng)要添加的模塊包括:

1)NiosⅡ32bitsCPU

2)按鍵PIO;3)LCDDisplay;

4)外部RAM接口;5)重新配置請求PIO;

6)JTAGUARTInterface;

7)EPCSSerialFlashController。13設(shè)計實例—NIOS驅(qū)動字符液晶端口定義表(續(xù))序號名稱輸入/輸出描述10LCD_E_from_the_lcd_displayOutLCD使能信號11LCD_RW_from_the_lcd_displayOutLCD讀寫信號12LCD_RS_from_the_lcd_displayOutLCD端口尋址信號13LCD_data_to_and_from_the_lcd_display[7..0]InoutLCD數(shù)據(jù)14設(shè)計實例—NIOS驅(qū)動字符液晶二、硬件部分設(shè)計1)創(chuàng)建一個QuartusⅡ工程(1)啟動QuartusⅡ(2)創(chuàng)建工程quartus_nios2_project ①建立一個工程,取名為quartus_nios2_project.qpf,選擇元件為Cyclone庫的EP2C8Q208; ②新建設(shè)計文件quartus_nios2_project.bdf

最簡單的方法是沿用NiosⅡIDE已給示例的硬件設(shè)計!15打開已有的設(shè)計sram_11.bdf設(shè)計實例—NIOS驅(qū)動字符液晶17需從SOPCBuilder的元件池中選擇以下元件加入到當(dāng)前系統(tǒng)中:NiosⅡ32bitCPU、JTAGUART接口、、LCDDisplay、外部RAM接口。

①添加NiosⅡ32bitCPU在模塊池的AvalonModule下選擇NiosⅡProcessor-AlteraCorporation;點擊Add,出現(xiàn)設(shè)置向?qū)ВJ(rèn)名為cpu_0); 在NiosⅡCore頁中選擇NiosⅡ/S,在Caches&TightlycoupledMemoris頁中選擇InstuctionsCaches為4Kbytes,在JTAGDebugModule頁中選擇Level1;點擊Finish返回主窗口,將cpu_0重命名為cpu。(2)添加CPU和外圍器件設(shè)計實例—NIOS驅(qū)動字符液晶181添加NiosⅡ32bitCPU設(shè)計實例—NIOS驅(qū)動字符液晶19

在模塊池中選擇Communication->JTAGUART,點擊Add,會出現(xiàn)JTAGUART-jtaguart_0的設(shè)置向?qū)В?/p>

保持系統(tǒng)默認(rèn)的選項,點擊Finish,返回主窗口;將jtaguart_0重命名為jtag_uart。

2添加JTAGUARTInterface設(shè)計實例—NIOS驅(qū)動字符液晶21

根據(jù)開發(fā)板類型在元件池中選擇相應(yīng)的SRAM,在本例中選擇UNVERSITY-MEMORRY-SRAM/SSRAMController,點擊Add,會出現(xiàn)SRAM設(shè)置向?qū)В?添加外部RAM接口在Configuration欄中,確定存儲器為DE1;其余保持系統(tǒng)默認(rèn)的選項,點擊Finish,返回主窗口; 設(shè)計實例—NIOS驅(qū)動字符液晶22設(shè)計實例—NIOS驅(qū)動字符液晶

根據(jù)開發(fā)板類型在元件池中選擇相應(yīng)的LCD,在本例中選擇Character,點擊Add,會出現(xiàn)下面頁面;5LCD接口其余保持系統(tǒng)默認(rèn)的選項,點擊Finish,返回主窗口; 23設(shè)計實例—NIOS驅(qū)動字符液晶最終的NiosⅡ系統(tǒng)模塊配置25設(shè)計實例—NIOS驅(qū)動字符液晶(5)生成NiosⅡ系統(tǒng)模塊①選擇SystemGerneration標(biāo)簽頁;②在SystemGerneration中選中HDL選項;如果安裝了ModelSim軟件并需要仿真此設(shè)計,可以選擇Simulation選項;③點擊Generate,則生成系統(tǒng)模塊,成功則顯示“SUCCESS:SYSTEMgenerationwassuccessful”;④

點擊Exit退出SOPCBuilder。26設(shè)計實例—NIOS驅(qū)動字符液晶3)將NiosⅡ系統(tǒng)模塊的符號添加到BDF文件中

在生成過程中,SOPCBuilder會生成NiosⅡ系統(tǒng)模塊的符號(Symbol),可以將該符號像添加其它QuartusⅡ符號一樣添加到當(dāng)前項目的BDF文件quartus_nios2_project.bdf中。(1)雙擊BDF文件空白處,出現(xiàn)Symbol對話框,選擇Project->first_nios2_system;27設(shè)計實例—NIOS驅(qū)動字符液晶(2)點擊OK按鈕,將其添加到BDF文件中;(3)將first_nio2_system模塊與輸入輸出引腳相連,指定目標(biāo)器件,并進行引腳鎖定,完成系統(tǒng)的硬件設(shè)計;(4)保存BDF文件。29設(shè)計實例—NIOS驅(qū)動字符液晶三、軟件部分設(shè)計1.創(chuàng)建一個NiosⅡIDE工程(1)啟動NiosⅡIDE

5.0既可以在“開始>所有程序>Altera”中啟動,也可以直接在SOPCBuilder

的SystemGeneration標(biāo)簽頁中單擊“RunNiosⅡIDE”按鈕來啟動。則彈出如下對話框,提示用戶選擇一個工作空間來存儲所有的工程,選擇系統(tǒng)默認(rèn)的目錄即可。30設(shè)計實例—NIOS驅(qū)動字符液晶(2)建立新的軟件工程lcdcontroller

①執(zhí)行File->New->C/C++application命令;

②在彈出的NewProject對話框中,Name欄填入新建軟件工程名lcdcontroller,SOPCBuilderSystem欄選擇剛才修改的NiosⅡ系統(tǒng)模塊cpu_0,CPU項選擇cpu,左側(cè)的SelectProjectTemplete域中,選擇BlankProject,點擊next;

③在彈出的對話框中選擇creat

anewsystemnamed…單選鈕,點擊Finish,則在QuartusⅡ的工作目錄elec_timer_std下自動生成software文件夾,新創(chuàng)建的工程elec_timer_std會出現(xiàn)在C/C++工程瀏覽器中,同時會自動創(chuàng)建一個系統(tǒng)庫工程<軟件工程名>_syslib。31設(shè)計實例—NIOS驅(qū)動字符液晶新建C/C++工程軟件工程名用戶定制的NiosⅡ系統(tǒng)模塊32設(shè)計實例—NIOS驅(qū)動字符液晶創(chuàng)建軟件工程后的NiosⅡIDE工作界面軟件工程系統(tǒng)庫工程33設(shè)計實例—NIOS驅(qū)動字符液晶(1)創(chuàng)建頭文件在NiosⅡIDE左側(cè)的C/C++工程瀏覽器中,選擇lcdcontroller,執(zhí)行“File>new>file”菜單命令,或點擊鼠標(biāo)右建,選擇new>headfile,在彈出的對話框中,鍵入basic_io.h。(2)創(chuàng)建源文件在C/C++工程瀏覽器中,選擇lcdcontroller

,點擊鼠標(biāo)右建,選擇new>file,在彈出的對話框中,鍵入test.c。

然后設(shè)計源程序……,保存。2.建立源文件time.c和頭文件time.h34設(shè)計實例—NIOS驅(qū)動字符液晶在左側(cè)的C/C++工程瀏覽器中,選擇elec_timer_std,點擊鼠標(biāo)右鍵,在彈出菜單中選擇BuildProject;或執(zhí)行“Project>BuildAll”菜單命令。編譯完成后會在Task瀏覽器中顯示警告和錯誤信息。3.編譯工程

如果編譯出現(xiàn)錯誤,則根據(jù)提示信息改正程序錯誤或工程設(shè)置,重新編譯,直到無任何錯誤為止。35設(shè)計實例—NIOS驅(qū)動字符液晶NiosⅡIDE提供三種運行平臺,分別為NiosⅡHardware、NiosⅡInstructionSetSimulator和NiosⅡModelSim;這里選擇NiosⅡHardware作為平臺。步驟:執(zhí)行Run->Run命令,彈出Run對話框;在左邊的Configration欄雙擊NiosⅡHardware

,出現(xiàn)運行設(shè)置對話框,在Main標(biāo)簽頁中選擇工程名為elec_timer_std,在TargetConnection標(biāo)簽頁中確認(rèn)JTAGc

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論