日本综合一区二区|亚洲中文天堂综合|日韩欧美自拍一区|男女精品天堂一区|欧美自拍第6页亚洲成人精品一区|亚洲黄色天堂一区二区成人|超碰91偷拍第一页|日韩av夜夜嗨中文字幕|久久蜜综合视频官网|精美人妻一区二区三区

RELATEED CONSULTING
相關(guān)咨詢
選擇下列產(chǎn)品馬上在線溝通
服務(wù)時間:8:30-17:00
你可能遇到了下面的問題
關(guān)閉右側(cè)工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營銷解決方案
如何搭建Linux交叉編譯環(huán)境(linux交叉編譯環(huán)境搭建)

在嵌入式系統(tǒng)開發(fā)過程中,往往需要將程序編譯成可在特定架構(gòu)的硬件上運行的二進制文件。而由于嵌入式系統(tǒng)所使用的處理器不同,使得在開發(fā)過程中需要使用交叉編譯器進行編譯。本文將介紹如何在Linux系統(tǒng)上搭建交叉編譯環(huán)境。

1. 安裝交叉編譯器

我們需要安裝交叉編譯器。在Linux系統(tǒng)中,有許多不同版本的交叉編譯器可供選擇,如gcc-arm-linux-gnueabi、gcc-powerpc-linux-gnu等等。在選擇交叉編譯器時,應該根據(jù)嵌入式系統(tǒng)所使用的處理器架構(gòu)來選擇相應的版本。以gcc-arm-linux-gnueabi為例,我們可以執(zhí)行以下命令來安裝:

“`

sudo apt-get install gcc-arm-linux-gnueabi

“`

安裝完成后,可以使用以下命令來檢驗是否安裝成功:

“`

arm-linux-gnueabi-gcc -v

“`

如果出現(xiàn)對應的gcc版本,則表示安裝成功。

2. 配置交叉編譯環(huán)境

完成交叉編譯器的安裝后,我們需要配置交叉編譯環(huán)境。主要是設(shè)置環(huán)境變量,以便在交叉編譯時能夠正確地使用交叉編譯器。

我們需要知道交叉編譯器的路徑。在Linux系統(tǒng)中,交叉編譯器的路徑通常為/usr/bin/交叉編譯器名。比如,在上述安裝了gcc-arm-linux-gnueabi的情況下,交叉編譯器的路徑為/usr/bin/arm-linux-gnueabi-gcc。

我們可以使用以下命令來設(shè)置環(huán)境變量:

“`

export CROSS_COMPILE=arm-linux-gnueabi-

export ARCH=arm

“`

CROSS_COMPILE變量的值為arm-linux-gnueabi-(交叉編譯器的前綴),ARCH變量的值為arm(代碼編譯的架構(gòu)類型)。

3. 編譯程序

設(shè)置好交叉編譯器環(huán)境后,我們就可以開始編譯程序了。下面以編譯一個簡單的“hello world”程序為例。

我們創(chuàng)建一個hello.c文件,內(nèi)容如下:

“`

#include

int mn(void)

{

printf(“Hello, world!\n”);

return 0;

}

“`

接下來,我們可以通過以下命令來編譯程序:

“`

arm-linux-gnueabi-gcc hello.c -o hello

“`

編譯完成后,我們可以通過以下命令運行程序:

“`

qemu-arm ./hello

“`

在運行程序前,需要確保已安裝qemu-arm模擬器。如果出現(xiàn)“command not found”的錯誤提示,則需要安裝qemu-arm。

4. 結(jié)束語

成都網(wǎng)站建設(shè)公司-創(chuàng)新互聯(lián)為您提供網(wǎng)站建設(shè)、網(wǎng)站制作、網(wǎng)頁設(shè)計及定制高端網(wǎng)站建設(shè)服務(wù)!

如何交叉編譯開源庫

所謂的搭建交叉編譯環(huán)境,即安裝、配置交叉編譯工具鏈。在該環(huán)境下編譯出嵌入式Linux系統(tǒng)所需的操作系統(tǒng)、應用程序等,然后再上傳到目標機上。

交叉編譯工具鏈是為了編譯、鏈接、處理和調(diào)試跨平臺體系結(jié)構(gòu)的程序代碼。對于交叉開發(fā)的工具鏈來說,在文件名稱上加了一個前綴,用來區(qū)別本地的工具鏈。例如,arm-linux-表示是對arm的交叉編譯工具鏈;arm-linux-gcc表示是使用gcc的編譯器。除了體系結(jié)構(gòu)相關(guān)的編譯選項以外,其使用方法與Linux主機上的gcc相同,所以Linux編程技術(shù)對于嵌入式同樣適用。不過,并不是任何一個版本拿來都能用,各種軟件包往往存在版本匹配問題。例如,編譯內(nèi)核時需要使用arm-linux-gcc-4.3.3版本的交叉編譯工具鏈,而使用arm-linux-gcc-3.4.1的交叉編譯工具鏈,則會導致編譯失敗。

那么gcc和arm-linux-gcc的區(qū)別是什么呢?區(qū)別就是gcc是linux下的C語言編譯器,編譯出來的程序在本地執(zhí)行,而arm-linux-gcc用來在linux下跨平臺的C語言編譯器,編譯出來的程序在目標機(如ARM平臺)上執(zhí)行,嵌入式開發(fā)應使用嵌入式交叉編譯工具鏈。

工具/原料

電腦系統(tǒng):win7系統(tǒng)。虛擬機系統(tǒng):workstation6.5 。虛擬機安裝的linux版本:fedora9.0。內(nèi)核:linux2.6.25 。

方法/步驟

我使用的交叉編譯工具鏈是arm-linux-gcc-4.4.3,把它放在linux系統(tǒng)的路徑是圖一

在linux系統(tǒng)的路徑/home/song/share下放了交叉編譯工具鏈arm-linux-gcc-4.4.3的壓縮包,另一個版本的不用。有的人可能會問到怎么把這個壓縮包弄到虛擬機的linux的系統(tǒng)的,我是通過samba服務(wù)從主機復制到虛擬機的,這里的share文件夾就是我samba服務(wù)器的工作目錄,多了不說,這不是重點。

然后通過命令mkdir embedded 建立一個arm-linux-gcc的安裝目錄,如圖二所示。當然安裝路徑和目錄名稱“embedded”可以依自己的喜好而定。

步驟閱讀

然后通過命令將share文件夾下的arm-linux-gcc-4.4.3.tar.gz復制到這里的embedded文件夾下, 當然這里你也可以不進行這一步我這是為了方便以后管理,將arm-linux-gcc安裝到embedded文件夾下,方便以后尋找。

然后使用tar命令:tar zxvf arm-gcc-4.4.3.tar.gz將embedded文件夾下的arm-linux-gcc-4.4.3.tar.gz解壓縮安裝到當前目錄下

執(zhí)行完解壓縮命令,就已經(jīng)將交叉編譯工具鏈arm-linux-gcc-4.4.3安裝到linux系統(tǒng)上了,這里默認安裝到了圖六所示的路徑上。

接下來配置系統(tǒng)環(huán)境變量,把交叉編譯工具鏈的路徑添加到環(huán)境變量PATH中去,這樣就可以在任何目錄下使用這些工具。 vi /etc/profile 編輯profile文件,添加環(huán)境變量。

在profile中的位置處,添加圖八所示的紅線標注的一行,路徑就是圖六中的紅線標注的路徑后面加上/4.4.3/bin。

圖八中的路徑一定是你自己的安裝路徑,可以使用pwd命令查找一下那個bin目錄的路徑。添加完路徑后,保存退出。接下來使用命令:source /etc/profile,是修改后的profile文件生效,如圖九所示。

然后,使用命令:arm-linux-gcc -v查看當前交叉編譯鏈工具的版本信息,如圖九中的紅線標注第③行所示。很明顯 可以看到,如果不執(zhí)行第②步,則查看版本信息不成功。

然后驗證交叉編譯工具鏈是否安裝成功并且可以使用,如圖九所示,隨便找一個目錄編輯一個hello源代碼。

編輯好hello.c文件后,保存退出。然后使用交叉編譯器對hello.c進行編譯,并生成可執(zhí)行文件hello

這里生成的hello文件并不能像gcc編譯出來的文件那樣直接使用“./hello”命令執(zhí)行并顯示內(nèi)容 因為它是一個二進制文件,只能下載到開發(fā)板上執(zhí)行!

至此,搭建交叉編譯環(huán)境步驟結(jié)束。

關(guān)于linux交叉編譯環(huán)境搭建的介紹到此就結(jié)束了,不知道你從中找到你需要的信息了嗎 ?如果你還想了解更多這方面的信息,記得收藏關(guān)注本站。

香港云服務(wù)器機房,創(chuàng)新互聯(lián)(www.cdcxhl.com)專業(yè)云服務(wù)器廠商,回大陸優(yōu)化帶寬,安全/穩(wěn)定/低延遲.創(chuàng)新互聯(lián)助力企業(yè)出海業(yè)務(wù),提供一站式解決方案。香港服務(wù)器-免備案低延遲-雙向CN2+BGP極速互訪!


當前名稱:如何搭建Linux交叉編譯環(huán)境(linux交叉編譯環(huán)境搭建)
鏈接URL:http://www.dlmjj.cn/article/dphposp.html