




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、嵌入式系統軟件開發環境嵌入式系統軟件開發環境 - Linux Agendan嵌入式軟件開發環境概述nGCCnGDB、JTAGnA Simple Example of GDBnMAKE嵌入式軟件開發模型n嵌入式系統的一個特點在于其開發的特殊性與嵌入式系統的一個特點在于其開發的特殊性與困難性。困難性。 n 開發機器開發機器 != != 執行機器執行機器n 開發環境開發環境 != != 執行環境執行環境n專門的開發環境與開發工具專門的開發環境與開發工具n - VxWorks - VxWorks系統配套的系統配套的TornadoTornado集成開發工具集成開發工具n - Linux - Linux系
2、統配套的系統配套的gcc,gdbgcc,gdb等開發工具等開發工具嵌入式軟件開發環境目的板與主機之間的銜接n串口n向目的板發送命令、打印目的板信息n通訊速率慢、不適宜大數據量傳輸nwindows附件“超級終端nLinux下,Minicomn以太網接口nUSB接口nJTAG接口n一種嵌入式調試技術嵌入式軟件開發環境q宿主機q開發機器編輯器、編譯器、調試器、.擔任程序的編譯和部分調試任務。q目的機q程序運轉的機器,擔任程序的運轉和部分調試任務。q交叉編譯是指宿主機和目的機是不同的系統Agendan嵌入式軟件開發環境概述nGCCnGDB、JTAGnA Simple Example of GDBnMA
3、KEGCCnLinux下的編譯器 GNU工程的C編譯器n四個步驟n - 預處置 preprocessingn - 編譯 compilationn - 匯編 assemblyn - 銜接 linking在預處置過程中,對源代碼文件中的文在預處置過程中,對源代碼文件中的文件包含件包含(include)、預編譯語句、預編譯語句(如宏定義如宏定義define等等)進展分析。帶有進展分析。帶有.h之類頭文件,之類頭文件,該階段會生成一個中間文件該階段會生成一個中間文件*.i。編譯后生成匯編言語文件編譯后生成匯編言語文件*.s匯編.S或或.s為后綴的匯編言語源代碼文件匯編為后綴的匯編言語源代碼文件匯編之后
4、都生成以之后都生成以.o為后綴的目的文件。為后綴的目的文件。一切的目的文件被安排在可執行程序中一切的目的文件被安排在可執行程序中的恰當的位置,同時,該程序所調用到的恰當的位置,同時,該程序所調用到的庫函數也從各自所在的函數庫中連到的庫函數也從各自所在的函數庫中連到適宜的地方。聚集成一個可執行的二進適宜的地方。聚集成一個可執行的二進制代碼文件。制代碼文件。 GCCnGCC的組件名稱功能描述cppC預處理器g+C+編譯器gccC編譯器gccbug創建bug報告的shell腳本gcov覆蓋測試工具,分析如何最好的優化程序libgccgcc的運行庫libstdc+標準C+庫,包含許多常用的函數libs
5、upc+提供支持C+語音的庫函數gcc編譯器ngcc的根本用法n在運用gcc編譯器的時候,通常后面跟一些選項和文件名。ngcc命令的根本用法如下:ngcc options filenames Gcc選項n 其中,options就是參數選項,filename是相關的文件稱號。常用的選項有:nc :只編譯生成目的文件,不鏈接成可執行文件。nE: 只對程序進展預處置。ng: 生成調試信息,GNU調試器可利用該信息。nl library: 用來指定所運用的庫文件。ni directory: 為include文件的搜索指定目錄。no filename: 生成指定的文件名的可執行文件。n gcc opti
6、ons filenames Agendan嵌入式軟件開發環境概述nGCCnGDB、JTAGnA Simple Example of GDBnMAKE交叉調試n嵌入式軟件經過交叉編譯arm-linux-gcc、交叉鏈接arm-linux-ld,進入調試階段n普通調試:調試器和被調程序任務在同一臺計算機上,調試器就是一個單獨運轉的進程程序n交叉調試:被調試程序運轉在具有嵌入式操作系統的目的機上,調試器運轉在具有通用操作系統的主機上。n調試器和被調程序如何通訊?串口、網口FTP、TFTP、NFS、JTAG接口,調試器經過這些接口,來控制被調程序的運轉、形狀等交叉調試的分類n嵌入式系統交叉調式主要分類
7、兩類:軟件調試和硬件調試,具有以下典型特點:n調試器和被調程序運轉在不同機器上n調試器經過某種通訊方式串口、并口、網絡、JTAG控制被調程序n目的機上普通會具有某種方式的調試代理。調試代理擔任與調試器共同配合完成對目的機上程序的調試。調試代理可以是支持某些調試功能的硬件設備POWERICE,或者是某些專門的軟件gdbserver軟件調試:GDBnLinux下軟件調試工具n遠端調試n - 經過串口或網口調試目的設備n - target命令:指定調試目的和建立銜接的GDB命令交叉調試-軟件方式n典型的是GDB交叉調試器,分為gdbserver安裝在目的板和gdbclient安裝在主機目的機目的機/
8、開發板開發板宿主機宿主機/主機主機運用程序運用程序嵌入式嵌入式OS內核內核如:如:uClinuxGdbServer目的機硬件平臺目的機硬件平臺GdbClientLinux環境環境主機硬件平臺主機硬件平臺串口串口EthernetGdb調試任務流程n1.建立調試器(本地gdb)與目的操作系統的通訊銜接。有串口、網卡、并口等方式n2.目的機上開啟gdbserver進程,監聽對應端口n3.主機上運轉gdb調試器, gdb自動尋覓目的機上的通訊進程。即gdbserver所在進程n4.用戶在宿主機上運轉gdb,下達調試命令,調試命令經過主機與目的機之間的通訊端口傳送到目的機的gdbserver,經過gdb
9、server對目的機上的程序發出控制命令。n5.gdbserver把運用程序的調試信息傳送到主機的gdb,并把調試信息顯示出來。gdb調試的局限n宿主機上的gdbclient和目的機上的gdbserver都需求有操作系統的支持。因此n1.運用gdb,只能調試有操作系統支持的運用程序n2.不能用來調試操作系統,也不能用來調試引導操作系統啟動的啟動代碼bootloader。GDBgdbhelp targetGDBGDBn常用命令Agendan嵌入式軟件開發環境概述nGCCnGDB、JTAGnA Simple Example of GDBnMAKEA Simple Example Hello.cA
10、Simple Example - Compilationg:生成調試信息,生成調試信息,GNU調試器可利用該信息。調試器可利用該信息。o filename: 生成指定的文件名的可執行文件。生成指定的文件名的可執行文件。A Simple Example - Debugginggdb hello.exebreak mainrundisplay inextcontinueq交叉調試-硬件方式n硬件調試方式相對軟件調試方式,具有更加強大的調試功能,不僅能調試任務在操作系統之上的運用程序,還可以調試操作系統和引導操作系統啟動的引導程序。n常見的硬件調試方式有4種n1.ROM監視器:ROM Monitor
11、n2.ROM仿真器:ROM Emulatorn3.電路內仿真器(ICE):In-Circuit Emulatorn4.電路內調試器(ICD): In-Circuit DebuggerICD調試方式n根本思緒:讓CPU直接在內部實現調試功能,并經過在開發板上引出的調試端口發送調試命令和接受調試信息。n運用在ARM處置器上的JTAG端口技術。n1985年,JTAG為檢測PCB和IC的一個規范n1990年,被修正為IEEE1149.1規范。用于硬件調試技術。JTAG調試方式程序程序JTAG仿真器仿真器調試器調試器目的機目的機主機主機JTAG接口接口并口并口JTAG實物圖-1JTAG實物圖-2JTAG
12、調試方式實物圖Agendan嵌入式軟件開發環境概述nGCCnGDB、JTAGnA Simple Example of GDBnMAKEMakenThe make utility automatically determines which pieces of a large program need to be recompiled, and issues commands to recompile them.n nMake是一個自動化的工具。n根據依賴關系自動決議工程的那些部分需求重新編譯。n根本原理:假設某個源程序文件被修正,那么依賴這個源程序文件的一切目的文件,都需求重新編譯。依賴關系MakefilenMakefile文件控制make程序的執行n一個工程擁有一個或多個makefile文件n每個makefile文件由多條rules構成n每條rule描畫了一個依賴關系,并有一系列的行為A example of Makefile#表Makefile文件中的注釋。CROSS_COMPILE ?= /usr/local/arm-linux/bin/arm-linux-gcc 指定編譯所運用的編譯器指定編譯所運用的編譯器c :只編譯生成目的文件,只編譯生成目的文件,不鏈接成可執行文件。不鏈接成可執
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 小學信息技術第1課 建立班級課程表教案設計
- 透析患者心衰的護理查房
- 建筑工程質量控制教案
- 懷孕教學工作流程
- 浙教版信息技術八年級下 第六課 制作逐幀動畫作品 教學設計
- 四川省成都市高中生物 第七章 現代生物進化理論 7.2 現代生物進化理論的主要內容(2)教學設計 新人教版必修2
- 光伏系統培訓
- 農村五保供養中心管理合同協議書
- 前列腺增生術后護理診斷
- 2025年度股權投資分配合同書
- 2024年時事政治熱點題庫200道含完整答案(必刷)
- MOOC 宇宙簡史-南京大學 中國大學慕課答案
- 少先隊輔導員技能大賽培訓
- 2024年高等教育經濟類自考-06270技術經濟學筆試參考題庫含答案
- 統編語文六年級下冊期中測試卷(附答題卡和答案)
- 屈光性白內障手術發展
- 基于物聯網的智能衣柜
- 用認知繪畫(想象空間)課件-2023-2024學年高中美術人教版(2019)選擇性必修1《繪畫》
- 醫院政工查房
- 2022年4月自考04851產品設計程序與方法試題及答案含解析
- GB/T 7911-2024熱固性樹脂浸漬紙高壓裝飾層積板(HPL)
評論
0/150
提交評論