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

下載本文檔

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

文檔簡(jiǎn)介

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

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

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

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

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

1)NiosⅡ32bitsCPU

2)按鍵PIO;3)LCDDisplay;

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

6)JTAGUARTInterface;

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

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

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

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

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

2添加JTAGUARTInterface設(shè)計(jì)實(shí)例—NIOS驅(qū)動(dòng)字符液晶21

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

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

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

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

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

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

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

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

③在彈出的對(duì)話框中選擇creat

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

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

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

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

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

溫馨提示

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

最新文檔

評(píng)論

0/150

提交評(píng)論