Ubuntu下安裝arm-linux-gcc-4.4.3.tar.gz (交叉編譯環境)

參考了前人的成果,結合自己實踐,arm-linux-gcc-4.4.3.tar.gz的下載地址爲:
http://ishare.iask.sina.com.cn/f/13836544.html?from=like

本人所用系統是Ubuntu12.04,但只要是Ubuntu應該都可以安照此步驟安裝。

1.解壓文件

解壓 tar zxvf arm-linux-gcc-4.4.3.tar.gz -C/( 
直接解壓後就可以,-C/會讓解壓的文件自動放在根目錄下指定路徑,不用管)
下載arm-linux-gcc-4.4.3.tgz到任意的目錄下,進入這個文件夾

sudo tar xvzf arm-linux-gcc-4.4.3.tgz –C /

注意:C後面有個空格(不需要),並且C是大寫的(必須),它是英文單詞“Change”的第一個字母,在此是改變目錄的意思。執行該命令,將把arm-linux-gcc 安裝到/opt/Friendlyarm/toolschain/4.4.3 目錄。

2.建立目錄

sudo mkdir /usr/local/arm

3.複製文件

sudo cp -r /opt/FriendlyARM/toolschain/4.4.3 /usr/local/arm

5.添加環境變量


網上很多修改環境變量的方法,很雜。有 redhat上面的,fedora。下面一共三種方法,有人都在UBUNTU11.10上試過,可行。(本人只用了第一種方法做過,其他的沒有試過)

方法一:修改/etc/bash.bashrc文件(此文件只對當前用戶適用)
sudo gedit /etc/bash.bashrc
在最後加上 export PATH=$PATH:/opt/FriendlyARM/toolschain/4.4.3/bin  (路徑)(注意等號那邊不要有空格)

方法二:修改/etc/profile文件(此文件屬於系統級別的環境變量,設置在裏面的東西對所有用戶適用)
sudo gedit /etc/profile
增加路徑設置,在末尾添加如下:
export PATH=$PATH:/usr/local/arm/4.4.3/bin

方法三:修改/etc/environment文件
sudo gedit /etc/environment
原文件應爲
PATH="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games“
將其改爲
PATH="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/arm/4.4.3/bin"

關於環境變量問題:

環境變量是什麼?例如path,當要求系統運行一個程序而沒有告訴它程序所在的完整路徑時,系統除了在當前目錄下面尋找此程序外,還應到path中指定的路徑去找。用戶通過設置環境變量,來更好的運行進程。
如果上面不加入環境變量,要運行arm-linux-gcc這個程序,則每次都要把arm-linux-gcc的完整路徑寫出來。/usr/local/arm/4.4.3/binarm-linux-gcc 文件名 -o 輸出文件名
這樣非常的麻煩,所以加到path裏面,讓電腦知道這個程序在哪裏。

6.註冊環境變量(此步未做,步驟8同樣顯示安裝成功)

立即使新的環境變量生效,不用重啓電腦,對應步驟5也有3種方法
方法一:source /root/.bashrc
    或者
   ./etc/bash.bashrc
方法二:source /etc/profile
方法三:立即生效

7.檢查是否將路徑加入到PATH(此步未做,步驟8同樣顯示安裝成功)

echo $PATH
顯示內容/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/arm/4.4.3/bin說明已經將交叉編譯器的路徑加入PATH。至此,交叉編譯環境安裝完成。

8.測試是否安裝成功

方法一:另開一個終端,輸入arm-,然後按兩下Tab,如果出現下列信息,則表明安裝成功
arm2hpdl                            arm-linux-gprof
arm-elf-addr2line                   arm-linux-ld
arm-elf-ar                          arm-linux-nm
arm-elf-as                          arm-linux-objcopy
arm-elf-c++                         arm-linux-objdump
arm-elf-c++filt                     arm-linux-populate
arm-elf-elf2flt                     arm-linux-ranlib
arm-elf-flthdr                      arm-linux-readelf
arm-elf-g++                         arm-linux-size
arm-elf-gcc                         arm-linux-strings
arm-elf-ld      
發佈了49 篇原創文章 · 獲贊 13 · 訪問量 10萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章