日韩黑丝制服一区视频播放|日韩欧美人妻丝袜视频在线观看|九九影院一级蜜桃|亚洲中文在线导航|青草草视频在线观看|婷婷五月色伊人网站|日本一区二区在线|国产AV一二三四区毛片|正在播放久草视频|亚洲色图精品一区

分享

Ubuntu12.04嵌入式交叉編譯環(huán)境arm-linu-gcc搭建過程,圖解

 WUCANADA 2013-07-11

Ubuntu12.04嵌入式交叉編譯環(huán)境arm-linu-gcc搭建過程,圖解

分類: Qt編程 364人閱讀 評論(2) 收藏 舉報

安裝環(huán)境

       Linux版本:Ubuntu 12.04    內(nèi)核版本:Linux 3.5.0   交叉編譯器版本:arm-linux-gcc-4.4.3 這個版本的交叉編譯器我已經(jīng)上傳到了資源上,可以隨便下載,點(diǎn)此下載

安裝前的絮叨

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

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

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

安裝步驟

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解壓縮安裝到當(dāng)前目錄下如下圖

    

    通過下圖可以看到解壓成功了,并且解壓后的文件存放在了/home/song/software/opt/FriendlyARM/toolschain/4.4.3文件夾下,如下圖所示,這個存放路徑可得記住,如下圖

   

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

      

   在profile中最后一行添加:  export PATH=$PATH:/home/song/software/opt/FriendlyARM/toolschain/4.4.3/bin  這個路徑就是那個bin目錄所在的路徑,可能你的不一樣,按照你實際的目錄填就可以了,如下圖32行

   

   編寫完保存就好了

4、使用命令:source /etc/profile 使環(huán)境變量生效

5、在終端上輸入命令  arm-linux 再按Tab鍵,可以看到下圖,說明環(huán)境變量設(shè)置成功了

   

6、使用命令:arm-linux-gcc -v 會出現(xiàn)下面的錯誤提示:/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

   

  說是出現(xiàn)這種問題的原因是由于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 看是否編譯成功

 

  可見成功生成了二進(jìn)制文件。   

    轉(zhuǎn)載請注明出處:http://blog.csdn.net/mybelief321/article/details/9076583

    本站是提供個人知識管理的網(wǎng)絡(luò)存儲空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點(diǎn)。請注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購買等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點(diǎn)擊一鍵舉報。
    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評論

    發(fā)表

    請遵守用戶 評論公約

    類似文章 更多