版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、用于 ARM 的 GNU 交叉編譯和調(diào)試工具鏈,全部采用最新版本的軟件包(截止 2009 年 5月 10 日):Binutils-2.19.1GCC-4.4.0Glibc-2.9Glibc-ports-2.9GMP-4.3.0MPFR-2.4.1GDB-6.8Insight-6.8各個(gè)軟件包使用的配置參數(shù)可以見我 Blog 前幾篇文章:自己動(dòng)手制作交叉編譯工具鏈(1 )到(6)特點(diǎn): 支持 EABI,支持 Soft-Float(軟浮點(diǎn))
2、 ,包含完整的交叉調(diào)試工具 GDB、gdbserver 和 Insight 。下載后解壓至 /usr/local/arm/4.4.0 目錄下,添加環(huán)境變量后即可使用。下載地址: http://mail.ustc.edu.cn/~honwon/cross-gcc-4.4.0-glibc-2.9.tar.bz2準(zhǔn)備工作 準(zhǔn)備工作這個(gè)過程其實(shí)是很簡(jiǎn)單的。 之所以經(jīng)常會(huì)失敗, 大部分都是因?yàn)?configure 時(shí)使用的配置選項(xiàng)不正確導(dǎo)致編譯出
3、錯(cuò)。所以,出錯(cuò)時(shí)最好的解決辦法是根據(jù)提示,把相關(guān)配置選項(xiàng)的真正含義搞明白,然后再做取舍;如果一味地去網(wǎng)上搜索別人的辦法,即使解決了錯(cuò)誤,自己也還是知其然而不知其所以然。工作環(huán)境:普通的 x86 電腦,Ubuntu9.04 操作系統(tǒng),目標(biāo)是制作 ARM 交叉編譯工具鏈,支持 EABI 和 Soft Float。使用的軟件包版本:Binutils-2.19.1; GCC-4.4.0; Glibc-2.9; Linux-2.6.29; gmp
4、-4.3.0; mpfr-2.4.1; 所需的軟件包大都可以從中國(guó)科技大學(xué)的鏡像服務(wù)器上下載:http://oss.ustc.edu.cn, 教育網(wǎng)內(nèi)速度應(yīng)該是很快的。工作目錄結(jié)構(gòu):package 存放下載到的原始文件壓縮包patch 存放一些補(bǔ)丁文件source 存放解壓縮后的源代碼,build 存放編譯過程中生成的所有文件,不在源代碼目錄下編譯是為了避免對(duì)源代碼文件夾造成影響result 存放編譯后生成的最終結(jié)果放在此處
5、幾個(gè)環(huán)境變量: 選項(xiàng)詳解 選項(xiàng)詳解 --target=${TARGET}這個(gè)選項(xiàng)是跟--host 一起表示編譯生成的可執(zhí)行文件運(yùn)行在 HOST 上面,但這些可執(zhí)行文件服務(wù)的對(duì)象是 TARGET,也就是說用這些可執(zhí)行文件連接和匯編出來的程序運(yùn)行在 TARGET上面。這里,默認(rèn)就會(huì)使用主機(jī)的 GCC 編譯器, 因此我們省略了--host 選項(xiàng)。 --prefix=${RESULT_DIR}告訴配置腳本當(dāng)運(yùn)行 make install 時(shí)把編
6、譯好的東西安裝在 RESULT_DIR 目錄。 --disable-nls 這里 nls 的意思是本地語言支持(Native Language Support)??梢越梗?但是使能這一項(xiàng)也沒問題。 --disable-werror意思是禁止把警告當(dāng)成錯(cuò)誤。如果不加這一項(xiàng),編譯器會(huì)嚴(yán)格檢查語法錯(cuò)誤,出現(xiàn)警告也會(huì)停止編譯,這樣要想編譯通過就很難了。所以禁止了 werror,這樣編譯就可順利完成。 --disable-multilib禁止編
7、譯適用于多重目標(biāo)體系的庫(kù)。純 32 位系統(tǒng)或純 64 位系統(tǒng)都是 NON-Multilib,但是如果有 x64 的 U,想要既可以運(yùn)行 64bit 的程序又可以運(yùn)行 32bit 的程序,就得安裝 Multilib。 --enable-shared編譯出共享鏈接庫(kù)。 make configure-host 檢查主機(jī)環(huán)境以確保所有必須的工具都已經(jīng)安裝。這一個(gè)命令也可以去掉,不是必須的。 編譯和安裝的結(jié)果 編譯和安裝的結(jié)果 這次是利用主系統(tǒng)(
8、 是利用主系統(tǒng)(i386)的 )的 GCC 工具鏈來完成編譯的,編譯出來的程序也是運(yùn)行在 工具鏈來完成編譯的,編譯出來的程序也是運(yùn)行在 i386上的 上的。編譯得到的工具主要包括: · ld - GNU 連接器 the GNU linker. · as - GNU 匯編器 the GNU assembler. · addr2line - 把地址轉(zhuǎn)換成文件名和所在的行數(shù) ·
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 眾賞文庫(kù)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 自己動(dòng)手制作arm交叉編譯工具
- 自己動(dòng)手制作綠色版迅雷
- 動(dòng)手制作
- diy動(dòng)手制作后膛炮
- diy動(dòng)手制作后膛炮
- 自己動(dòng)手制作excel成績(jī)分析表(一勞永逸)轉(zhuǎn)
- 交叉編譯和交叉調(diào)試工具的研究與實(shí)現(xiàn).pdf
- 基于MIPSX的交叉編譯工具鏈研究.pdf
- ARM自動(dòng)編譯工具的設(shè)計(jì)與開發(fā).pdf
- 自己動(dòng)手diy
- 基于GNU工具鏈的ARM-MINIX嵌入式系統(tǒng)交叉編譯環(huán)境的移植.pdf
- 自己動(dòng)手diy
- 自己動(dòng)手生豆芽
- 護(hù)欄、扶手制作1
- 新手制作ppt教程
- 自己動(dòng)手粉刷墻面
- 護(hù)欄扶手制作與安裝
- 自己動(dòng)手換手機(jī)字庫(kù)!
- 電腦故障的維修—自己動(dòng)手
- 教你如何自己動(dòng)手保養(yǎng)車
評(píng)論
0/150
提交評(píng)論