<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>

新聞中心

EEPW首頁(yè) > 嵌入式系統 > 設計應用 > 嵌入式Linux開(kāi)發(fā)環(huán)境的搭建之:嵌入式開(kāi)發(fā)環(huán)境的搭建

嵌入式Linux開(kāi)發(fā)環(huán)境的搭建之:嵌入式開(kāi)發(fā)環(huán)境的搭建

作者: 時(shí)間:2013-09-13 來(lái)源:網(wǎng)絡(luò ) 收藏


本文引用地址:http://dyxdggzs.com/article/257141.htm

5.1嵌入式開(kāi)發(fā)環(huán)境的搭建

5.1.1嵌入式環(huán)境的搭建

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

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


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


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


安裝交叉編譯器的具體步驟在第2章的實(shí)驗二中已經(jīng)進(jìn)行了詳細地講解了,在此僅回憶關(guān)鍵步驟,對于細節請讀者參見(jiàn)第2章的實(shí)驗二。

在/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/下已經(jīng)安裝了很多交叉編譯工具。用戶(hù)可以查看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…


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

linux相關(guān)文章:linux教程



上一頁(yè) 1 2 3 4 5 6 7 下一頁(yè)

評論


相關(guān)推薦

技術(shù)專(zhuān)區

關(guān)閉
国产精品自在自线亚洲|国产精品无圣光一区二区|国产日产欧洲无码视频|久久久一本精品99久久K精品66|欧美人与动牲交片免费播放
<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>