版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認(rèn)領(lǐng)
文檔簡介
1、嵌入式技術(shù)概述 NIOS 處理器系統(tǒng)的軟件設(shè)計流程和方法劉蘭軍9/24/2022嵌入式技術(shù)概述 NIOS 處理器系統(tǒng)的軟件設(shè)計流程NIOS II 處理器系統(tǒng)開發(fā)平臺NiosII EDS(Embedded Design Suite,嵌入式開發(fā)包)NiosII EDS: 統(tǒng)一的軟件開發(fā)平臺,適用于所 有NiosII處理器系統(tǒng) 自動生成NIOSII系統(tǒng)板支持包BSP, BSP包括硬件抽象層HAL、可選的 RTOS、設(shè)備驅(qū)動9/24/20222NIOS II 處理器系統(tǒng)開發(fā)平臺NiosII EDS(NIOS II 處理器系統(tǒng)開發(fā)平臺NiosII 處理器系統(tǒng)開發(fā)方法NiosII EDS提供兩種開發(fā)方法:
2、1)基于集成開發(fā)環(huán)境NiosII IDE完成系統(tǒng)軟件開發(fā)2)基于命令行和腳本環(huán)境進行系統(tǒng)軟件開發(fā),然 后將工程導(dǎo)入到NiosII IDE中進行調(diào)試9/24/20223NIOS II 處理器系統(tǒng)開發(fā)平臺NiosII 處理器系NIOS II 處理器系統(tǒng)開發(fā)平臺命令行開發(fā)環(huán)境集成開發(fā)環(huán)境9/24/20224NIOS II 處理器系統(tǒng)開發(fā)平臺9/24/20224NIOS II IDE 簡介Nios II IDE:基于開放式的、可擴展的Eclipse IDE以及Eclipse C/C+ 開發(fā)工具Nios II系列嵌入式處理器的基本軟件開發(fā)工具,為Nios II處理器系統(tǒng)軟件開發(fā)提供的主要功能:工程管理器
3、編輯器和編譯器調(diào)試器閃存編程器9/24/20225NIOS II IDE 簡介Nios II IDE:9/NIOS II IDE 簡介Nios II IDE工程管理器1)新建工程向?qū)ios II IDE集成了一個新建工程向?qū)?,用于自動建立C/C+應(yīng)用程序工程和系統(tǒng)庫工程9/24/20226NIOS II IDE 簡介Nios II IDE工NIOS II IDE 簡介Nios II IDE工程管理器2)軟件工程模板Nios II IDE以工程模板的形式提供了軟件代碼實例軟件模板軟件模板介紹9/24/20227NIOS II IDE 簡介Nios II IDE工NIOS II IDE 簡介Ni
4、os II IDE工程管理器3)軟件組件(系統(tǒng)軟件)Nios II IDE自動生成開發(fā)人員快速定制系統(tǒng)所需的軟件組件(系統(tǒng)軟件)自動生成的軟件組件放在系統(tǒng)庫中,包括:NiosII運行庫(硬件抽象層HAL)輕量級TCP/IP庫MicroC/OS-II實時操作系統(tǒng)(RTOS)Altrea壓縮文件系統(tǒng)9/24/20228NIOS II IDE 簡介Nios II IDE工NIOS II IDE 簡介Nios II IDE編輯器和編譯器1)文本編輯器NiosII IDE 文本編輯器是一個成熟的全功能源文件編輯器:工程文件管理語法高亮顯示C/C+代碼輔助/代碼協(xié)助完成全面的搜索工具自動糾錯內(nèi)置調(diào)試功能廣
5、泛的在線幫助主題和教程9/24/20229NIOS II IDE 簡介Nios II IDE編NIOS II IDE 簡介Nios II IDE編輯器和編譯器1)文本編輯器9/24/202210NIOS II IDE 簡介Nios II IDE編NIOS II IDE 簡介Nios II IDE編輯器和編譯器2)C/C+編譯器 Nios II IDE為GCC編譯器提供一個圖形化用戶界面,提供一個易用的按鈕式流程,同時允許開發(fā)人員設(shè)置高級編譯選項 Nios II IDE編譯環(huán)境自動地生成一個基于用戶特定系統(tǒng)配置(SOPC Builder生成的PTF文件)的makefile,Nios II IDE
6、中編譯/鏈接設(shè)置的任何改變都會自動映射到該makefile中,設(shè)置包括生成存儲器初始化文件(MIF)的選項、閃存內(nèi)容、仿真器初始化文件(DAT/HEX)、Profile概況文件的相關(guān)選項。9/24/202211NIOS II IDE 簡介Nios II IDE編NIOS II IDE 簡介Nios II IDE編輯器和編譯器3)調(diào)試器 Nios II IDE包含一個基于GNU調(diào)試器的軟件調(diào)試器GDB:基本調(diào)試功能:運行控制、調(diào)用堆棧查看、軟件斷點、反匯編代 碼查看、調(diào)試信息查看、指令集仿真器高級調(diào)試功能:硬件斷點調(diào)試ROM或閃存中的代碼、數(shù)據(jù)觸 發(fā)、指令跟蹤調(diào)試信息查看功能:用戶可以訪問本地變
7、量、寄存器、存儲器、斷點以及表達式賦值函數(shù)等9/24/202212NIOS II IDE 簡介Nios II IDE編NIOS II IDE 簡介Nios II IDE編輯器和編譯器3)調(diào)試器 NiosII IDE 調(diào)試器連接的目標(biāo)包括目標(biāo)說明硬件(通過JTAG)連接至Altera的FPGA開發(fā)板指令集仿真器Nios II指令集架構(gòu)的軟件例化;用于硬件平臺未搭建好時的系統(tǒng)開發(fā)。硬件邏輯仿真器連接至ModelSim HDL仿真器;用于驗證用戶創(chuàng)建的外設(shè)。9/24/202213NIOS II IDE 簡介Nios II IDE編NIOS II IDE 簡介Nios II IDE編輯器和編譯器4)閃
8、存編程器 Nios II處理器系統(tǒng)的閃存用于存儲FPGA配置數(shù)據(jù)、Nios II編程數(shù)據(jù)、系統(tǒng)參數(shù)數(shù)據(jù)等。Nios II IDE提供的閃存編程器可燒寫的閃存包括: 1)任何連接到FPGA的兼容通用閃存接口(CFI)閃存器件2)任何Altera串行配置器件9/24/202214NIOS II IDE 簡介Nios II IDE編NIOS II IDE 簡介Nios II IDE編輯器和編譯器4)閃存編程器 利用閃存編程器可編程到閃存的通用內(nèi)容類型內(nèi)容類型說明系統(tǒng)固定軟件燒寫到閃存中的軟件,用于Nios II處理器復(fù)位時從閃存中導(dǎo)入啟動程序FPGA配置如果使用一個配置控制器,F(xiàn)PGA能夠在上電復(fù)位
9、時從閃存獲取配置數(shù)據(jù)。任意二進制數(shù)據(jù)開發(fā)人員想存儲到閃存內(nèi)的任何二進制數(shù)據(jù),例如圖形、音頻等。9/24/202215NIOS II IDE 簡介Nios II IDE編基于NIOS II IDE的NIOSII軟件開發(fā)流程Nios II 程序的構(gòu)成 項目說明應(yīng)用工程 Nios II C/C+ 應(yīng)用工程包括生成一個可執(zhí)行的.elf文件的源代碼的集合。典型的應(yīng)用的特征是一個源文件包含main ()函數(shù)。 應(yīng)用工程包括Libraries和BSP中被調(diào)用的函數(shù)的源代碼。庫工程 庫工程是一個庫文件(.a)中的源代碼的集合。庫文件中通常包含可 重用的、通用的函數(shù),這些函數(shù)可被多個應(yīng)用工程共享。 庫工程沒有m
10、ain ()函數(shù)板支持包BSP工程 Nios II BSP工程是包含特定系統(tǒng)支持代碼的特殊的庫。BSP為 SOPC Builder系統(tǒng)的處理器提供定制的軟件運行環(huán)境。Nios II IDE和Nios II IDE 開發(fā)流程文檔中使用“system library” 來指代BSP。 BSP包括:硬件抽象層 (HAL)、Newlib C 標(biāo)準(zhǔn)庫、設(shè)備驅(qū)動、可選的軟件包、可選的實時操作系統(tǒng) (RTOS)。9/24/202216基于NIOS II IDE的NIOSII軟件開發(fā)流程Ni基于NIOS II IDE的NIOSII軟件開發(fā)流程Nios II 程序的構(gòu)成-BSP工程1)硬件抽象層 (HAL)HA
11、L提供一個非線程的、類似UNIX的C/C+ 運行環(huán)境;HAL可以提供通用的I/O設(shè)備,允許用戶采用newlib C 標(biāo)準(zhǔn)庫函數(shù)編程來訪問硬件,如printf ();使用HAL可以盡量避免通過直接訪問硬件的寄存器來控制外設(shè)和與外設(shè)通信。2)Newlib C標(biāo)準(zhǔn)庫Newlib是為了嵌入式系統(tǒng)的應(yīng)用,而對C標(biāo)準(zhǔn)庫進行精簡的開源實現(xiàn),包括一些常用的函數(shù),如printf()、malloc()和open()等。3)設(shè)備驅(qū)動每個設(shè)備驅(qū)動管理一個硬件設(shè)備。HAL為SOPC Builder系統(tǒng)中的每一個需要驅(qū)動程序的設(shè)備實例化一個驅(qū)動程序。一個設(shè)備驅(qū)動是和一個特定的SOPC Builder設(shè)備相關(guān)聯(lián)的;驅(qū)動程序
12、有一些設(shè)置可以影響驅(qū)動程序的編譯,這些設(shè)置包含在BSP的設(shè)置中。9/24/202217基于NIOS II IDE的NIOSII軟件開發(fā)流程Ni基于NIOS II IDE的NIOSII軟件開發(fā)流程Nios II 程序的構(gòu)成-BSP工程4)可選的軟件包軟件包是用戶可以選擇加入到BSP工程中,提供附加功能的源代碼。如Nios II 版本的Nich Stack TCP/IP協(xié)議棧。Nios II IDE和Nios II IDE設(shè)計流程文檔使用軟件組件來指代軟件包。軟件包和特定的硬件沒有關(guān)聯(lián); 軟件包有一些設(shè)置會影響其編譯,這些設(shè)置包含在BSP的設(shè)置中。5)可選的實時操作系統(tǒng)(RTOS) Nios II
13、 EDS包含了一個第三方的C/OS-II 實時操作系統(tǒng),用戶可以選擇加入到 BSP中。C/OS-II基于HAL,實現(xiàn)了一個簡單的調(diào)度程序。用戶可以修改設(shè) 置,這些設(shè)置包含在BSP設(shè)置中。9/24/202218基于NIOS II IDE的NIOSII軟件開發(fā)流程Ni基于NIOS II IDE的NIOSII軟件開發(fā)流程Nios II IDE軟件開發(fā)步驟開發(fā)人員:使用Nios II IDE圖形用戶界面創(chuàng)建、修改、編譯、運行和調(diào)試Nios II程序,對編譯進程和工程設(shè)置干預(yù)較少,而且不需要定制的腳本。NIOSII IDE:IDE創(chuàng)建和管理用戶的makefile。9/24/202219基于NIOS II
14、 IDE的NIOSII軟件開發(fā)流程Ni基于NIOS II IDE的NIOSII軟件開發(fā)流程Nios II IDE軟件開發(fā)步驟1)新建工程啟動Nios II IDE,出現(xiàn)Nios II C/C+的窗口9/24/202220基于NIOS II IDE的NIOSII軟件開發(fā)流程Ni基于NIOS II IDE的NIOSII軟件開發(fā)流程Nios II IDE軟件開發(fā)步驟1)新建工程工程命名目標(biāo)系統(tǒng),IDE據(jù)此創(chuàng)建系統(tǒng)庫NIOSII處理器選擇工程模板9/24/202221基于NIOS II IDE的NIOSII軟件開發(fā)流程Ni基于NIOS II IDE的NIOSII軟件開發(fā)流程Nios II IDE軟件開
15、發(fā)步驟1)新建工程選擇創(chuàng)建一個新系統(tǒng)庫還是利用已有的系統(tǒng)庫9/24/202222基于NIOS II IDE的NIOSII軟件開發(fā)流程Ni基于NIOS II IDE的NIOSII軟件開發(fā)流程Nios II IDE軟件開發(fā)步驟1)新建工程應(yīng)用工程:C/C+工程系統(tǒng)庫工程9/24/202223基于NIOS II IDE的NIOSII軟件開發(fā)流程Ni基于NIOS II IDE的NIOSII軟件開發(fā)流程Nios II IDE軟件開發(fā)步驟1)新建工程:建立C源文件,選中digi_clock工程,單擊右鍵,在彈出菜單選擇NewSource File,也可以選擇File菜單New Source File如果在
16、工程創(chuàng)建時選擇特定的工程模板,則只需要對模板文件進行修改9/24/202224基于NIOS II IDE的NIOSII軟件開發(fā)流程Ni基于NIOS II IDE的NIOSII軟件開發(fā)流程Nios II IDE軟件開發(fā)步驟1)新建工程:建立C源文件,選中digi_clock工程,單擊右鍵,在彈出菜單選擇NewSource File,也可以選擇File菜單New Source File一定要加上后綴名.C9/24/202225基于NIOS II IDE的NIOSII軟件開發(fā)流程Ni基于NIOS II IDE的NIOSII軟件開發(fā)流程Nios II IDE軟件開發(fā)步驟2)編譯工程和管理工程:右鍵單擊
17、digi_clock工程,在彈出菜單中選擇Build Project,或者選擇Project菜單Build Project。管理硬件的特定設(shè)置,比如通信設(shè)備、存儲器的分配等管理是在硬件上調(diào)試程序,還是在指令仿真器環(huán)境下調(diào)試管理工程和硬件以及其他工程的關(guān)聯(lián)管理程序是在硬件上運行,還是在指令仿真器環(huán)境下運行9/24/202226基于NIOS II IDE的NIOSII軟件開發(fā)流程Ni基于NIOS II IDE的NIOSII軟件開發(fā)流程Nios II IDE軟件開發(fā)步驟2)編譯工程和管理工程: Properties設(shè)置。主要設(shè)置C/C+ Build和C/C+ Indexer9/24/202227基于
18、NIOS II IDE的NIOSII軟件開發(fā)流程Ni基于NIOS II IDE的NIOSII軟件開發(fā)流程Nios II IDE軟件開發(fā)步驟2)編譯工程和管理工程: Properties設(shè)置。C/C+ Build:設(shè)置工程編譯針對調(diào)試模式還是發(fā)布模式設(shè)置編譯的優(yōu)化、調(diào)試等級9/24/202228基于NIOS II IDE的NIOSII軟件開發(fā)流程Ni基于NIOS II IDE的NIOSII軟件開發(fā)流程Nios II IDE軟件開發(fā)步驟2)編譯工程和管理工程: Properties設(shè)置。選擇可用的檢索器:不使用Indexer、Fast C/C+ Indexer、Full C/C+ Indexer,
19、借助于檢索器,可以方便地找到程序文件中的相關(guān)信息9/24/202229基于NIOS II IDE的NIOSII軟件開發(fā)流程Ni基于NIOS II IDE的NIOSII軟件開發(fā)流程Nios II IDE軟件開發(fā)步驟2)編譯工程和管理工程: System Library Properties設(shè)置。選擇是否使用實時操作系統(tǒng)(RTOS)選擇NiosII系統(tǒng)的標(biāo)準(zhǔn)輸出、錯誤、輸入設(shè)備,采用標(biāo)準(zhǔn)函數(shù)是控制I/O設(shè)備的最簡單方法選擇系統(tǒng)時鐘驅(qū)動所用的定時器,采用操作系統(tǒng)時,必須定義一個系統(tǒng)時鐘選擇時間戳驅(qū)動所用的定時器,與系統(tǒng)時鐘不能使用同一定時器指定能夠被字符設(shè)備或文件子系統(tǒng)打開訪問的最大文件數(shù),默認(rèn)為3
20、29/24/202230基于NIOS II IDE的NIOSII軟件開發(fā)流程Ni基于NIOS II IDE的NIOSII軟件開發(fā)流程Nios II IDE軟件開發(fā)步驟2)編譯工程和管理工程: System Library Properties設(shè)置。選中,系統(tǒng)庫中省略exit()選中,系統(tǒng)庫從main()返回時先清I/O緩沖區(qū),再調(diào)用exit()9/24/202231基于NIOS II IDE的NIOSII軟件開發(fā)流程Ni基于NIOS II IDE的NIOSII軟件開發(fā)流程Nios II IDE軟件開發(fā)步驟2)編譯工程和管理工程: System Library Properties設(shè)置。指定程序
21、運行的物理存儲器指定只讀數(shù)據(jù)駐留的物理存儲器指定可讀/寫數(shù)據(jù)駐留的物理存儲器指定堆駐留的物理存儲器,用于存儲全局變量指定棧駐留的物理存儲器,用于存儲局部變量選定該項,異常堆棧將駐留在一個單獨的物理存儲器中指定異常堆棧駐留的物理存儲器指定異常堆棧的最大存儲空間9/24/202232基于NIOS II IDE的NIOSII軟件開發(fā)流程Ni基于NIOS II IDE的NIOSII軟件開發(fā)流程Nios II IDE軟件開發(fā)步驟3)運行和調(diào)試程序: 運行和調(diào)試程序之前要把NIOS II系統(tǒng)硬件下載到FPGA中。 Nios II程序的調(diào)試環(huán)境:1)Nios II HardwareNios II硬件。2)N
22、ios II Instruction Set SimulatorNios II指令集仿真器。 Nios II程序的運行環(huán)境:1)Nios II HardwareNios II硬件。2)Nios II Instruction Set SimulatorNios II指令集仿真器。3)Nios II ModelSim在ModelSim軟件環(huán)境下運行。9/24/202233基于NIOS II IDE的NIOSII軟件開發(fā)流程Ni基于NIOS II IDE的NIOSII軟件開發(fā)流程Nios II IDE軟件開發(fā)步驟3)運行和調(diào)試程序: 運行和調(diào)試程序之前要把NIOS系統(tǒng)硬件下載到FPGA中。9/24/
23、202234基于NIOS II IDE的NIOSII軟件開發(fā)流程Ni基于NIOS II IDE的NIOSII軟件開發(fā)流程Nios II IDE軟件開發(fā)步驟3)運行和調(diào)試程序: 運行和調(diào)試程序之前要把NIOS系統(tǒng)硬件下載到FPGA中。9/24/202235基于NIOS II IDE的NIOSII軟件開發(fā)流程Ni基于NIOS II IDE的NIOSII軟件開發(fā)流程Nios II IDE軟件開發(fā)步驟3)運行和調(diào)試程序 運行和調(diào)試環(huán)境的設(shè)置:選擇Run菜單Debug/Run主要設(shè)置Target connection和Debugger9/24/202236基于NIOS II IDE的NIOSII軟件開發(fā)流程Ni基于NIOS II IDE的NIOSII軟件開發(fā)流程Nios II IDE軟件開發(fā)步驟3)運行和調(diào)試程序9/24/202237基于NIOS II IDE的NIOSII軟件開發(fā)流程Ni基于NIOS II IDE的NIOSII軟件開發(fā)流程Nios II IDE軟件開發(fā)步驟3)運行和調(diào)試程序?qū)⒄{(diào)試器和控制臺附加到硬件中的程序的后面9/24/202238基于NIOS II IDE的NIOSII軟件開發(fā)流程Ni基于NIOS II IDE的NIOSII軟件開發(fā)流程Nios
溫馨提示
- 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)容負責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年度外墻保溫項目質(zhì)量監(jiān)督與施工承包協(xié)議4篇
- 2025年度文化產(chǎn)業(yè)實習(xí)生勞動合同書(二零二五版)4篇
- 2025版離婚協(xié)議中關(guān)于房產(chǎn)抵押及貸款合同處理范本8篇
- 2024版遠洋貨運合同協(xié)議
- 2025版綠色環(huán)保社區(qū)共享租賃合同可下載4篇
- 2025版體育項目提成協(xié)議書(賽事贊助收入分成協(xié)議)3篇
- 2025年智慧倉儲與運輸管理系統(tǒng)合同3篇
- 長春師范高等專科學(xué)?!稊?shù)據(jù)結(jié)構(gòu)與算法》2023-2024學(xué)年第一學(xué)期期末試卷
- 2025年度海洋工程精密焊管采購合同范本3篇
- 電子設(shè)備的防雷防潮措施
- 2024生態(tài)環(huán)境相關(guān)法律法規(guī)考試試題
- 有砟軌道施工工藝課件
- 兩辦意見八硬措施煤礦安全生產(chǎn)條例宣貫學(xué)習(xí)課件
- 40篇短文搞定高中英語3500單詞
- 人教版高中數(shù)學(xué)必修二《第九章 統(tǒng)計》同步練習(xí)及答案解析
- 兒科護理安全警示教育課件
- 三年級下冊口算天天100題
- 國家中英文名稱及代碼縮寫(三位)
- 人員密集場所消防安全培訓(xùn)
- 液晶高壓芯片去保護方法
- 拜太歲科儀文檔
評論
0/150
提交評論