![《基于ARM9的嵌入式Linux系統(tǒng)開發(fā)原理與實(shí)踐》課件第6章_第1頁](http://file4.renrendoc.com/view12/M08/01/04/wKhkGWdlDiWAMVBCAAPi9rkDPMw148.jpg)
![《基于ARM9的嵌入式Linux系統(tǒng)開發(fā)原理與實(shí)踐》課件第6章_第2頁](http://file4.renrendoc.com/view12/M08/01/04/wKhkGWdlDiWAMVBCAAPi9rkDPMw1482.jpg)
![《基于ARM9的嵌入式Linux系統(tǒng)開發(fā)原理與實(shí)踐》課件第6章_第3頁](http://file4.renrendoc.com/view12/M08/01/04/wKhkGWdlDiWAMVBCAAPi9rkDPMw1483.jpg)
![《基于ARM9的嵌入式Linux系統(tǒng)開發(fā)原理與實(shí)踐》課件第6章_第4頁](http://file4.renrendoc.com/view12/M08/01/04/wKhkGWdlDiWAMVBCAAPi9rkDPMw1484.jpg)
![《基于ARM9的嵌入式Linux系統(tǒng)開發(fā)原理與實(shí)踐》課件第6章_第5頁](http://file4.renrendoc.com/view12/M08/01/04/wKhkGWdlDiWAMVBCAAPi9rkDPMw1485.jpg)
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
第6章創(chuàng)建嵌入式Linux交叉開發(fā)工具鏈6.1下載源文件6.2建立工作目錄6.3輸出環(huán)境變量6.4建立內(nèi)核頭文件6.5建立二進(jìn)制工具6.6建立初始編譯器6.7建立c庫6.8建立全套編譯器6.9完成工具鏈的設(shè)置6.10測試和驗(yàn)證交叉編譯工具本章小結(jié)
6.1下?載?源?文?件
要想選用適當(dāng)?shù)陌姹?,以保證建立的工具鏈可用,就必須找到適合主機(jī)和目標(biāo)板的組合。這些可以自己測試,也可以從網(wǎng)上尋找已經(jīng)測試過的版本組合,即binutils、gcc、glibc的版本組合。
6.2建立工作目錄
本章所有的工作都在?/home/mxl/diliuzhang下面建立完成。
進(jìn)入工作目錄:
[root@localhostroot]#cd/home/mxl/diliuzhang
查看當(dāng)前目錄:
[root@localhostdiliuzhang
]#pwd
/home/mxl/diliuzhang
創(chuàng)建工具鏈文件夾:
[root@localhostdiliuzhang]#mkdirembedded-toolchains
6.3輸出環(huán)境變量
輸出如下的環(huán)境變量方便后面編譯。
6.4建立內(nèi)核頭文件
內(nèi)核頭文件的配置是建立工具鏈的第一步。它與后面將要執(zhí)行的其他步驟有著類似性,大多需要執(zhí)行下面幾步操作:
(1)解壓縮包;
(2)為跨平臺開發(fā)設(shè)定包的配置;
(3)編譯包;
(4)安裝包。
[root@localhostembedded-toolchains]#pwd
/home/mxl/diliuzhang/embedded-toolchains
[root@localhostembedded-toolchains]#cdkernel解壓縮:
[root@localhostkernel]#tarxvzf../setup-dir/linux-2.4.21.tar.gz
[root@localhostkernel]#gunzip../setup-dir/patch-2.4.21-rmk1.gz
[root@localhostkernel]#cdlinux-2.4.21
給Linux內(nèi)核打補(bǔ)?。?/p>
[root@localhostlinux-2.4.21]#patch-p1<../../setup-dir/patch-2.4.21-rmk1配置:
[root@localhostlinux-2.4.21]#makeARCH=armCROSS_COMPILE=arm-linux-menuconfig
圖6-1Linux2.4.21內(nèi)核配置界面
6.5建立二進(jìn)制工具
binutils是GNU工具之一,它包括連接器、匯編器和其他用于目標(biāo)文件和檔案的工具,它是二進(jìn)制代碼的處理維護(hù)工具。安裝binutils工具包含的程序有addr2line、ar、as、c++filt、gprof、ld、nm、objcopy、objdump、ranlib、readelf、size、strings、strip、libiberty、libbfd和libopcodes。圖6-2編譯成功后的結(jié)果圖6-3驗(yàn)證binutils成功后的結(jié)果
6.6建立初始編譯器
這一步的目的主要是建立arm-linux-gcc工具。注意,這個(gè)gcc沒有g(shù)libc庫的支持,所以只能用于編譯內(nèi)核、BootLoader等不需要c庫支持的程序,后面創(chuàng)建c庫也要用到這個(gè)編譯器,所以創(chuàng)建它主要是為創(chuàng)建c庫做準(zhǔn)備,如果只想編譯內(nèi)核和BootLoader,那么安裝完這個(gè)就可以到此結(jié)束。圖6-4編譯初始編譯器錯(cuò)誤示例圖6-5編譯初始編譯器成功后的結(jié)果圖6-6驗(yàn)證初始編譯器成功后的結(jié)果
6.7建立c庫
建立c庫是最為繁瑣的過程,目標(biāo)板必須靠它來執(zhí)行或者是開發(fā)大部分的應(yīng)用程序。glibc套件常被稱為c鏈接庫,但是glibc實(shí)際產(chǎn)生很多鏈接庫,其中之一是c鏈接庫libc。因?yàn)榍度胧较到y(tǒng)的限制,標(biāo)準(zhǔn)GNUc鏈接庫顯得太大,不適合應(yīng)用在目標(biāo)板上。圖6-7編譯glibc成功后的結(jié)果圖6-8安裝glibc成功后的結(jié)果
6.8建立全套編譯器
由于第一次安裝的gcc沒有交叉glibc的支持,現(xiàn)在已經(jīng)安裝了glibc,因此需要重新編譯來支持交叉glibc。并且上面的gcc也只支持C語言,現(xiàn)在可以讓它同時(shí)支持C語言和C++語言。圖6-9編譯全套編譯器成功后的結(jié)果
6.9完成工具鏈的設(shè)置
[root@localhostbuild-gcc]#cd$TARGET_PREFIX/bin
查看文件是否為二進(jìn)制文件:
[root@localhostbin]#fileasargccldnmranlibstrip
查看缺省的搜尋路徑:
[root@localhostbin]#arm-linux-gcc-print-search-dirs
轉(zhuǎn)移文件:
[root@localhostbin]#mvasargccldnmranlibstrip
$PREFIX/lib/gcc-lib/arm-linux/2.95.3
[root@localhostbin]#forfileinasargccldnmranlibstrip
>do
>ln-s$PREFIX/lib/gcc-lib/arm-linux/2.95.3/$file
>done
6.10測試和驗(yàn)證交叉編譯工具
下面編寫一個(gè)簡單的C程序,使用建立的工具鏈。圖6-10交叉編譯器編譯示例本章小結(jié)
本章介紹了如何一步一步制作交叉開發(fā)工具鏈。要使制作成功,必須找到適合的主機(jī)
溫馨提示
- 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)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年度國際專利申請代理合同模板
- 2025年度工業(yè)產(chǎn)品售后服務(wù)合同規(guī)范
- 2025年度酒店后廚員工培訓(xùn)與管理綜合服務(wù)合同
- 2025年度石材展會組織與服務(wù)合同模板
- 赤峰2025年內(nèi)蒙古喀喇沁旗錦山中學(xué)引進(jìn)教師9人筆試歷年參考題庫附帶答案詳解
- 茂名2025年廣東茂名市公安局招聘警務(wù)輔助人員50人筆試歷年參考題庫附帶答案詳解
- 苯噻草胺項(xiàng)目融資計(jì)劃書
- 潮州2024年廣東潮州市科學(xué)技術(shù)局屬下事業(yè)單位招聘10人(第二輪)筆試歷年參考題庫附帶答案詳解
- 普洱2025年云南普洱市商務(wù)局招聘城鎮(zhèn)公益性崗位工作人員筆試歷年參考題庫附帶答案詳解
- 文山云南文山硯山縣住房和城鄉(xiāng)建設(shè)局招聘公益性崗位人員筆試歷年參考題庫附帶答案詳解
- (正式版)HG∕T 20644-2024 彈簧支吊架選用標(biāo)準(zhǔn)
- 中心醫(yī)院消防施工組織設(shè)計(jì)
- 港口自動(dòng)化與智慧港口發(fā)展方向
- 人教版小學(xué)英語單詞表(完整版)
- 飛灰處置及資源化綜合利用項(xiàng)目可行性研究報(bào)告模板-備案拿地
- 2024年咨詢工程師考試大綱
- 免疫治療皮疹護(hù)理查房
- 2024年棉柔巾行業(yè)市場趨勢分析
- 黑龍江省哈爾濱市雙城區(qū)2024年八年級下冊物理期末經(jīng)典試題含解析
- 老年期譫妄課件
- 項(xiàng)目采購管理培訓(xùn)
評論
0/150
提交評論