在线看毛片网站电影-亚洲国产欧美日韩精品一区二区三区,国产欧美乱夫不卡无乱码,国产精品欧美久久久天天影视,精品一区二区三区视频在线观看,亚洲国产精品人成乱码天天看,日韩久久久一区,91精品国产91免费

<menu id="6qfwx"><li id="6qfwx"></li></menu>
    1. <menu id="6qfwx"><dl id="6qfwx"></dl></menu>

      <label id="6qfwx"><ol id="6qfwx"></ol></label><menu id="6qfwx"></menu><object id="6qfwx"><strike id="6qfwx"><noscript id="6qfwx"></noscript></strike></object>
        1. <center id="6qfwx"><dl id="6qfwx"></dl></center>

            新聞中心

            EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > ARM Linux 交叉編譯 工具鏈 制作攻略

            ARM Linux 交叉編譯 工具鏈 制作攻略

            作者: 時(shí)間:2016-11-09 來源:網(wǎng)絡(luò) 收藏
            制作之前確保你的機(jī)子上有如下幾個(gè)工具:bison flex build-essential。

            build-essential主要是用于提供GCC、GLIBC等必要的編譯資源,一般做開發(fā)的人員機(jī)子上應(yīng)該都會(huì)有的。如果沒有,對(duì)于UBUNTU用 戶:sudo apt-get install build-essential bison flex,其它用戶自己看著辦,!

            1、從http://kegel.com/crosstool處下載crosstool-0.43.tar.gz并解開存于$HOME下。

            假如你想要arm9tdmi上的工具鏈(其它工具鏈方法相同),進(jìn)入crosstool-0.43目錄,用文本編輯器打開demo-arm9tdmi.sh,內(nèi)容如下:

            #!/bin/sh
            # This script has one line for each known working toolchain
            # for this architecture. Uncomment the one you want.
            # Generated by generate-demo.pl from buildlogs/all.dats.txt

            set -ex
            TARBALLS_DIR=$HOME/downloads  //該行表示你即將下載的工具源碼壓縮包的存放目錄!
            RESULT_TOP=/opt/crosstool //該行表示將要生成的工具鏈的存放目錄,最好改到有寫權(quán)限的目錄!
            export TARBALLS_DIR RESULT_TOP
            GCC_LANGUAGES="c,c++"      //該行表示將要生成的工具鏈支持的語言的種類!
            export GCC_LANGUAGES

            # Really, you should do the mkdir before running this,
            # and chown /opt/crosstool to yourself so you dont need to run as root.
            mkdir -p $RESULT_TOP

            #eval `cat arm9tdmi.dat gcc-3.2.3-glibc-2.2.5.dat` sh all.sh --notest
            #eval `cat arm9tdmi.dat gcc-3.2.3-glibc-2.3.2.dat` sh all.sh --notest
            #eval `cat arm9tdmi.dat gcc-3.2.3-glibc-2.3.2-tls.dat` sh all.sh --notest
            #eval `cat arm9tdmi.dat gcc-3.3.6-glibc-2.2.5.dat` sh all.sh --notest
            #eval `cat arm9tdmi.dat gcc-3.3.6-glibc-2.3.2.dat` sh all.sh --notest
            #eval `cat arm9tdmi.dat gcc-3.3.6-glibc-2.3.2-tls.dat` sh all.sh --notest
            #eval `cat arm9tdmi.dat gcc-3.4.5-glibc-2.2.5.dat` sh all.sh --notest
            #eval `cat arm9tdmi.dat gcc-3.4.5-glibc-2.3.2.dat` sh all.sh --notest
            #eval `cat arm9tdmi.dat gcc-3.4.5-glibc-2.3.2-tls.dat` sh all.sh --notest
            #eval `cat arm9tdmi.dat gcc-3.4.5-glibc-2.3.5.dat` sh all.sh --notest
            #eval `cat arm9tdmi.dat gcc-3.4.5-glibc-2.3.5-tls.dat` sh all.sh --notest
            #eval `cat arm9tdmi.dat gcc-3.4.5-glibc-2.3.6.dat` sh all.sh --notest
            #eval `cat arm9tdmi.dat gcc-3.4.5-glibc-2.3.6-tls.dat` sh all.sh --notest
            #eval `cat arm9tdmi.dat gcc-4.0.2-glibc-2.3.2.dat` sh all.sh --notest
            #eval `cat arm9tdmi.dat gcc-4.0.2-glibc-2.3.2-tls.dat` sh all.sh --notest
            #eval `cat arm9tdmi.dat gcc-4.0.2-glibc-2.3.5.dat` sh all.sh --notest
            eval `cat arm9tdmi.dat gcc-4.0.2-glibc-2.3.5-tls.dat` sh all.sh --notest   //我選擇本行!?。?br />#eval `cat arm9tdmi.dat gcc-4.0.2-glibc-2.3.6.dat` sh all.sh --notest
            #eval `cat arm9tdmi.dat gcc-4.0.2-glibc-2.3.6-tls.dat` sh all.sh --notest
            #eval `cat arm9tdmi.dat gcc-4.1.0-glibc-2.3.2.dat` sh all.sh --notest
            #eval `cat arm9tdmi.dat gcc-4.1.0-glibc-2.3.2-tls.dat` sh all.sh --notest

            echo Done. //上面表示你要選工具鏈的版本號(hào)!"#"起注釋功能!我們可以選擇一行!

            我把RESULT_TOP=/opt/crosstool改成RESULT_TOP=$HOME/toolchains,并在HOME目錄下建立downloads 和toolchains兩個(gè)目錄,分別用于存放源碼壓縮包和將要生成的工具鏈。

            打開crosstool-0.43目錄下的arm9tdmi.dat文件,內(nèi)容如下:

            KERNELCONFIG=`pwd`/arm.config
            TARGET=arm-9tdmi-linux-gnu
            GCC_EXTRA_CONFIG="--with-cpu=arm9tdmi --enable-cxx-flags=-mcpu=arm9tdmi"
            TARGET_CFLAGS="-O"

            這個(gè)文件一般用于設(shè)置一些變量,一般不用改,用默認(rèn)即可!

            打開crosstool-0.43目錄下的gcc-4.0.2-glibc-2.3.5-tls.dat文件,內(nèi)容如下:

            BINUTILS_DIR=binutils-2.16.1
            GCC_DIR=gcc-4.0.2
            GLIBC_DIR=glibc-2.3.5
            LINUX_DIR=linux-2.6.15.4
            LINUX_SANITIZED_HEADER_DIR=linux-libc-headers-2.6.12.0
            GLIBCTHREADS_FILENAME=glibc-linuxthreads-2.3.5
            GLIBC_EXTRA_CONFIG="$GLIBC_EXTRA_CONFIG --with-tls --with-__thread --enable-kernel=2.4.18"

            然后你就可以到網(wǎng)上去下載上面紅色標(biāo)記的幾個(gè)源碼包,注意對(duì)應(yīng)的版本號(hào),下載后存放在downloads目錄下。注意,不需要解壓!!你甚至可以去掉 LINUX_SANITIZED_HEADER_DIR=linux-libc-headers-2.6.12.0這一行(當(dāng)然也就中需要下載這個(gè)包 了)!你可以到中國的鏡像站點(diǎn)去下載這些包:

            http://mirrors.shlug.org/ http://www.cn.kernel.org/pub/linux

            http://www.cn.kernel.org/pub/software ftp://ftp.cn.kernel.org/pub/linux

            ftp://ftp.cn.kernel.org/pub/software

            NOW,ITS OK!

            2、進(jìn)入crosstool-0.43目錄,輸入./demo-arm9tdmi.sh,然后經(jīng)過幾個(gè)小時(shí)的編譯,就可以在你的toolchains目錄中看到你想要的工具鏈,頭文件,庫文件等東東了!你可以把工具鏈所在目錄加到環(huán)境變量PATH中即可使用工具鏈了!

            注意:crosstool-0.43目錄下的PATCH目錄中有各個(gè)工具鏈的補(bǔ)丁,如果在編譯過程中有錯(cuò)誤,可以在crosstool-0.43目錄下 build目錄中的解壓后的源文件中打上補(bǔ)?。ㄎ覜]打補(bǔ)丁也編譯成功了,)。另外,如果不想每次編譯時(shí)都有浪費(fèi)時(shí)間的解壓過程,可以在eval `cat arm9tdmi.dat gcc-4.0.2-glibc-2.3.5-tls.dat` sh all.sh --notest 末尾處加--nounpack表示不解壓(當(dāng)然前提是你已經(jīng)自行解壓源碼包到了對(duì)應(yīng)的目錄/build/gcc-4.0.2-glibc-2.3.5- tls/arm-9tdmi-linux-gnu里了,也可以在這時(shí)給其打補(bǔ)丁).


            關(guān)鍵詞: ARMLinux交叉編譯工具

            評(píng)論


            技術(shù)專區(qū)

            關(guān)閉