jasmine214--love

          只有當(dāng)你的內(nèi)心總是充滿快樂(lè)、美好的愿望和寧?kù)o時(shí),你才能擁有強(qiáng)壯的體魄和明朗、快樂(lè)或者寧?kù)o的面容。
          posts - 731, comments - 60, trackbacks - 0, articles - 0

          arm-linux-gcc交叉編譯環(huán)境

          Posted on 2010-11-25 15:09 幻海藍(lán)夢(mèng) 閱讀(2170) 評(píng)論(0)  編輯  收藏 所屬分類(lèi): Linux

          1.下載arm-linux-gcc-3.4.1.tar.bz2到任意的目錄下。
          arm-linux-gcc-3.4.1.tar.bz2 的下載地址如下:

          http://www.handhelds.org/download/projects/toolchain/arm-linux-gcc-3.4.1.tar.bz2

          2.解壓 arm-linux-gcc-3.4.1.tar.bz2
          #tar -jxvf arm-linux-gcc-3.4.1.tar.bz2
          解壓過(guò)程需要一段時(shí)間,解壓后的文件形成了 usr/local/ 文件夾,進(jìn)入該文件夾,將arm文件夾拷貝到/usr/local/下
          # cd usr/local/
          #cp -rv arm /usr/local/
          現(xiàn)在交叉編譯程序集都在/usr/local/arm/3.4.1/bin下面了
          3.  修改環(huán)境變量,把交叉編譯器的路徑加入到PATH。大連主機(jī)托管.(有三種方法,強(qiáng)烈推薦使用方法一)
          方法一:修改/etc/bash.bashrc文件
          #vim /etc/bash.bashrc
          在最后加上:
          export PATH=$PATH:/usr/local/arm/3.4.1/bin
          export PATH
          (如果不能編輯,先修改相關(guān)文件的權(quán)限使用chmod命令。)
          方法二:修改/etc/profile文件:
          # vim /etc/profile
          增加路徑設(shè)置,在末尾添加如下,保存/etc/profile文件:
          export PATH=$PATH:/usr/local/arm/3.4.1/bin
          方法三:#export PATH=$PATH:/usr/local/arm/3.4.1/bin
          注:(這只能在當(dāng)前的終端下才是有效的!)
          4. 立即使新的環(huán)境變量生效,不用重啟電腦:
          對(duì)應(yīng)方法一:#source /root/.bashrc
          對(duì)應(yīng)方法二:# source /etc/profile
          5. 檢查是否將路徑加入到PATH:
          # echo $PATH
          顯示的內(nèi)容中有/usr/local/arm/bin,說(shuō)明已經(jīng)將交叉編譯器的路徑加入PATH。至此,交叉編譯環(huán)境安裝完成。
          6.測(cè)試是否安裝成功
          # arm-linux-gcc -v
          上面的命令會(huì)顯示arm-linux-gcc信息和版本,這是我顯示的信息:
          Reading specs from /usr/local/arm/3.4.1/lib/gcc/arm-linux/3.4.1/specs
          Configured with: /work/crosstool-0.27/build/arm-linux/gcc-3.4.1-glibc-2.3.2/gcc- 3.4.1/configure –target=arm-linux –host=i686-host_pc-linux-gnu
          –prefix=/usr/local/arm/3.4.1 –with-headers=/usr/local/arm/3.4.1/arm
          -linux/include –with-local-prefix=/usr/local/arm/3.4.1/arm-linux –disable
          -nls –enable-threads=posix –enable-symvers=gnu –enable-__cxa_atexit –enable- languages=c,c++ –enable-shared –enable-c99 –enable-long-long
          Thread model: posix
          gcc version 3.4.1
          7.編譯Hello World程序,測(cè)試交叉工具鏈
          寫(xiě)下下面的Hello World程序,保存為 hello.c
          #include
          int main()
          {
          printf(”Hello World!\n”);
          return 0;
          }
          執(zhí)行下面的命令:
          # arm-linux-gcc -o hello hello.c
          源程序有錯(cuò)誤的話會(huì)有提示,沒(méi)有任何提示的話,就是通過(guò)了,就可以下載到ARM目標(biāo)板上運(yùn)行了!
          接著可以輸入file hello的命令,查看生成的hello文件的類(lèi)型,要注意的是生成的可執(zhí)行文件只能在ARM體系下運(yùn)行,不能在其于X86的PC機(jī)上運(yùn)行。
          ubuntu 10.04 建立交叉編譯環(huán)境 arm-linux-gcc-4.3.2
          建立交叉編譯環(huán)境arm-linux-gcc-4.3.2。
          1. 將友善科技光盤(pán)的arm-linux-gcc-4.3.2.tgz復(fù)制到任意路徑下;
          2. 確保安裝了標(biāo)準(zhǔn)C開(kāi)發(fā)環(huán)境,一句命令搞定:sudo apt-get install build-essential libncurses5-dev;
          3.在終端進(jìn)入arm-linux-gcc-4.3.2.tgz存放目錄,再sudo tar -zxvf arm-linux-gcc-4.3.2.tgz -C /(注意大寫(xiě)C字母后留一個(gè)空格,這樣會(huì)自動(dòng)解壓縮到/usr/local/4.3.2目錄下)
          修改環(huán)境變量,使交叉編譯環(huán)境生效。我是執(zhí)行如下命令:
          yagerya@yagerya-desktop:~$ echo $PATH
          /usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games
          yagerya@yagerya-desktop:~$ sudo gedit /etc/environment
          原文件應(yīng)為PATH=”/usr/local/sbin:/usr/local/bin:/usr /sbin:/usr/bin:/sbin:/bin: /usr/games“將其改為PATH=”/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin: /sbin:/bin:/usr/games:/usr/local/arm/4.3.2/bin”保存退出即可。然后注銷(xiāo)重新登錄就可使環(huán)境變量生效 了。
          我不推薦大家這樣做,我試過(guò)了在編譯內(nèi)核時(shí)無(wú)論執(zhí)行sudo -s后,再執(zhí)行arm-linux-gcc -v也沒(méi)有出現(xiàn)環(huán)境變量的信息,故cd /opt/FriendlyARM/mini2440后,無(wú)論make zImage或sudo make zImage 都出現(xiàn)無(wú)法再到arm-linux的情況!
          所以我推薦大家這樣做:
          yagerya@yagerya-desktop:~$ vim ~/.profile
          在這個(gè)文件最后添加上自己的環(huán)境變量:export PATH=$PATH:/usr/local/arm/4.3.2/bin
          然后在終端執(zhí)行source ~/.profile ,即可立即生效。
          yagerya@yagerya-desktop:~$ arm-linux-gcc -v
          Using built-in specs.
          Target: arm-none-linux-gnueabi
          Configured with: /scratch/julian/lite-respin/linux/src/gcc-4.3/configure –build=i686-pc-linux-gnu –host=i686-pc-linux-gnu –target=arm-none-linux-gnueabi –enable-threads –disable-libmudflap –disable-libssp –disable-libstdcxx-pch –with-gnu-as –with-gnu-ld –enable-languages=c,c++ –enable-shared –enable-symvers=gnu –enable-__cxa_atexit –with-pkgversion=’Sourcery G++ Lite 2008q3-72′ –with-bugurl=https://support.codesourcery.com/GNUToolchain/ –disable-nls –prefix=/opt/codesourcery –with-sysroot=/opt/codesourcery/arm-none-linux-gnueabi/libc –with-build-sysroot=/scratch/julian/lite-respin/linux/install/arm-none-linux-gnueabi/libc –with-gmp=/scratch/julian/lite-respin/linux/obj/host-libs-2008q3-72-arm-none-linux-gnueabi-i686-pc-linux-gnu/usr –with-mpfr=/scratch/julian/lite-respin/linux/obj/host-libs-2008q3-72-arm-none-linux-gnueabi-i686-pc-linux-gnu/usr –disable-libgomp –enable-poison-system-directories –with-build-time-tools=/scratch/julian/lite-respin/linux/install/arm-none-linux-gnueabi/bin –with-build-time-tools=/scratch/julian/lite-respin/linux/install/arm-none-linux-gnueabi/bin
          Thread model: posix
          gcc version 4.3.2 (Sourcery G++ Lite 2008q3-72)
          yagerya@yagerya-desktop:~$
          4.編譯內(nèi)核,切到root 帳戶編譯kernel: sudo passwd root 后,設(shè)置root密碼,后su -切換到root, 然后參考友善之臂的user manuals 一步步make zImage開(kāi)始編譯。

          原文: http://www.5a5z.com/?p=236

          主站蜘蛛池模板: SHOW| 涞水县| 肥东县| 海伦市| 南皮县| 喜德县| 秭归县| 黑河市| 内乡县| 双流县| 扶风县| 赤水市| 苍梧县| 许昌市| 南城县| 榆社县| 库尔勒市| 芒康县| 大新县| 金华市| 乐都县| 合江县| 克什克腾旗| 潞西市| 金平| 聂拉木县| 子长县| 余姚市| 维西| 宜丰县| 石嘴山市| 平湖市| 安丘市| 会宁县| 寿阳县| 潮州市| 彭山县| 凭祥市| 盐源县| 兴安县| 海丰县|