linux系统嵌入式编译环境,Ubuntu 12.04嵌入式交叉编译环境arm-linux-gcc搭建过程图解...
Linux版本:Ubuntu 12.04 內(nèi)核版本:Linux 3.5.0 交叉編譯器版本:arm-linux-gcc-4.4.3 交叉編譯器下載 見(jiàn)這篇文章http://www.linuxidc.com/Linux/2011-05/35906.htm
安裝前的絮叨
首先簡(jiǎn)單介紹一下,所謂的搭建交叉編譯環(huán)境,即安裝、配置交叉編譯工具鏈。在該環(huán)境下編譯出嵌入式Linux系統(tǒng)所需的操作系統(tǒng)、應(yīng)用程序等,然后再上傳到目標(biāo)機(jī)上。
交叉編譯工具鏈?zhǔn)菫榱司幾g、鏈接、處理和調(diào)試跨平臺(tái)體系結(jié)構(gòu)的程序代碼。對(duì)于交叉開(kāi)發(fā)的工具鏈來(lái)說(shuō),在文件名稱(chēng)上加了一個(gè)前綴,用來(lái)區(qū)別本地的工具鏈。例如,arm-linux-表示是對(duì)arm的交叉編譯工具鏈;arm-linux-gcc表示是使用gcc的編譯器。除了體系結(jié)構(gòu)相關(guān)的編譯選項(xiàng)以外,其使用方法與Linux主機(jī)上的gcc相同,所以Linux編程技術(shù)對(duì)于嵌入式同樣適用。不過(guò),并不是任何一個(gè)版本拿來(lái)都能用,各種軟件包往往存在版本匹配問(wèn)題。例如,編譯內(nèi)核時(shí)需要使用arm-linux-gcc-4.3.3版本的交叉編譯工具鏈,而使用arm-linux-gcc-3.4.1的交叉編譯工具鏈,則會(huì)導(dǎo)致編譯失敗。
那么gcc和arm-linux-gcc的區(qū)別是什么呢?區(qū)別就是gcc是linux下的C語(yǔ)言編譯器,編譯出來(lái)的程序在本地執(zhí)行,而arm-linux-gcc用來(lái)在linux下跨平臺(tái)的C語(yǔ)言編譯器,編譯出來(lái)的程序在目標(biāo)機(jī)(如ARM平臺(tái))上執(zhí)行,嵌入式開(kāi)發(fā)應(yīng)使用嵌入式交叉編譯工具鏈。
安裝步驟
1、將壓縮包arm-linux-gcc-4.4.3.tar.gz存放在一個(gè)目錄下,這個(gè)目錄就是你等會(huì)解壓縮的目錄,以后這個(gè)目錄就不能隨便刪掉了,我的存放路徑是 /home/song/software,如下圖,記住這個(gè)路徑,等會(huì)還會(huì)用到。
2、使用tar命令:tar zxvf arm-gcc-4.4.3.tar.gz將software文件夾下的arm-linux-gcc-4.4.3.tar.gz解壓縮安裝到當(dāng)前目錄下如下圖
通過(guò)下圖可以看到解壓成功了,并且解壓后的文件存放在了/home/song/software/opt/FriendlyARM/toolschain/4.4.3文件夾下,如下圖所示,這個(gè)存放路徑可得記住,如下圖
3、接下來(lái)配置系統(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 這個(gè)路徑就是那個(gè)bin目錄所在的路徑,可能你的不一樣,按照你實(shí)際的目錄填就可以了,如下圖32行
編寫(xiě)完保存就好了
4、使用命令:source /etc/profile 使環(huán)境變量生效
5、在終端上輸入命令 arm-linux 再按Tab鍵,可以看到下圖,說(shuō)明環(huán)境變量設(shè)置成功了
6、使用命令:arm-linux-gcc -v 會(huì)出現(xiàn)下面的錯(cuò)誤提示:/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
說(shuō)是出現(xiàn)這種問(wèn)題的原因是由于Ubuntu12.04用的是64位的,解決方法就是使用命令:sudo apt-get install ia32-libs 裝一些32位的庫(kù)
7、待安裝完32位的庫(kù)之后,再使用命令:arm-linux-gcc -v,這一次就成功了,如下圖
8、驗(yàn)證,編譯一個(gè)hello.c文件
使用命令:arm-linux-gcc hello.c -o hello 看是否編譯成功
可見(jiàn)成功生成了二進(jìn)制文件。
創(chuàng)作挑戰(zhàn)賽新人創(chuàng)作獎(jiǎng)勵(lì)來(lái)咯,堅(jiān)持創(chuàng)作打卡瓜分現(xiàn)金大獎(jiǎng)總結(jié)
以上是生活随笔為你收集整理的linux系统嵌入式编译环境,Ubuntu 12.04嵌入式交叉编译环境arm-linux-gcc搭建过程图解...的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: linux常用网络命令详解,linux网
- 下一篇: linux菜单系统,Linux修改gru