jasmine214--love

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

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

          Posted on 2010-11-25 15:09 幻海藍夢 閱讀(2171) 評論(0)  編輯  收藏 所屬分類: 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
          解壓過程需要一段時間,解壓后的文件形成了 usr/local/ 文件夾,進入該文件夾,將arm文件夾拷貝到/usr/local/下
          # cd usr/local/
          #cp -rv arm /usr/local/
          現(xiàn)在交叉編譯程序集都在/usr/local/arm/3.4.1/bin下面了
          3.  修改環(huán)境變量,把交叉編譯器的路徑加入到PATH。大連主機托管.(有三種方法,強烈推薦使用方法一)
          方法一:修改/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)境變量生效,不用重啟電腦:
          對應(yīng)方法一:#source /root/.bashrc
          對應(yīng)方法二:# source /etc/profile
          5. 檢查是否將路徑加入到PATH:
          # echo $PATH
          顯示的內(nèi)容中有/usr/local/arm/bin,說明已經(jīng)將交叉編譯器的路徑加入PATH。至此,交叉編譯環(huán)境安裝完成。
          6.測試是否安裝成功
          # arm-linux-gcc -v
          上面的命令會顯示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程序,測試交叉工具鏈
          寫下下面的Hello World程序,保存為 hello.c
          #include
          int main()
          {
          printf(”Hello World!\n”);
          return 0;
          }
          執(zhí)行下面的命令:
          # arm-linux-gcc -o hello hello.c
          源程序有錯誤的話會有提示,沒有任何提示的話,就是通過了,就可以下載到ARM目標(biāo)板上運行了!
          接著可以輸入file hello的命令,查看生成的hello文件的類型,要注意的是生成的可執(zhí)行文件只能在ARM體系下運行,不能在其于X86的PC機上運行。
          ubuntu 10.04 建立交叉編譯環(huán)境 arm-linux-gcc-4.3.2
          建立交叉編譯環(huán)境arm-linux-gcc-4.3.2。
          1. 將友善科技光盤的arm-linux-gcc-4.3.2.tgz復(fù)制到任意路徑下;
          2. 確保安裝了標(biāo)準(zhǔn)C開發(fā)環(huán)境,一句命令搞定:sudo apt-get install build-essential libncurses5-dev;
          3.在終端進入arm-linux-gcc-4.3.2.tgz存放目錄,再sudo tar -zxvf arm-linux-gcc-4.3.2.tgz -C /(注意大寫C字母后留一個空格,這樣會自動解壓縮到/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”保存退出即可。然后注銷重新登錄就可使環(huán)境變量生效 了。
          我不推薦大家這樣做,我試過了在編譯內(nèi)核時無論執(zhí)行sudo -s后,再執(zhí)行arm-linux-gcc -v也沒有出現(xiàn)環(huán)境變量的信息,故cd /opt/FriendlyARM/mini2440后,無論make zImage或sudo make zImage 都出現(xiàn)無法再到arm-linux的情況!
          所以我推薦大家這樣做:
          yagerya@yagerya-desktop:~$ vim ~/.profile
          在這個文件最后添加上自己的環(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開始編譯。

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

          主站蜘蛛池模板: 郸城县| 静宁县| 上思县| 会东县| 清涧县| 郓城县| 岗巴县| 尚志市| 周宁县| 阳东县| 确山县| 泰和县| 诏安县| 翁牛特旗| 磐安县| 东海县| 拜城县| 元阳县| 晋江市| 宕昌县| 灌阳县| 松阳县| 旬阳县| 湖州市| 苍溪县| 汉沽区| 都昌县| 甘肃省| 新巴尔虎右旗| 兴安盟| 济宁市| 黔江区| 鹤庆县| 财经| 栾城县| 平山县| 宁夏| 资阳市| 榕江县| 吉隆县| 南澳县|