本人的開(kāi)發(fā)環(huán)境是ubuntu12.05的64版本,運(yùn)行在11.00的虛擬機(jī)上。首先說(shuō)明為什么需要搭建交叉編譯環(huán)境。我們知道,我們的開(kāi)發(fā)一般在PC機(jī)上,是基于X86架構(gòu)的,而我們的開(kāi)發(fā)板卻是基于ARM架構(gòu)的。如果在PC主機(jī)上編輯編譯我們的程序,那編譯時(shí)按照X86架構(gòu)來(lái)進(jìn)行的,這樣的話編譯的二進(jìn)制代碼就無(wú)法再ARM開(kāi)發(fā)板上運(yùn)行,所以我們需要安裝交叉編譯環(huán)境,既方便我們?cè)赑C主機(jī)上進(jìn)行編輯, 又能在開(kāi)發(fā)板子上運(yùn)行起來(lái)。

一般來(lái)說(shuō), 交叉編譯工具集一般芯片廠商會(huì)提供編譯好的工具鏈。但也可以自己動(dòng)手編譯交叉工具鏈。這里我選擇的友善之臂提供的工具鏈--arm-linux-gcc-4.5.1-v6-vfp-20120301.tar。

在ubuntu中進(jìn)行安裝,其實(shí)就是個(gè)解壓縮的過(guò)程,解壓到linux中的標(biāo)準(zhǔn)目錄。好了,廢話不多說(shuō)了,下面進(jìn)行安裝:

  • 1. 將壓縮包拷貝到共享目錄下, 在ubuntu中進(jìn)入共享目錄;

  • 2. 進(jìn)行壓縮包解壓, 敲入命令sudo tar -zxvf arm-linux-gcc-4.5.1-v6-vfp-20120301.tar -C /;這里需要注意的是tar包的解壓命令, 還有-C是大寫(xiě)的C, 表示改變要安裝的目錄,后面跟的就是要安裝的目錄, 因?yàn)楫a(chǎn)家制作的時(shí)候就已經(jīng)打包好了,就直接寫(xiě)根目錄就行了; 

  • 3.解壓成功后就可以在解壓信息中看到解壓到的目錄中,打開(kāi)該目錄,就可以看到各個(gè)文件夾了。

  • 4.使用交叉編譯工具鏈有兩個(gè)方式:一個(gè)是使用絕對(duì)路徑的方法, 比如我的是敲擊命令$ /opt/FriendlyARM/toolschain/4.5.1/bin/arm-linux-gcc -o build 1.c;另一個(gè)是使用簡(jiǎn)單方法, 直接敲命令arm-linux-gcc -o build 1.c,但這種方法需要配置環(huán)境變量。

  • 5.配置環(huán)境變量, sudo vi etc/environment后在后面添加:opt/FriendlyARM/toolschain/4.5.1/bin/,保存退出,之后再更新一下就可以了,source etc/environment,以后就可以用相對(duì)路勁的方法編譯了,編譯時(shí)直接敲arm-linux-gcc -o build 1.c。