基于迅為IMX6ULL開發(fā)板 我們?cè)诘谌轮v解了如何在 Linux 下進(jìn)行 C 程序開發(fā),我們使用的 gcc 編譯器進(jìn)行代碼的編譯,編譯完,直接在 X86 架構(gòu)下的 PC 下運(yùn)行的。我們學(xué)習(xí)的 i.MX6 ULL 是 arm 架構(gòu)的,所以我們需要使用支持 arm 的編譯器并且該編譯器在 X86 架構(gòu)下運(yùn)行,這個(gè)編譯器我們通常稱為交叉編譯器。arm 交 叉 編 譯 器 有 很 多 種 , 我 們 使 用 Linaro 公 司 的 arm 交 叉 編 譯 器 , 下 載 地 址 : releases.linaro.org/components/toolchain/binaries/4.9-2017.01/arm-linux-gnueabihf/ 如圖 4.3.1 所示
在圖 4.3.1 中有多種 arm 交叉編譯器,我們需要根據(jù)安裝的 Ubuntu 系統(tǒng)來選擇對(duì)應(yīng)的版本下載:如果安裝的是 Ubuntu 32 位的系統(tǒng)我們需要下載 gcc-linaro-4.9.4-2017.01-i686_arm-linux-gnueabihf.tar.xz;
如果安裝的 Ubuntu 是 64 位系統(tǒng)我們需要下載gcc-linaro-4.9.4-2017.01-x86_64_arm-linux-gnueabihf.tar.xz。這兩種版本的交叉編譯器我們已經(jīng)放在了光盤資料的“i.MX6UL 終結(jié)者光盤資料\01_開發(fā)及燒寫工具\1、交叉編譯器”目錄下。 下面我們開始在 Ubuntu 下搭建 arm 交叉編譯器,由于我們安裝的是 Ubuntu 64 位系統(tǒng),所以我們選擇使用編譯器“gcc-linaro-4.9.4-2017.01-x86_64_arm-linux-gnueabihf.tar.xz”。首先我們需要通過 ssh 文件傳輸工具把 arm 交叉編譯器拷貝到 Ubuntu 系統(tǒng)下。我們?cè)?Ubuntu 的用戶根目錄下建立文件夾“tools”,用來保存一些開發(fā)用到的工具。然后使用 ssh 文件傳輸工具將 arm 交叉編譯器傳輸?shù)轿覀儎偛旁?Ubuntu 系統(tǒng)下創(chuàng)建的“tools”目錄下,如圖 4.3.2 所示:
交叉編譯器傳輸?shù)?/font> Ubuntu 的用戶根目錄的“tools”目錄下以后,然后在終端輸入“sudo mkdir /usr/local/arm”命令創(chuàng)建“/usr/local/arm”目錄,如題 4.3.3 所示:
然后拷貝剛才上傳的交叉編譯器到“/usr/local/arm”目錄下,我們?cè)诮K端輸入命令“sudo /home/topeet/tools/gcc-linaro-4.9.4-2017.01-x86_64_arm-linux-gnueabihf.tar.xz/usr/local/arm/”,運(yùn)行結(jié)果如圖 4.3.4 所示:
拷貝完成以后,進(jìn)入到“/usr/local/arm”目錄下,在終端輸入“sudo tar -vxf gcc-linaro-4.9.4-2017.01-x86_64_arm-linux-gnueabihf.tar.xz”解壓 arm 交叉編譯器,如圖 4.3.5 所示:
解壓完成以后會(huì)生成“gcc-linaro-4.9.4-2017.01-x86_64_arm-linux-gnueabihf”文件夾,,這就是我們需要的交叉編譯工具,如圖 4.3.6 所示:
然后我們?cè)诮K端輸入“sudo vi /etc/profile”命令,在文件的最后輸入“export PATH=$PATH:/usr/local/arm/gcc-linaro-4.9.4-2017.01-x86_64_arm-linux-gnueabihf/bin”修改環(huán)境變量,如圖 4.3.7 所示:
然后保存并退出,在終端輸入“reboot”命令重新啟動(dòng) Ubuntu 系統(tǒng),使交叉編譯環(huán)境生效。Ubuntu 系統(tǒng)重新起來以后,我們登錄到系統(tǒng),打開終端,輸入“arm-linux-gnueabihf-gcc -v”,如果終端有如圖 4.2.3.8所示的打印信息,說明交叉編譯環(huán)境搭建成功(如果沒有出現(xiàn) 4.3.8 所示的打印信息,需要檢查下圖 4.3.7中的配置填寫是否正確)。
|