基于迅為IMX6ULL開發板 我們在第三章講解了如何在 Linux 下進行 C 程序開發,我們使用的 gcc 編譯器進行代碼的編譯,編譯完,直接在 X86 架構下的 PC 下運行的。我們學習的 i.MX6 ULL 是 arm 架構的,所以我們需要使用支持 arm 的編譯器并且該編譯器在 X86 架構下運行,這個編譯器我們通常稱為交叉編譯器。arm 交 叉 編 譯 器 有 很 多 種 , 我 們 使 用 Linaro 公 司 的 arm 交 叉 編 譯 器 , 下 載 地 址 : releases.linaro.org/components/toolchain/binaries/4.9-2017.01/arm-linux-gnueabihf/ 如圖 4.3.1 所示
1.jpg (24.89 KB, 下載次數: 64)
下載附件
2020-6-3 10:49 上傳
在圖 4.3.1 中有多種 arm 交叉編譯器,我們需要根據安裝的 Ubuntu 系統來選擇對應的版本下載:如果安裝的是 Ubuntu 32 位的系統我們需要下載 gcc-linaro-4.9.4-2017.01-i686_arm-linux-gnueabihf.tar.xz;
如果安裝的 Ubuntu 是 64 位系統我們需要下載gcc-linaro-4.9.4-2017.01-x86_64_arm-linux-gnueabihf.tar.xz。這兩種版本的交叉編譯器我們已經放在了光盤資料的“i.MX6UL 終結者光盤資料\01_開發及燒寫工具\1、交叉編譯器”目錄下。 下面我們開始在 Ubuntu 下搭建 arm 交叉編譯器,由于我們安裝的是 Ubuntu 64 位系統,所以我們選擇使用編譯器“gcc-linaro-4.9.4-2017.01-x86_64_arm-linux-gnueabihf.tar.xz”。首先我們需要通過 ssh 文件傳輸工具把 arm 交叉編譯器拷貝到 Ubuntu 系統下。我們在 Ubuntu 的用戶根目錄下建立文件夾“tools”,用來保存一些開發用到的工具。然后使用 ssh 文件傳輸工具將 arm 交叉編譯器傳輸到我們剛才在 Ubuntu 系統下創建的“tools”目錄下,如圖 4.3.2 所示:
2.jpg (11.12 KB, 下載次數: 56)
下載附件
2020-6-3 10:49 上傳
交叉編譯器傳輸到 Ubuntu 的用戶根目錄的“tools”目錄下以后,然后在終端輸入“sudo mkdir /usr/local/arm”命令創建“/usr/local/arm”目錄,如題 4.3.3 所示:
3.jpg (5.98 KB, 下載次數: 46)
下載附件
2020-6-3 10:49 上傳
然后拷貝剛才上傳的交叉編譯器到“/usr/local/arm”目錄下,我們在終端輸入命令“sudo /home/topeet/tools/gcc-linaro-4.9.4-2017.01-x86_64_arm-linux-gnueabihf.tar.xz/usr/local/arm/”,運行結果如圖 4.3.4 所示:
4.jpg (4.9 KB, 下載次數: 71)
下載附件
2020-6-3 10:49 上傳
拷貝完成以后,進入到“/usr/local/arm”目錄下,在終端輸入“sudo tar -vxf gcc-linaro-4.9.4-2017.01-x86_64_arm-linux-gnueabihf.tar.xz”解壓 arm 交叉編譯器,如圖 4.3.5 所示:
5.jpg (12.48 KB, 下載次數: 52)
下載附件
2020-6-3 10:49 上傳
解壓完成以后會生成“gcc-linaro-4.9.4-2017.01-x86_64_arm-linux-gnueabihf”文件夾,,這就是我們需要的交叉編譯工具,如圖 4.3.6 所示:
6.jpg (6.45 KB, 下載次數: 56)
下載附件
2020-6-3 10:49 上傳
然后我們在終端輸入“sudo vi /etc/profile”命令,在文件的最后輸入“export PATH=$PATH:/usr/local/arm/gcc-linaro-4.9.4-2017.01-x86_64_arm-linux-gnueabihf/bin”修改環境變量,如圖 4.3.7 所示:
7.jpg (5.91 KB, 下載次數: 50)
下載附件
2020-6-3 10:49 上傳
然后保存并退出,在終端輸入“reboot”命令重新啟動 Ubuntu 系統,使交叉編譯環境生效。Ubuntu 系統重新起來以后,我們登錄到系統,打開終端,輸入“arm-linux-gnueabihf-gcc -v”,如果終端有如圖 4.2.3.8所示的打印信息,說明交叉編譯環境搭建成功(如果沒有出現 4.3.8 所示的打印信息,需要檢查下圖 4.3.7中的配置填寫是否正確)。
8.jpg (32.03 KB, 下載次數: 55)
下載附件
2020-6-3 10:49 上傳
|