ubuntu12.10下arm-linux-gcc交叉编译环境的搭建
交叉編譯環境搭建的原因:通俗上講,因為嵌入式系統可用資源比較少:幾十M的ARM 二三百M的flash相對我們的pc機來說資源真的沒法比。所以,為了解決這種局面就將PC機等作為主機,搭建開發環境,進行編譯,連接等工作,將編譯好的可執行文件bin,image,等燒錄到目標機上運行。所以就有了交叉編譯環境這一說。本人新手,經過google和實際的努力搭建起了 arm-linux-gcc-3.4.1編譯環境。基本過程如下,希望對初學者有所幫助。
?
經過昨天下午到現在的搜索,google,終于將arm-linux-gcc交叉編譯開發環境搭建起來。寫篇日志記錄一下整個的過程。
1、昨天開始對著開發手冊進行交叉編譯環境的搭建,當然了第一次自然會遭受到N個打擊。因為是新手遇到問題的第一反應自然是google,畢竟去大腦里搜索經驗是白搭的,大腦里記憶存儲幾乎為零。
2、網上各種搭建方法,大體上也都差不多,對于很多細節各不相同,當然了各種嘗試都試過了。依然不成功。
3、對于搭建環境過程中的反思-依然不熟悉linux目錄,大多數的方法都是講arm-linux-gcc-x.x.x.tar.gz拷貝到自己喜歡的目錄下執行解壓。比如說home/work等自己建立的目錄。這些都無所謂。執行的解壓命令對于tar.gz格式文件àtar–zxvf arm-linux-gcc-3.4.1.tar.gz(本人的實際操作).從實際上來說解壓過程并不復雜,也不麻煩。解壓完畢自然能在你當前文件夾底下看到解壓文件。本人實際操作—> /home/work/usr/local/arm/3.4.1
4、然后網上基本上都是執行cp命令將arm文件夾copy到/usr/local中去。其實第一次copy的時候我還郁悶呢。在我建立的目錄底下就已經是這樣了怎么還需要拷貝呢。其實后來我才明白。我是混淆了絕對路徑和相對路徑的問題。如果您執行 #cd /?? 那么您就回到了根目錄底下。”/”代表根目錄的意思,那么 #cd usr/local/???? #cp –rv arm /usr/local?這兩條命令就會將/home/work/usr/local/arm這個arm文件夾copy到/usr/local/中去。是拷貝到了根目錄的usr/local/下。? 我的錯誤之處。我執行cd命令的時候由于忽略了最前邊”/”的存在當成了相對路徑。 首先錯誤的執行了 #cd /usr/local此時我以為我進入的是home/usr/local/下(注意此時home前邊沒有/)實際上我是進入了/usr/local/所以執行copy的時候就會報錯,如果此時弄明白了,那么接下來的環境變量的添加也就很容易了。
5、環境變量的添加à網上大多是執行# vim/etc/bash.bashrc或者是# gedit /etc/bash.bashrc.別怪我多啰嗦一句,這也是進入了根目錄下的etc文件夾下的bash.bashrc文件。我的機器不能執行vim(我也不知道什么原因,煩勞知道的朋友告訴聲)。所以我就使用了vi命令進行修改。具體過程如下à# vi/etc/bash.bashrc???? 打開文件然后使用vi命令Esc 確保進入命令模式,然后按G進入文件尾,然后按$進入行尾,然后按o 添加尾行,寫入命令à
exportPATH=$PATH:/usr/local/arm/3.4.1/bin??
exportPATH 了解bash的對于這兩句就so easy了。添加變量,在環境變量的末尾添加上解壓路徑(額對于不太熟悉bash 和vi的童鞋請自己去掌握à針對新手)exportà用來定義一個環境變量。。。
6、環境變量添加完畢,接下來網上的多數資料基本上都是說運行#source /root/.bashrc那么就不用重啟了。這一點我倒是贊同的,畢竟我也沒有在安裝完畢后重啟機子,運行命令后確實能解決問題,然后運行 #echo $PATH? 進行環境變量的查看,由于我們第5條的寫入方法export PATH=$PATH:………這就表明了我們添加的環境變量時添加到了PATH的后邊,所以雖然有很多usr/local/bin但是最尾部的才是我們自己添加進去的。 如果看到了我們的變量。那么運行7、
7、#arm-linux-gcc-3.4.1–v呵呵或許就是最后一步了,其實對于大多數筒子來說不是的,執行之后或terminal會提示你 No file or directory之類的話,總而言之提示你找不到arm-linux-gcc的文件或者目錄。好糾結額,按照網上大多數的介紹做了實際效果卻沒有安裝成功。這是怎么回事呢。嗯這個問題也糾結了我很久。表示我也還沒解決這個問題。但是我知道這大概是由什么引起的。此時請你想一下你的ubuntu是不是64位的系統?如果是的話那么就對了。因為ubuntu64-32兼容性不是很好,所以你是缺少32位運行庫,那么網上的介紹是這樣的運行#sudo apt-get install ia32-libs進行升級32位兼容庫。如果您的網速還可以,人品也還可以,那么就會自動下載安裝庫,問題也就解決了。如果不成功那么請找方法安裝兼容庫去吧,此時問題就不是您會不會安裝交叉編譯環境了,不好意思。由于我的機子上有win7 64位系統,ubuntu12.10 64位系統的雙系統,結果我也悲劇了,倒騰了半天,突然想起來,win7里邊我有vmware的,里邊有個ubuntu12.10和13.04去看看哪個是32位的。幸運的狠我的vmware12.10是32位的
8、順便提醒一下對于vmware不相應u盤的問題:那么請à我的電腦à右鍵à管理à服務和應用程序à服務à找到相關VMWARE的相關項,啟動起來里邊有關于usb 服務的請啟動,vmware就會響應u盤。
9、這基本上就是我安裝arm-linux-gcc的簡略過程。其實網上多數的教程也是可用的,只是像我這樣的新手對新事物了解的不通透,而他們介紹的有的地方太簡略,導致卡在一個地方就過不去了。現在再去讓我安裝交叉編譯環境絲毫不用去看教程了。熟能生巧。就是這樣的。
2013-7-1516:25:40
?
?
總結
以上是生活随笔為你收集整理的ubuntu12.10下arm-linux-gcc交叉编译环境的搭建的全部內容,希望文章能夠幫你解決所遇到的問題。
 
                            
                        - 上一篇: 用delphi 做服务器,basic4a
- 下一篇: sphinx4 FrontEnd流程分析
