本文章是基于整點原子的imx6ull alpha開發板
其他的工具我們就不做介紹了,比如ubuntu ftp,ssh等等,我們主要來介紹下編譯鏈
背景:因為在原子的教程中有強調最新的Linaro gcc編譯完uboot后無法運行的問題,所以原子采用4.9,那我們就沿用下。
Linaro gcc有兩個版本: gcc-linaro-4.9.4-2017.01-i686_arm-linux-gnueabihf.tar.tar.xz 和 gcc-linaro-4.9.4-2017.01-x86_64_arm-linux-gnueabihf.tar.xz,
第一個是針對 32 位系統的,第二個是針對 64 位系統的。大家根據自己所使用的 Ubuntu 系統類型選擇合適的版本,比如我安裝的 Ubuntu 20.04 是 64 位系統,因此我要使用 gcc-linaro-4.9.4-2017.01-x86_64_arm-linux-gnueabihf.tar.xz。
這兩種交叉編譯器我們已經下載好放到了開發板光盤中,路徑: 5、開發工具->1、交叉編譯器。我們要先將交叉編譯工具拷貝到 Ubuntu 中,當然你們也可以去https://releases.linaro.org/components/toolchain/binaries/下載各個版本試一下:
我放置的路徑為:~/project/board/yuanzi/imx6ull/tool
解壓
sudo tar -vxf gcc-linaro-4.9.4-2017.01-x86_64_arm-linux-gnueabihf.tar.xz
環境變量設置
touch env.sh
vim env.sh
編輯為以下內容:
#!/bin/bash
export PATH=/home/zhongjun/project/board/yuanzi/imx6ull/tool/gcc-linaro-4.9.4-2017.01-x86_64_arm-linux-gnueabihf/bin:$PATH
NOTED:根據自己的路徑有所差別,我把路徑放在PATH前面是因為我有其他的編譯鏈
使能環境變量
source env.sh
查看是否配置成功
arm-linux-gnueabihf-gcc -v
顯示4.9.4證明我們就配置成功了
我們使用的是原子自帶的uboot源碼,在資料中路徑如下:【正點原子】阿爾法Linux開發板(A盤)-基礎資料\01、例程源碼\03、正點原子Uboot和Linux出廠源碼\
make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- distclean
make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- mx6ull_14x14_ddr512_emmc_defconfig
make V=1 ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- -j12
由于我們買的事DDR512的,所以我們選擇這個命令
編譯完成顯示這個
copy imxdownload工具到u-boot路徑下
chmod 777 imxdownload //給予 imxdownload 可執行權限,一次即可
./imxdownload u-boot.bin /dev/sdx
NOTED:/dev/sdx是SD卡的在ubuntu的枚舉節點名稱,至于你怎么確認,就插拔一下看看是哪個就好了,我的節點名稱是/dev/sdc,注意哈,千萬別弄錯了,因為這個工具會格式化,別把自己的電腦搞掛了!
把SD卡插到板中,撥碼到SD卡啟動,然后插上USB TTY的port,上電啟動
輸出信息為:
我們使用的是原子自帶的uboot源碼,在資料中路徑如下:【正點原子】阿爾法Linux開發板(A盤)-基礎資料\01、例程源碼\03、正點原子Uboot和Linux出廠源碼\
make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- distclean
make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf imx_alientek_emmc_defconfig
make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- menuconfig
make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- all -j16
編譯完成顯示這個
使用mfgtol燒錄就可以了
ubuntu我們通過nfs來互通文件
sudo apt-get install nfs-kernel-server rpcbind
mount -t nfs -o nolock,nfsvers=3,vers=3 10.88.110.31:/home/zhongjun/project/board/yuanzi/imx6ull/nfs /mnt/nfs
NOTED:需要arm開發板插上網線,并且能ping通ubuntu