系统镜像烧写及U-Boot编译
1 系统镜像烧写
1.1 工具介绍
烧写软件:使用NXP的MfgTool2工具烧写,工具路径:【正点原子】阿尔法Linux开发板(A盘)-基础资料\05、开发工具\04、正点原子MFG_TOOL出厂固件烧录工具\mfgtool
硬件:两条Micro USB线,一条插在USB_TTL口(用于打印烧录过程的信息),一条插在USB_OTG上(用于烧录)。
1.2 烧写过程
(1)拨码开关的1拨下来,2拨上去,其余可以不关心
(2)板子上电,双击打开"Mfgtool2-eMMC-ddr512-eMMC.vbs"
注意:千万不要插上其它的U盘在电脑上,否则可能识别不到开发板的USB。
这时可以检测到设备:
如果拨码不正确,是检测不到设备的:
如果拨码正确,也检查不到设备,可尝试更换USB口。
烧录过程中会在这里等一会儿,这是正常的:
(3)等待烧写完成
(4)烧写完成后,将拨码开关1拨上去,2拨下来,从EMMC启动,需要保证拨码开关为10100110。
(5)注意,如果要替换自己的二进制:
fileware下面的文件可以不用替换,只需要将自己修改好的uboot,Linux内核镜像,设备树以及根文件系统拷贝到file目录下进行替换。因为fileware下面的uboot与Linux镜像以及设备树只是做引导下载的作用,不影响我们后面的使用。
2 编译U-boot
2.1 源码
源码所在路径:【正点原子】阿尔法Linux开发板(A盘)-基础资料\01、例程源码\03、正点原子Uboot和Linux出厂源码\uboot-imx-2016.03-2.1.0-gee88051-v1.6.tar.bz2
2.2 编译源码
将源码拷贝到Linux系统下,然后使用交叉编译工具进行编译,我安装的是arm-none-linux-gnueabi-工具,和教程不同,不过方式一样。
# Make clean
make ARCH=arm CROSS_COMPILE=arm-none-linux-gnueabi- distclean
# 生成配置文件
make ARCH=arm CROSS_COMPILE=arm-none-linux-gnueabi- mx6ull_14x14_ddr512_emmc_defconfig
# 编译U-boot
make V=1 ARCH=arm CROSS_COMPILE=arm-none-linux-gnueabi- -j10
也可以将上述三条命令写成一个sh脚本:
#!/bin/bash
make ARCH=arm CROSS_COMPILE=arm-none-linux-gnueabi- distclean
make ARCH=arm CROSS_COMPILE=arm-none-linux-gnueabi- mx6ull_14x14_ddr512_emmc_defconfig
make V=1 ARCH=arm CROSS_COMPILE=arm-none-linux-gnueabi- -j10
或者直接修改顶层的Makefile文件,指定架构和交叉编译工具:
2.3 运行测试
编译完成后,生成的u-boot为u-boot.imx,注意不是u-boot.bin。
然后,使用第一章烧写镜像的方法来重新烧写新编译的u-boot,需要替换以下两个路径的u-boot文件。
重新烧写完成后,重新启动,可以看到U-boot的编译日期,表示已经是新编译的U-boot了。