安裝環境
Linux版本:Ubuntu 12.04 核心版本:Linux 3.5.0 交叉編譯器版本:arm-linux-gcc-4.4.3 這個版本的交叉編譯器我已經上傳到了資源上,可以隨便下載,點此下載
安裝前的絮叨
首先簡單介紹一下,所謂的搭建交叉編譯環境,即安裝、配置交叉編譯工具鏈。在該環境下編譯出嵌入式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平臺)上執行,嵌入式開發應使用嵌入式交叉編譯工具鏈。
安裝步驟
1、將壓縮包arm-linux-gcc-4.4.3.tar.gz存放在一個目錄下,這個目錄就是你等會解壓縮的目錄,以後這個目錄就不能隨便刪掉了,我的存放路徑是 /home/song/software,如下圖,記住這個路徑,等會還會用到。
2、使用tar命令:tar zxvf arm-gcc-4.4.3.tar.gz將software資料夾下的arm-linux-gcc-4.4.3.tar.gz解壓縮安裝到當前目錄下如下圖
通過下圖可以看到解壓成功了,並且解壓後的檔案存放在了/home/song/software/opt/FriendlyARM/toolschain/4.4.3資料夾下,如下圖所示,這個存放路徑可得記住,如下圖
3、接下來配置系統環境變數,把交叉編譯工具鏈的路徑新增到環境變數PATH中去,這樣就可以在任何目錄下使用這些工具。記下上一步中的安裝路徑,使用命令:vim /etc/profile 編輯profile檔案,新增環境變數。
在profile中最後一行新增: export PATH=$PATH:/home/song/software/opt/FriendlyARM/toolschain/4.4.3/bin 這個路徑就是那個bin目錄所在的路徑,可能你的不一樣,按照你實際的目錄填就可以了,如下圖32行
編寫完儲存就好了
4、使用命令:source /etc/profile 使環境變數生效
5、在終端上輸入命令 arm-linux 再按Tab鍵,可以看到下圖,說明環境變數設定成功了
6、使用命令:arm-linux-gcc -v 會出現下面的錯誤提示:/home/song/software/opt/FriendlyARM/toolschain/4.4.3/bin/arm-linux-gcc: 15: exec: /home/song/software/opt/FriendlyARM/toolschain/4.4.3/bin/.arm-none-linux-gnueabi-gcc: not found
說是出現這種問題的原因是由於Ubuntu12.04用的是64位的,解決方法就是使用命令:sudo apt-get install ia32-libs 裝一些32位的庫
7、待安裝完32位的庫之後,再使用命令:arm-linux-gcc -v,這一次就成功了,如下圖
8、驗證,編譯一個hello.c檔案
使用命令:arm-linux-gcc hello.c -o hello 看是否編譯成功
可見成功生成了二進位制檔案。
轉載請註明出處:http://blog.csdn.net/mybelief321/article/details/9076583