嵌入式交叉編譯環境搭建

2021-09-21 16:34:59 字數 2285 閱讀 2176

1,嵌入式交叉編譯環境搭建

所謂的搭建交叉編譯環境,即安裝、配置交叉編譯工具鏈。在該環境下編譯出嵌入式linux系統所需的作業系統、應用程式等,然後再上傳到目標機上。

交叉編譯工具鏈是為了編譯、鏈結、處理和除錯跨平台體系結構的程式**。對於交叉開發的工具鏈來說,在檔名稱上加了乙個字首,用來區別本地的工具鏈。例如,arm-linux-表示是對arm的交叉編譯工具鏈;arm-linux-gcc表示是使用gcc的編譯器。除了體系結構相關的編譯選項以外,其使用方法與linux主機上的gcc相同,所以linux程式設計技術對於嵌入式同樣適用。不過,並不是任何乙個版本拿來都能用,各種軟體包往往存在版本匹配問題。例如,編譯核心時需要使用arm-linux-gcc-4.3.3版本的交叉編譯工具鏈,而使用arm-linux-gcc-3.4

.1的交叉編譯工具鏈,則會導致編譯失敗。

那麼gcc和arm-linux-gcc的區別是什麼呢?區別就是gcc是linux下的c語言編譯器,編譯出來的程式在本地執行,而arm-linux-gcc用來在linux下跨平台的c語言編譯器,編譯出來的程式在目標機(如arm平台)上執行,嵌入式開發應使用嵌入式交叉編譯工具鏈。

嵌入式交叉編譯環境的搭建過程**解說

工具/原料

電腦系統:win7系統。虛擬機器系統:workstation6.

5 。虛擬機器安裝的linux版本:fedora9.0。核心:linux2.6.25

。方法/步驟

1我使用的交叉編譯工具鏈是arm-linux-gcc-4.4.3

,把它放在linux系統的路徑是圖一

嵌入式交叉編譯環境的搭建過程**解說

2如圖一所示,在linux系統的路徑/home/song/share下放了交叉編譯工具鏈arm-linux-gcc-4.4

.3的壓縮包,另乙個版本的不用。有的人可能會問到怎麼把這個壓縮包弄到虛擬機器的linux的系統的,我是通過samba服務從主機複製到虛擬機器的,這裡的share資料夾就是我samba伺服器的工作目錄,多了不說,這不是重點。

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

嵌入式交叉編譯環境的搭建過程**解說

3然後通過命令將share資料夾下的arm-linux-gcc-4.4.3.tar.gz複製到這裡的embedded資料夾下,如圖四所示。當然這裡你也可以不進行這一步我這是為了方便以後管理,將arm-linux-gcc安裝到embedded資料夾下,方便以後尋找。

嵌入式交叉編譯環境的搭建過程**解說

4然後使用tar命令:tar zxvf arm-gcc-4.4.3.tar.gz將embedded資料夾下的arm-linux-gcc-4.4.3

.tar.gz解壓縮安裝到當前目錄下 ,如圖五所示。

嵌入式交叉編譯環境的搭建過程**解說

5執行完解壓縮命令,就已經將交叉編譯工具鏈arm-linux-gcc-4.4

.3安裝到linux系統上了,這裡預設安裝到了圖六所示的路徑上。

嵌入式交叉編譯環境的搭建過程**解說

6接下來配置系統環境變數,把交叉編譯工具鏈的路徑新增到環境變數path中去,這樣就可以在任何目錄下使用這些工具。記下圖六中的安裝路徑,使用圖七中的命令:vi /etc/profile 編輯profile檔案,新增環境變數。

嵌入式交叉編譯環境的搭建過程**解說

7在profile中的位置處,新增圖八所示的紅線標註的一行,路徑就是圖六中的紅線標註的路徑後面加上/4.4.3/bin。

嵌入式交叉編譯環境的搭建過程**解說

8圖八中的路徑一定是你自己的安裝路徑,可以使用pwd命令查詢一下那個bin目錄的路徑。新增完路徑後,儲存退出。接下來使用命令:source /etc/profile,是修改後的profile檔案生效,如圖九所示。

嵌入式交叉編譯環境的搭建過程**解說

9然後,使用命令:arm-linux-gcc -v檢視當前交叉編譯鏈工具的版本資訊,如圖九中的紅線標註第③行所示。很明顯從圖九可以看到,如果不執行第②步,則檢視版本資訊不成功。

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

嵌入式交叉編譯環境的搭建過程**解說

嵌入式交叉編譯環境的搭建過程**解說

10編輯好hello.c檔案後,儲存退出。然後使用交叉編譯器對hello.c進行編譯,並生成可執行檔案hello,如圖11所示。

嵌入式交叉編譯環境的搭建過程**解說

11 嵌入式交叉編譯環境的搭建過程**解說

12至此,搭建交叉編譯環境步驟結束。

view code

嵌入式交叉編譯環境的搭建

2 解壓該交叉編譯工具到你指定的目錄,比如 tar jxvf arm linux gcc 3.4.1.tar.bz2 usr local 注意要修改 usr local arm的許可權,使用chmod 777 usr local arm修改 3 交叉編譯程式都在 usr local arm 3.4....

Ubuntu 環境中搭建嵌入式交叉編譯鏈方法

常用的方法大致2種 toolchain 一般為 arm linux gnueabihf 4.9.3 tar 解壓後 方法一 將編譯器的路徑加入到path中,用vi編輯 或者 nano vi bashrc,在末尾加入以下內容 例如 export path opt friendlyarm toolcha...

嵌入式開發和交叉編譯

摘錄自 什麼是嵌入式開發 基於嵌入式平台所進行的底層開發,我們稱之為 嵌入式開發 那麼現在傳說中的程式猿,哪些猿類是屬於嵌入式開發的呢?什麼是交叉編譯?簡單來說,在c語言 包括但不限於 編譯過程中會分為四個階段 預處理 編譯 彙編 鏈結 但是在以上過程中,需要占用 大量資源 在嵌入式裝置 嵌入式裝置...