新聞中心

        EEPW首頁 > 嵌入式系統 > 設計應用 > 嵌入式Linux開發環境的搭建之:嵌入式開發環境的搭建

        嵌入式Linux開發環境的搭建之:嵌入式開發環境的搭建

        作者: 時間:2013-09-13 來源:網絡 收藏


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

        5.1嵌入式開發環境的搭建

        5.1.1嵌入式環境的搭建

        linux操作系統文章專題:linux操作系統詳解(linux不再難懂)

        的概念在第4章中已經詳細講述過,搭建環境是嵌入式開發的第一步,也是必備的一步。搭建交叉編譯環境的方法很多,不同的體系結構、不同的操作內容甚至是不同版本的內核,都會用到不同的交叉編譯器,而且,有些交叉編譯器經常會有部分的bug,這都會導致最后的代碼無法正常地運行。因此,選擇合適的交叉編譯器對于嵌入式開發是非常重要的。


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


        上面所述的搭建交叉編譯環境比較復雜,很多步驟都涉及對硬件平臺的選擇。因此,現在嵌入式平臺提供廠商一般會提供在該平臺上測試通過的交叉編譯器,而且很多公司把以上安裝步驟全部寫入腳本文件或者以發行包的形式提供,這樣就大大方便了用戶的使用。如優龍的FS2410開發光盤里就附帶了2.95.3和3.3.2兩個版本的交叉編譯器,其中前一個版本是用于編譯Linux2.4內核的,而后一個版本是用于編譯Linux2.6版本內核的。由于這是廠商測試通過的編譯器,因此可靠性會比較高,而且與開發板能夠很好地吻合。所以推薦初學者直接使用廠商提供的編譯器。當然,由于時間滯后的原因,這個編譯器往往不是最新的版本,若需要更新時希望讀者另外查找相關資料學習。本書就以優龍自帶的cross-3.3.2為例進行講解(具體的名稱不同廠商可能會有區別)。


        安裝交叉編譯器的具體步驟在第2章的實驗二中已經進行了詳細地講解了,在此僅回憶關鍵步驟,對于細節請讀者參見第2章的實驗二。

        在/usr/local/arm下解壓cross-3.3.2.bar.bz2。


        [root@localhostarm]#tar–jxvfcross-3.3.2.bar.bz2

        [root@localhostarm]#ls

        3.3.2cross-3.3.2.tar.bz2

        [root@localhostarm]#cd./3.3.2

        [root@localhostarm]#ls

        arm-linuxbinetcincludeinfoliblibexecmansbinshareVERSIONS

        [root@localhostbin]#whicharm-linux*

        /usr/local/arm/3.3.2/bin/arm-linux-addr2line

        /usr/local/arm/3.3.2/bin/arm-linux-ar

        /usr/local/arm/3.3.2/bin/arm-linux-as

        /usr/local/arm/3.3.2/bin/arm-linux-c++

        /usr/local/arm/3.3.2/bin/arm-linux-c++filt

        /usr/local/arm/3.3.2/bin/arm-linux-cpp

        /usr/local/arm/3.3.2/bin/arm-linux-g++

        /usr/local/arm/3.3.2/bin/arm-linux-gcc

        /usr/local/arm/3.3.2/bin/arm-linux-gcc-3.3.2

        /usr/local/arm/3.3.2/bin/arm-linux-gccbug

        /usr/local/arm/3.3.2/bin/arm-linux-gcov

        /usr/local/arm/3.3.2/bin/arm-linux-ld

        /usr/local/arm/3.3.2/bin/arm-linux-nm

        /usr/local/arm/3.3.2/bin/arm-linux-objcopy

        /usr/local/arm/3.3.2/bin/arm-linux-objdump

        /usr/local/arm/3.3.2/bin/arm-linux-ranlib

        /usr/local/arm/3.3.2/bin/arm-linux-readelf

        /usr/local/arm/3.3.2/bin/arm-linux-size

        /usr/local/arm/3.3.2/bin/arm-linux-strings

        /usr/local/arm/3.3.2/bin/arm-linux-strip


        可以看到,在/usr/local/arm/3.3.2/bin/下已經安裝了很多交叉編譯工具。用戶可以查看arm文件夾下的VERSIONS文件,顯示如下:


        Versions

        gcc-3.3.2

        glibc-2.3.2

        binutils-head

        Toolchainbinutilsconfiguration:

        ../binutils-head/configure…

        Toolchainglibcconfiguration:

        ../glibc-2.3.2/configure…

        Toolchaingccconfiguration

        ../gcc-3.3.2/configure…


        可以看到,這個交叉編譯工具確實集成了binutils、gcc、glibc這幾個軟件,而每個軟件也都有比較復雜的配置信息,讀者可以查看VERSIONS文件了解相關信息。

        linux相關文章:linux教程



        上一頁 1 2 3 4 5 6 7 下一頁

        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 蒲江县| 兴山县| 长武县| 富阳市| 绥棱县| 景宁| 离岛区| 辉南县| 新营市| 连平县| 吉安县| 银川市| 乌拉特中旗| 左权县| 靖安县| 正安县| 崇左市| 南投市| 朝阳县| 北辰区| 志丹县| 新昌县| 金溪县| 柏乡县| 安吉县| 武安市| 石屏县| 罗江县| 黑山县| 嘉义县| 苍山县| 辽中县| 大渡口区| 资溪县| 榆中县| 怀宁县| 商水县| 措美县| 张掖市| 根河市| 夹江县|