色yeye在线视频观看_亚洲人亚洲精品成人网站_一级毛片免费播放_91精品一区二区中文字幕_一区二区三区日本视频_成人性生交大免费看


搭建嵌入式交叉編譯環境

分享到:
           

    搭建交叉編譯環境是嵌入式開發的第一步,也是關鍵的一步。不同的體系結構、不同的操作內容甚至是不同版本的內核,都會用到不同的交叉編譯器。選擇交叉編譯器非常重要,有些交叉編譯器經常會有部分的BUG,都會導致后的代碼無法正常運行。

    交叉編譯器完整的安裝一般涉及多個軟件的安裝(讀者可以從ftp://gcc.gnu.org/pub/下載),包括binutils、gcc、glibc、glibc-linuxthreads等軟件。其中,binutils主要用于生成一些輔助工具,如readelf、objcopy、objdump、as、ld等;gcc是用來生成交叉編譯器的,主要生成arm-linux-gcc交叉編譯工具(應該說,生成此工具后已經搭建起交叉編譯環境,可以編譯Linux內核了,但由于沒有提供標準用戶函數庫,用戶程序還無法編譯);glibc主要是提供用戶程序所使用的一些基本的函數庫,glibc-linuxthreads是線程相關函數庫。這樣,交叉編譯環境就完全搭建起來了。

    上面所述的搭建交叉編譯環境比較復雜,很多步驟都涉及對硬件平臺的選擇。因此,現在嵌入式平臺社區或廠商一般會提供在各種平臺上測試通過的交叉編譯器,或把以上安裝步驟全部寫入腳本文件或者以發行包的形式提供,這樣就大大方便了用戶的使用。

    這里采用廣泛使用的cross-4.3.2交叉編譯器工具鏈,其使用方法非常簡單。

    $ mkdir –p /usr/local/arm /* 這是交叉編譯器安裝目錄*/
    $ cp cross-4.3.2.bar.bz2 /usr/local/arm
    $ cd /usr/local/arm
    $ tar jxvf cross-4.3.2.tar.gz

    此時在/usr/local/arm/4.3.2/bin/下已經出現了很多交叉編譯工具,顯示如下:

    arm-none-linux-gnueabi-addr2line      arm-none-linux-gnueabi-gfortran
    arm-none-linux-gnueabi-ar             arm-none-linux-gnueabi-gprof
    arm-none-linux-gnueabi-as             arm-none-linux-gnueabi-ld
    arm-none-linux-gnueabi-c++            arm-none-linux-gnueabi-ldd
    arm-none-linux-gnueabi-cc             arm-none-linux-gnueabi-nm
    arm-none-linux-gnueabi-c++filt        arm-none-linux-gnueabi-objcopy
    arm-none-linux-gnueabi-cpp            arm-none-linux-gnueabi-objdump
    arm-none-linux-gnueabi-ct-ng.config   arm-none-linux-gnueabi-populate
    arm-none-linux-gnueabi-g++            arm-none-linux-gnueabi-ranlib
    arm-none-linux-gnueabi-gcc            arm-none-linux-gnueabi-readelf
    arm-none-linux-gnueabi-gcc-4.3.2      arm-none-linux-gnueabi-run
    arm-none-linux-gnueabi-gccbug         arm-none-linux-gnueabi-size
    arm-none-linux-gnueabi-gcov           arm-none-linux-gnueabi-sstrip
    arm-none-linux-gnueabi-gdb            arm-none-linux-gnueabi-strings
    arm-none-linux-gnueabi-gdbtui         arm-none-linux-gnueabi-stri

    可以看到,這個交叉編譯工具集成了binutils、gcc、glibc這幾個軟件,而每個軟件也都有比較復雜的配置信息。

    接下來,在環境變量PATH中添加路徑,就可以直接使用arm-none-linux—gnueabi-gcc命令了。

    $ export PATH=$PATH:/usr/local/arm/4.3.2/bin

    把交叉開發工具鏈的路徑添加到環境變量PATH中,這樣可以方便地在Bash或者Makefile中使用這些工具。通常環境變量的配置文件有如下幾個。
    ● profile類文件:用戶第一次登錄時僅運行一次,profile類文件包括每個用戶主目錄下的.profile文件和/etc/profile等。用戶再次登錄時就會運行主目錄下的.profile文件的腳本。
    ● bashrc類文件:每當打開bash shell時(如當打開一個虛擬終端時)運行該腳本文件。bash類文件包括每個用戶主目錄下的.bashrc文件和/etc/bash.bashrc等。

    把環境變量配置的命令添加到其中一個文件中即可。

    $ arm-linux-gcc –v /*查看交叉編譯器的版本信息*/
    arm-none-linux-gnueabi-gcc -v
    Using built-in specs.
    Target: arm-none-linux-gnueabi
    Configured with: /home/linux/crosstooll/toolchain_build/targets/src/gcc-4.3.2/configure --build=i686-build_pc-linux-gnu --host=i686-build_pc-linux-gnu --target=arm-none-linux-gnueabi --prefix=/usr/local/arm/4.3.2 --with-sysroot=/home/linux/toolchain/arm-none-linux-gnueabi//sys-root --enable-languages=c,c++,fortran --disable-multilib --with-arch=armv4t --with-cpu=arm9tdmi --with-tune=arm920t --with-float=soft --with-pkgversion=crosstool-NG-1.8.1-farsight --disable-sjlj-exceptions --enable-__cxa_atexit --disable-libmudflap--with-gmp=/home/linux/crosstooll/toolchain_build/targets/arm-none-linux-gnueabi/build/static--with-mpfr=/home/linux/crosstooll/toolchain_build/targets/arm-none-linux-gnueabi/build/static--enable-threads=posix--enable-target-optspace--with-local-prefix=/home/linux/toolchain/arm-none-linux-gnueabi//sys-root --disable-nls --enable-symvers=gnu--enable-c99 --enable-long-long
    Thread model: posix
    gcc version 4.3.2

    從上面打印的版本信息中可以看到“--prefix=/usr/local/arm/ 4.3.2”,這就是交叉編譯器安裝的路徑。它是在編譯前通過prefix選項配置的,所以,這個工具鏈安裝的路徑必須是/usr/local/arm/4.3.2。

    本文選自華清遠見嵌入式培訓教材《從實踐中學嵌入式Linux應用程序開發》

   熱點鏈接:

   1、構建嵌入式Linux交叉開發環境
   2、嵌入式培訓資料:搭建交叉編譯環境
   3、嵌入式交叉編譯過程詳解
   4、嵌入式linux入門六步走
   5、典型嵌入式Linux系統設置

更多新聞>> 

主站蜘蛛池模板: 中文字幕人妻系列人妻有码 | 久久香蕉成人免费大片 | 日日夜夜精彩视频 | YW193.CAN尤物国产在线网页 | 少妇的BBBB爽爽爽自慰 | 热热色国产 | 欧美一区二区视频 | 美女被男人桶到爽免费网站 | 国内精品一区二区三区在线观看 | 亚洲精品456在线播放乱码 | 中文字幕无码成人免费视频 | 中国亚州女人69内射少妇 | 亚洲色无码a片一区二区红樱 | 嫩草影业地址 | 在线观看sm重口一区二区 | 日韩欧群交P片内射中文 | 美女脱免费看网站女同 | 脱老师内裤进入gif视频 | 亚洲色无码A片一区二区潘甜甜 | 97亚洲欧美国产网曝97 | 免费观看添你到高潮视频 | 亚洲AV无码成人黄网站在线观看 | 一本到高清无码中文在线 | 天干夜天干天天爽自慰 | 亚洲无人区码一码二码三码四码 | 在线观看国产丝袜控网站 | 综合激情久久综合激情 | 国产无遮挡裸露视频免费 | 男女18禁啪啪无遮挡网站 | 国产精品白丝喷水在线观看 | 成在人线AV无码免费高潮求绕 | 全黄h全肉禁乱公交车在线观看 | 国产三级久久精品三级 | 四虎永久在线精品免费看 | 日日躁夜夜躁狠狠躁夜夜躁 | 少妇aaa片 | 在线一级毛片 | 亂倫近親相姦中文字幕视频 | 国产成人精品999视频 | 藏经阁av无码综合亚洲 | 大地资源中文在线观看官网免费 |