一、基本概念
通常我們在Linux環境下進行開發,編譯出的鏡像文件需要在ARM板卡上運行。Linux環境編譯器gcc是x86架構的,而ARM板卡需要ARM架構,這樣就需要使用交叉編譯工具鏈進行編譯,從而保證在x86環境下開發的代碼最終編譯生成ARM架構的鏡像,可以直接在板卡上運行。
二、安裝步驟
2.1 官網下載壓縮包
-
Linaro官網地址如下:
https://www.linaro.org/downloads/
-
尋找跟板卡CPU架構吻合的工具鏈(這裏以imx6ull芯片爲例,ARM-A7架構(32bit Armv7))
找到【arm-linux-gnueabihf】後面的描述爲【32-bit Armv7 Cortex-A, hard-float, little-endian】
-
點擊後面的Binaries
-
發現有很多可供使用的編譯器,本人在這用的4.9版本的編譯器
附上4.9版本編譯器所在鏈接: https://releases.linaro.org/components/toolchain/binaries/4.9-2017.01/arm-linux-gnueabihf/ 64位系統,則選擇如下編譯器進行下載: gcc-linaro-4.9.4-2017.01-x86_64_arm-linux-gnueabihf.tar.xz 32位系統,則選擇如下編譯器進行下載: gcc-linaro-4.9.4-2017.01-i686_arm-linux-gnueabihf.tar.xz
2.2 開始安裝
2.2.1 解壓工具鏈到固定目錄下
-
依次執行下述命令進行解壓(目錄可以根據自身需要進行修改,本人保存在/usr/local/arm/下)
sudo mkdir /usr/local/arm sudo mv gcc-linaro-4.9.4-2017.01-x86_64_arm-linux-gnueabihf.tar.xz /usr/local/arm/ cd /usr/local/arm sudo tar -vxf gcc-linaro-4.9.4-2017.01-x86_64_arm-linux-gnueabihf.tar.xz rm gcc-linaro-4.9.4-2017.01-x86_64_arm-linux-gnueabihf.tar.xz
2.2.2 配置環境變量
-
打開/etc/profile文件
sudo vim /etc/profile
-
文件末尾添加
export PATH=$PATH:/usr/local/arm/gcc-linaro-4.9.4-2017.01-x86_64_arm-linux-gnueabihf/bin
-
重啓系統
2.2.3 安裝相關庫
-
安裝下述依賴庫
sudo apt-get install lsb-core lib32stdc++6
2.2.4 驗證
-
輸入命令
arm-linux-gnueabihf-gcc -v
-
打印末尾有版本號,則表明安裝成功
xxx xxxx xxxxx Thread model: posix gcc version 4.9.4 (Linaro GCC 4.9-2017.01) lsy@ubuntu18:~/Tools$