


下載本文檔
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、ubuntu10.04下建立交叉編譯工具鏈(支持軟浮點)全過程參考了網(wǎng)上的不少的資料,花了五個小時終于完成了,記錄下全過程供大家分享。用到的源碼包如下, 建議新手全部放在/home/usr/downloads/目錄下。以下操作在用戶權(quán)限下進行。arm-l inu x-gcc-3.4.1.tar.gzglibc-2.3.3.tar.gzlinu x-2.6.8.tar.gzcrosstool-0.43.tar.gzbinu tils-2.15.tar.gzglibc-li nu xthreads-2.3.3.tar.gzbin utils-2.18.tar.gz -安裝用1. 編譯過程需要用到以
2、下幾個軟件,系統(tǒng)本身沒有安裝,可以運行安裝命令提前做好,因為編譯一次至少要花半個小時,如果因為依賴軟件沒有安裝中途會報錯退出,只有從頭再來,那樣很浪費時間的。sudo apt-get in stall bis on flex build-esse ntial patch lib ncurses5-dev由于ubuntu10.04自帶的ld ,as版本太高的原因,需要安裝binutils 的2.18版本,然后替換系統(tǒng)中的2.20版本。方法如下:$cd dow nl oads$tar xzvf bin utils-2.18.tar.gz$cd bi nutils-2.18$./co nfigure
3、 -prefix=/tmp/bi nutils -disable-nls (-prefix后面的是生成可執(zhí)行文件存放的位置可以自己定義)$make all$make in stall編譯成功后在/tmp/binutils/bin/中就生成了 ld和as程序的可執(zhí)行文件重新鏈接 /usr/bin/ld和/usr/bin/as 文件$sudo rm /usr/bin/ld /usr/bin/as /刪除 2.20 的 ld,as$sudo ln - s /tmp/binutils/bin/ld /usr/bin/$sudo In - s /tmp/binutils/bin/as /usr/bin/
4、然后可運行l(wèi)d - v和as - v查看版本是否為2.18。安裝2.18版本可解決出現(xiàn)的ld as version too old 問題。2. ubuntu10.04下默認的GCC版本是4.4.3,但這個不是版本越高越好,版本太高,對語法什么的要求也高,編譯不成功,降低版本吧:#sudo apt-get in stall gcc-4.1/安裝 4.1 的 GCC 需要聯(lián)網(wǎng)#sudo rm /usr/bin/gcc /刪除之前4.4.3的快捷方式,4.4.3的GCC并未刪除#sudo ln -s /usr/bin/gcc-4.1 /usr/bin/gcc/建立 4.1 的快捷方式這是由于cros
5、stool中定義了 GCC的版本的上下線,最高也就到4.1,在其配置的時候會對這個版本信息進行檢測,不在其規(guī)定范圍就報錯了。3. 修改sh版本如果運行l(wèi)s -la /bin/sh看到鏈接的是 dash ,則請運行以下命令sudo dpkg-reconfigure dash選擇 no 以刪除 dash 此處如果不改好的話,編譯時會出現(xiàn)錯誤 (在建立交叉編譯環(huán)境后,可以在運行該命令選擇 yes 重新安裝 dash )。4. 解壓 crosstool-0.43 源碼包,修改配置文件。$tar xzvf crosstool-0.43.tar.gz$cd crosstool-0.43 /下面的操作路徑都
6、在此文件夾$cp demo-arm-softfloat.sh arm-softfloat.sh / 復(fù)制并建立新文件 arm-softfloat.sh $gedit arm-softfloat.sh / 用文本編輯器打開,也可用vim 打開。修改 文件中的內(nèi)容:TARBALLS_DIR=$HOME/downloads / 表示下載的源碼的存放目錄 RESULT_TOP=/opt/crosstools / 表示生成的工具鏈的存放目錄 為:TARBALLS_DIR=/home/usr/downloads( 源碼存放目錄 ) RESULT_TOP=/home/usr/crosstools (生成工具
7、鏈目錄) 若使用默認位置安裝的話會因為權(quán) 限問題出錯。修改 這一句:eval cat arm-softfloat.dat gcc-341 -glibc- 2.3.3 .dat sh all.sh -notest /紅色為自己所選的GCC和GLIBC的版本號,可以根據(jù)自己的實際情況進行修改。再修改 gcc-3.4.1-glibc-2.3.3.dat文件,過程如下:$gedit gcc-3.4.1-glibc-2.3.3.dat修改后內(nèi)容為:BINUTILS_DIR=binutils-2.15GCC_DIR=gcc-3.4.1GLIBC_DIR=glibc-2.3.3LINUX_DIR=linux
8、-2.6.8GLIBCTHREADS_FILENAME=glibc-linuxthreads-2.3.3注 意自己的工具的版本最好和這里是對應(yīng)的,省的編譯器找不到報錯或是連網(wǎng)下載浪費時 間。再修改 arm.dat$gedit arm.dat修改為:KERNELCONFIG=pwd/arm.config TARGET=arm-softfloat-linux-gnuTARGET_CFLAGS=-o5. 將 linux-2.6.8 源碼包目錄下的 /script/kconfig/mconf.c 中的 91 行 static struct menu *current_menu;改為struct men
9、u *current_menu;這樣是為了解決 *current_menu 相關(guān)的錯誤。6. 執(zhí)行 sh arm-softfloat.sh ,一個小時左右你就可以看到 /home/usr/crosstools 目錄下有 你想要的東西了。7. 修改環(huán)境變量 修改環(huán)境變量有多種方法我們介紹兩種( 1)第一種方法:在當(dāng)前用戶目錄的 .bashrc 中添加如下環(huán)境變量的內(nèi)容 $exportPATH=$PATH:/home/linux/crosstool/gcc-3.4.1-glibc-2.3.3/arm-softfloat-linux-gnu/b in( 2)第二種方法:或直接修改 /home/lin
10、ux/.bashrc 文件$cd /home/linux$gedit .bashrc在第一行添加如下內(nèi)容:PATH=$PATH:/home/linux/crosstool/gcc-3.4.1-glibc-2.3.3/arm-softfloat-linux-gnu/b in然后執(zhí)行$source .bashrc8. 執(zhí)行如下命令$ arm-softfloat-linux-gnu-gcc -v顯示Reading specs from /home/david/project/crosstool/gcc-3.4.5-glibc-2.3.6/arm-softfloat-linux-gnu/lib/ gc
11、c/arm-softfloat-linux-gnu/3.4.5/specsConfigured with: /home/david/downloads/crosstool-0.43/build/arm-softfloat-linux-gnu/gcc-3.4.5-gli bc-2.3.6/gcc-3.4.5/configure-target=arm-softfloat-linux-gnu-host=i686-host_pc-linux-gnu-prefix=/home/david/project/crosstool/gcc-3.4.5-glibc-2.3.6/arm-softfloat-linu
12、x-gnu-with-float=soft-with-headers=/home/david/project/crosstool/gcc-3.4.5-glibc-2.3.6/arm-softfloat -linux-gnu/arm-softfloat-linux-gnu/include-with-local-prefix=/home/david/project/crosstool/gcc-3.4.5-glibc-2.3.6/arm-soft float-linux-gnu/arm-softfloat-linux-gnu-disable-nls-enable-threads=posix-enable-symvers=gnu-enable-_cxa_atexit-enable-languages=c,c+-enable-shared -enable-c99 -enable-long-longThread model
溫馨提示
- 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)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025至2030年中國塑料膨脹螺絲數(shù)據(jù)監(jiān)測研究報告
- 【假期提升】五升六語文暑假作業(yè)(十六)-人教部編版(含答案含解析)
- 2019-2025年消防設(shè)施操作員之消防設(shè)備高級技能題庫檢測試卷A卷附答案
- 2019-2025年消防設(shè)施操作員之消防設(shè)備高級技能每日一練試卷B卷含答案
- 2025年軍隊文職人員招聘之軍隊文職管理學(xué)題庫檢測試卷B卷附答案
- 重新簽署終止合同范本(2篇)
- 酒吧資源部合同(2篇)
- 2023年國家公務(wù)員《行政職業(yè)能力測驗》試題(副省級)
- 電氣維保知識培訓(xùn)課件
- 年度銷售目標與策略
- 2024-2025學(xué)年第二學(xué)期天域全國名校協(xié)作體高三3月聯(lián)考 地理試卷(含答案)
- 修理木橋施工合同范本
- 新教科版一年級科學(xué)下冊第一單元第6課《哪個流動得快》課件
- 屋面種植土垂直施工方案
- 2025年新人教PEP版英語三年級下冊全冊課時練習(xí)
- 《愛耳日課件》課件
- 2024年安徽中醫(yī)藥高等??茖W(xué)校高職單招職業(yè)適應(yīng)性測試歷年參考題庫含答案解析
- GB/T 45107-2024表土剝離及其再利用技術(shù)要求
- 2025年保密工作計劃(3篇)
- 2025年中國移動通信集團甘肅限公司校園招聘290人高頻重點提升(共500題)附帶答案詳解
- 5G優(yōu)化案例:5G波束配置優(yōu)化提升CQI優(yōu)良比案例
評論
0/150
提交評論