新聞中心

        EEPW首頁 > 嵌入式系統 > 設計應用 > 交叉編譯環境的建立

        交叉編譯環境的建立

        作者: 時間:2016-11-30 來源:網絡 收藏
        1. 安裝標準的C開發環境,由于Linux安裝默認是不安裝的,所以需要先安裝一下(如果已經安裝好的話,就可以免去這一步了):

        $ sudo apt-get install gcc g++ libgcc1 libg++ make gdb
        如果上面這個安裝不行,可以試試
        $ sudo apt-get install build-essential

        本文引用地址:http://www.104case.com/article/201611/323648.htm

        2. 下載arm-linux-gcc-4.3.2.tgz到任意的目錄下,進入這個文件夾
        $ sudo tar xvzf arm-linux-gcc-4.3.2.tgz –C /
        注意:C 后面有個空格,并且 C 是大寫的,它是英文單詞“Change”的第一個字母,
        在此是改變目錄的意思。
        執行該命令,將把 arm-linux-gcc 安裝到/usr/loca/arm/4.3.2 目錄。

        3. 修改環境變量,把交叉編譯器的路徑加入到PATH。

        方法一:修改/etc/bash.bashrc文件(此文件只對當前用戶適用)
        $sudo gedit /etc/bash.bashrc
        在最后加上export PATH=$PATH:/usr/local/arm/4.3.2/bin

        方法二:修改/etc/profile文件(此文件屬于系統級別的環境變量,設置在里面的東西對所有用戶適用):
        $sudo gedit /etc/profile
        增加路徑設置,在末尾添加如下,保存/etc/profile文件:
        export PATH=$PATH:/usr/local/arm/4.3.2/bin

        方法三:修改/etc/environment文件
        $sudo gedit /etc/environment
        原文件應為 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"保存退出即可

        4. 立即使新的環境變量生效,不用重啟電腦:
        對應方法一:$ source /root/.bashrc
        對應方法二:$ source /etc/profile
        方法三立即生效

        5. 檢查是否將路徑加入到PATH:
        $ echo $PATH
        顯示內容/usr/local/sbin:/usr /local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr /games:/usr/local/arm/4.3.2/bin 說明已經將交叉編譯器的路徑加入PATH。至此,安裝完成。


        6.測試是否安裝成功
        $ arm-linux-gcc -v
        上面的命令會顯示arm-linux-gcc信息和版本,這是我顯示的信息:
        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)

        7.編譯Hello World程序,測試交叉工具鏈
        寫下下面的Hello World程序,保存為hello.c
        #include
        int main()
        {
        printf("Hello World!");
        return 0;
        }

        執行下面的命令:
        $ arm-linux-gcc -o hello hello.c
        源程序有錯誤的話會有提示,沒有任何提示的話,就是通過了,就可以下載到ARM目標板上運行了! 接著可以輸入file hello的命令,查看生成的hello文件的類型,要注意的是生成的可執行文件只能在ARM體系下運行,不能在其于X86的PC機上運行。


        原文出處:http://blog.csdn.net/dongliqiang2006/archive/2009/11/07/4779830.aspx


        關鍵詞: 交叉編譯環

        評論


        技術專區

        關閉
        主站蜘蛛池模板: 嘉义市| 馆陶县| 余姚市| 布尔津县| 彭山县| 乌兰察布市| 西乌珠穆沁旗| 个旧市| 塔城市| 昌吉市| 澜沧| 凤台县| 阳信县| 鄂尔多斯市| 渭源县| 西畴县| 长寿区| 分宜县| 左云县| 韩城市| 邹平县| 布尔津县| 石渠县| 福州市| 永宁县| 贺州市| 辽阳县| 天全县| 华安县| 荣昌县| 皮山县| 漠河县| 项城市| 巴塘县| 黄龙县| 九寨沟县| 铜山县| 合肥市| 汉源县| 周口市| 阜南县|