搭建Linux交叉編譯開發(fā)環(huán)境.ppt

搭建Linux交叉編譯開發(fā)環(huán)境.ppt

ID:50965199

大小:931.50 KB

頁數(shù):40頁

時(shí)間:2020-03-16

搭建Linux交叉編譯開發(fā)環(huán)境.ppt_第1頁
搭建Linux交叉編譯開發(fā)環(huán)境.ppt_第2頁
搭建Linux交叉編譯開發(fā)環(huán)境.ppt_第3頁
搭建Linux交叉編譯開發(fā)環(huán)境.ppt_第4頁
搭建Linux交叉編譯開發(fā)環(huán)境.ppt_第5頁
資源描述:

《搭建Linux交叉編譯開發(fā)環(huán)境.ppt》由會員上傳分享,免費(fèi)在線閱讀,更多相關(guān)內(nèi)容在行業(yè)資料-天天文庫。

1、第二章搭建Linux交叉編譯開發(fā)環(huán)境Crosscompilingenvironment什么是交叉編譯呢?簡單地說,就是在一個(gè)平臺上生成另一個(gè)平臺上的可執(zhí)行代碼。這里需要注意的是所謂平臺,實(shí)際上包含兩個(gè)概念:體系結(jié)構(gòu)(Architecture)和操作系統(tǒng)(OperatingSystem)。同一個(gè)體系結(jié)構(gòu)可以運(yùn)行不同的操作系統(tǒng);同一個(gè)操作系統(tǒng)也可以在不同的體系結(jié)構(gòu)上運(yùn)行。2.1什么是交叉編譯2.2.1編譯工具鏈以下是一個(gè)基于RedHatlinux的交叉編譯環(huán)境的建立過程。整個(gè)編譯過程包括:下載源文件、補(bǔ)丁和建立編譯的目錄;建立內(nèi)核頭文件;建立二進(jìn)制工具(binutils

2、);建立初始編譯器(bootstrapgcc);建立c庫(glibc);建立全套編譯器(fullgcc)。2.2建立交叉編譯開發(fā)工具鏈需求:下載源文件、補(bǔ)丁和建立編譯的目錄a,下載:binutils-2.11.2.tar,diff-2.4.9-ac9-rmk1-np1,gcc-2.95.3.tar,glibc-2.2.4.tar,glibc-linuxthreads-2.2.4.tar,linux-2.4.9.tar,patch-2.4.9-ac9,patch-2.4.9-ac9-rmk1,patch-2.4.9-ac9-rmk2b,建目錄:將所有的源代碼放到/us

3、r/tmp/下;交叉編譯器將安裝在/opt/host/armv5/2.2建立交叉編譯開發(fā)工具鏈建立整個(gè)toolchain的步驟2.2建立交叉編譯開發(fā)工具鏈(1)Installingbinutils#cd/tmp#tarzxvfbinutils-2.11.2.tar.gz#cdbinutils-2.11.2#./configure--target=armv5-unknown-linux--prefix=/opt/host/armv5#make#makeinstall2.2建立交叉編譯開發(fā)工具鏈注意:這樣就在/opt/host/armv5/bin下產(chǎn)生了binutils

4、,它們的作用如下:addr2line——將要找的地址轉(zhuǎn)成文件和行號,它要使用debug信息。ar——產(chǎn)生、修改和解開一個(gè)存檔文件。as——gnu的匯編器。2.2建立交叉編譯開發(fā)工具鏈c++filt——C++和java中有一種重載函數(shù),所用的重載函數(shù)最后會被編譯轉(zhuǎn)化成匯編的標(biāo)號,c++filt就是實(shí)現(xiàn)這種反向的轉(zhuǎn)化,根據(jù)標(biāo)號得到函數(shù)名。gasp——gnu匯編器預(yù)編譯器。2.2建立交叉編譯開發(fā)工具鏈ld——gnu的連接器。nm——列出目標(biāo)文件的符號和對應(yīng)的地址。objcopy——將某種格式的目標(biāo)文件轉(zhuǎn)化成另外格式的目標(biāo)文件。objdump——顯示目標(biāo)文件的信息。2.2建

5、立交叉編譯開發(fā)工具鏈ranlib——為一個(gè)存檔文件產(chǎn)生一個(gè)索引,并將這個(gè)索引存入存檔文件中。readelf——顯示elf格式的目標(biāo)文件的信息。size——顯示目標(biāo)文件各個(gè)節(jié)的大小和目標(biāo)文件的大小。strings——打印出目標(biāo)文件中可以打印的字符串,有個(gè)默認(rèn)的長度,為4。strip——?jiǎng)兊裟繕?biāo)文件的所有的符號信息。2.2建立交叉編譯開發(fā)工具鏈(2)輸出工具的路徑,使得以后的編譯工作能看到這些工具:#exportPATH=/opt/host/armv5/bin:$PATH2.2建立交叉編譯開發(fā)工具鏈(3)建立編譯需要使用的頭文件#cd/tmp#tarzxvflinux-

6、2.4.9.tar.gz#mvlinuxlinux-2.4.9-ac9-rmk1-np1#mvpatch-2.4.9-ac9.gzpatch-2.4.9-ac9-rmk1.bz2diff-2.4.9-ac9-rmk1-np1.gz./linux-2.4.9-ac9-rmk1-np12.2建立交叉編譯開發(fā)工具鏈#cdlinux-2.4.9-ac9-rmk1-np1:kernel2.4.9#gzip-cdpatch-2.4.9-ac9.gz

7、patch-p1:AlanCoxpatch#bzip2-cdpatch-2.4.9-ac9-rmk1.bz2

8、patch-p1:R

9、ussellKingpatch#gzip-cddiff-2.4.9-ac9-rmk1-np1.gz

10、patch-p1:NicholasPitrepatch#makemenuconfig:DotocreateARMheaderfiles.Whenyouexit,selectsaveitem.#makedep:Alsodotocreateheaderfiles.#cd/opt/host/armv4l/armv4l-unknown-linux#cdinclude:Ifnotexisting,makeincludedirectory.#cp-a/usr/include/

當(dāng)前文檔最多預(yù)覽五頁,下載文檔查看全文

此文檔下載收益歸作者所有

當(dāng)前文檔最多預(yù)覽五頁,下載文檔查看全文
溫馨提示:
1. 部分包含數(shù)學(xué)公式或PPT動(dòng)畫的文件,查看預(yù)覽時(shí)可能會顯示錯(cuò)亂或異常,文件下載后無此問題,請放心下載。
2. 本文檔由用戶上傳,版權(quán)歸屬用戶,天天文庫負(fù)責(zé)整理代發(fā)布。如果您對本文檔版權(quán)有爭議請及時(shí)聯(lián)系客服。
3. 下載前請仔細(xì)閱讀文檔內(nèi)容,確認(rèn)文檔內(nèi)容符合您的需求后進(jìn)行下載,若出現(xiàn)內(nèi)容與標(biāo)題不符可向本站投訴處理。
4. 下載文檔時(shí)可能由于網(wǎng)絡(luò)波動(dòng)等原因無法下載或下載錯(cuò)誤,付費(fèi)完成后未能成功下載的用戶請聯(lián)系客服處理。