Linux基礎第十章 交叉編譯環(huán)境_第1頁
Linux基礎第十章 交叉編譯環(huán)境_第2頁
Linux基礎第十章 交叉編譯環(huán)境_第3頁
Linux基礎第十章 交叉編譯環(huán)境_第4頁
Linux基礎第十章 交叉編譯環(huán)境_第5頁
已閱讀5頁,還剩20頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、第九章第九章 內容回顧內容回顧嵌入式系統(tǒng)簡介嵌 入式系統(tǒng)服務器和客戶端Subversion的基本操作 交叉編譯環(huán)境交叉編譯環(huán)境第十章本章目標本章目標嵌入式系統(tǒng)的開發(fā)環(huán)境是什么;能夠熟練使用掌握交叉編譯環(huán)境建立的方法;如何進行交叉編譯。本章結構本章結構交叉開發(fā)簡介交叉開發(fā)簡介交叉編譯環(huán)境建立交叉編譯環(huán)境建立為什么需要交叉開發(fā)為什么需要交叉開發(fā)交叉編譯與鏈接交叉編譯與鏈接GNU交叉工具鏈交叉工具鏈交叉開發(fā)環(huán)境的組成要素交叉開發(fā)環(huán)境的組成要素開源開源GNU交叉開發(fā)環(huán)境交叉開發(fā)環(huán)境常用工具介紹常用工具介紹主要工具使用主要工具使用交叉調試交叉調試交叉工具鏈展開交叉工具鏈展開10.1.1 為什么需要交叉開

2、發(fā)為什么需要交叉開發(fā)臺式軟件從“源碼程序”到“機器碼文件”的過程:10.1.1 為什么需要交叉開發(fā)為什么需要交叉開發(fā)嵌入式軟件從“源碼程序”到“機器碼文件”的過程:10.1.1 為什么需要交叉開發(fā)為什么需要交叉開發(fā) 需要交叉開發(fā)環(huán)境(Cross Development Environment)的支持是嵌入式應用軟件開發(fā)時的一個顯著特點交叉開發(fā)環(huán)境是指編譯、鏈接和調試嵌入式應用軟件的環(huán)境它與運行嵌入式應用軟件的環(huán)境有所不同,通常采用宿主機目標機模式。10.1.1 為什么需要交叉開發(fā)為什么需要交叉開發(fā) 交叉開發(fā)環(huán)境10.1.2 交叉開發(fā)環(huán)境的組成要素交叉開發(fā)環(huán)境的組成要素宿主機宿主機 目標機目標機

3、 交叉工具交叉工具一個編譯器,它是編譯器工具鏈前端的一部分。一個 匯編器,它是編譯器工具鏈后端的一部分。 一個 鏈接器,它是編譯器工具鏈后端的另一部分。 用于處理可執(zhí)行程序和庫的一些基本工具,比如strings。10.1.3 交叉編譯與鏈接交叉編譯與鏈接 交叉編譯器和交叉鏈接器是能夠在宿主機上運行,并且能夠生成在目標機上直接運行的二進制代碼的編譯器和鏈接器例如在基于ARM體系結構的gcc交叉開發(fā)環(huán)境中arm-linux-gcc是交叉編譯器arm-linux-ld是交叉鏈接器。 10.1.4 交叉調試交叉調試交叉調試(Cross Debug)又常常被稱為遠程調試(Remote Debug),是一

4、種允許調試器以某種方式控制目標機上被調試進程的運行方式,并具有查看和修改目標機上內存單元、寄存器以及被調試進程中變量值等各種調試功能的調試方式。 10.1.4 交叉調試交叉調試嵌入式系統(tǒng)的特點:調試器和被調試進程運行在不同的機器上調試器通過某種通信方式與被調試進程建立聯(lián)系,如串口、并口、網絡、DBM、JTAG或者專用的通信方式。 在目標機上一般會具備某種形式的調試代理,它負責與調試器共同配合完成對目標機上運行著的進程的調試。目標機可能是某種形式的系統(tǒng)仿真器10.2 開源開源GNU交叉開發(fā)環(huán)境交叉開發(fā)環(huán)境 GNU目前已經推出的軟件主要由Emacs功能強大的編輯環(huán)境,GCC性能優(yōu)異的多平臺的C,C

5、+,F(xiàn)ortran編譯器和其他40多種軟件。其中GCC的成功為GNU帶來了前所未有的影響。GCC是一種可以在11種硬件平臺上編譯出可執(zhí)行程序的超級編譯器,而且其執(zhí)行效率更是驚人,與一般的編譯器相比平均效率要高20%-30%。 10.3 GNU交叉工具鏈交叉工具鏈方法一 分步編譯和安裝交叉編譯工具鏈所需要的庫和源代碼,最終生成交叉編譯工具鏈。方法二 通過Crosstool腳本工具來實現(xiàn)一次編譯生成交叉編譯工具鏈方法三 直接通過網上(.uk)下載已經制作好的交叉編譯工具鏈。構建交叉編譯工具鏈方法10.3.1 交叉工具鏈展開交叉工具鏈展開版本的arm gcc交叉編

6、譯工具,一般我們使用它編譯版本的內核源碼; 安裝 #tar xvfz arm-linux-gcc-2.95.3.tgz C /版本的arm gcc交叉編譯工具,一般我們使用它編譯版本的內核源碼; #tar xvfz arm-linux-gcc-3.4.1.tgz C /執(zhí)行命令, 將把arm-linux-gcc( 版本2.95.3 和3.4.1) 分別安裝到/usr/loca/arm/2.95.3 和/usr/loca/arm/3.4.1 目錄10.3.2 常用常用工具介紹工具介紹名稱歸屬作用arm-linux-asbinutils編譯ARM匯編程序arm-linux-arbinutils把多

7、個.o合并成一個.o或靜態(tài)庫(.a)arm-linuxran-libbinutils為庫文件建立索引,相當于arm-linux-ar-sarm-linux-ldbinutils連接器(Linker), 把多個.o或庫文件連接成一個可執(zhí)行文件arm-linux-objdumpbinutils查看目標文件(.o)和庫(.a)的信息arm-linux-objcopybinutils轉換可執(zhí)行文件的格式arm-linux-stripbinutils去掉elf可執(zhí)行文件的信息. 使可執(zhí)行文件變小arm-linux-readelfbinutils讀elf可執(zhí)行文件的信息arm-linux-gccgcc編譯

8、.c或.S開頭的C程序或匯編程序arm-linux-g+gcc編譯c+程序10.3.3 主要工具使用主要工具使用arm-linux-gccarm-linux-ararm-linux-ranlibarm-linux-objdumparm-linux-readelfarm-linux-striparm-linux-copydump本章總結本章總結交叉開發(fā)簡介交叉開發(fā)簡介交叉編譯環(huán)境建立交叉編譯環(huán)境建立為什么需要交叉開發(fā)為什么需要交叉開發(fā)交叉編譯與鏈接交叉編譯與鏈接GNU交叉工具鏈交叉工具鏈交叉開發(fā)環(huán)境的組成要素交叉開發(fā)環(huán)境的組成要素開源開源GNU交叉開發(fā)環(huán)境交叉開發(fā)環(huán)境常用工具介紹常用工具介紹主要工具使用主要工具使用交叉調試交叉調試交叉工具鏈展開交叉工具鏈展開交叉編譯環(huán)境中包括交叉編譯環(huán)境中包括宿主宿主, ,目標機的角色目標機的角色arm-linux-gcc是交叉編譯器 arm-linux-ld是交叉鏈接器。實驗實驗任務1:交叉開發(fā)環(huán)境的建立交叉開發(fā)環(huán)境的建立 任務2:交叉開發(fā)工具的使用交叉開發(fā)工具的使用 任務任務1注意事項提示1:注意交叉工具鏈建立在哪個目錄任務

溫馨提示

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

評論

0/150

提交評論