系统镜像烧写及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拨上去,其余可以不关心

image-20230920211429067

(2)板子上电,双击打开"Mfgtool2-eMMC-ddr512-eMMC.vbs"

注意:千万不要插上其它的U盘在电脑上,否则可能识别不到开发板的USB。

image-20220308231407950

这时可以检测到设备:

image-20220308204713740

如果拨码不正确,是检测不到设备的:

如果拨码正确,也检查不到设备,可尝试更换USB口。

image-20220308204732206

烧录过程中会在这里等一会儿,这是正常的:

image-20230920212959838

(3)等待烧写完成

image-20230920220234007 image-20220308204816748 image-20220308225452415

(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文件,指定架构和交叉编译工具:

image-20220308224112111

2.3 运行测试

编译完成后,生成的u-boot为u-boot.imx,注意不是u-boot.bin。

image-20220308232358933

然后,使用第一章烧写镜像的方法来重新烧写新编译的u-boot,需要替换以下两个路径的u-boot文件。

image-20220308224519376 image-20220308224654576

重新烧写完成后,重新启动,可以看到U-boot的编译日期,表示已经是新编译的U-boot了。

image-20220308225559822

posted @ 2022-03-08 23:29  zhengcixi  阅读(130)  评论(0编辑  收藏  举报
回到顶部