系统烧写

本文档介绍了如何使用NXP的MfgTool工具通过USB OTG烧写uboot、linux kernel、.dtb和rootfs到EMMC等存储设备,包括官方系统和自制系统的烧写步骤,以及如何改造烧写工具。适用于产品开发中离线运行的需求。
摘要由CSDN通过智能技术生成

前面我们已经移植好了 uboot 和 linux kernel,制作好了根文件系统。但是我们移植都是通
过网络来测试的,在实际的产品开发中肯定不可能通过网络来运行,否则没网的时候产品岂不
是就歇菜了。因此我们需要将 uboot、 linux kernel、 .dtb(设备树)和 rootfs 这四个文件烧写到板子
上的 EMMC、 NAND 或 QSPI Flash 等其他存储设备上,这样不管有没有网络我们的产品都可以
正常运行。本章我们就来学习一下如何使用 NXP 官方提供的 MfgTool 工具通过 USB OTG 口来
烧写系统。

MfgTool 工具简介

MfgTool 工具是 NXP 提供的专门用于给 I.MX 系列 CPU 烧写系统的软件,可以在 NXP 官
网下载到。此工具已经放到了开发板光盘中,路劲为:5、开发工具->3、NXP官方原版 MFG_TOOL
烧写工具->L4.1.15_2.0.0-ga_mfg-tools.tar.gz。此软件在 Windows 下使用,对于我们来说太友好
了。将此压缩包进行解压,解压完成以后会出现一个名为 L4.1.15_2.0.0-ga_mfg-tools 的文件夹。
“ without-rootfs”和“ with-rootfs”,
一个是带 rootfs 和一个是不带 rootfs。 mfg_tools 这个工具本意是给 NXP 自己的开发板设计的烧
写软件,所以肯定带有自家开发板对应的 uboot、 linux kernel 和 rootfs 的文件。我们肯定是要烧
写文件系统的,所以选择 mfgtools-with-rootfs.tar.gz 这个压缩包。
进入目录 mfgtools-with-rootfs\mfgtools 中,在此目录下有几个文件夹和很多的.vbs 文件。
我们只关心Profiles 这个文件夹,因为后面要烧写文件就放到这个文件夹中。
MfgTool2.exe 就是烧写软件,但是我们不会直接打开这个软件烧写, mfg_tools 不仅能烧写
I.MX6U,而且也能给 I.MX7、 I.MX6Q 等芯片烧写,所以在烧写之前必须要进行配置,指定烧
写的是什么芯片,烧写到哪里去?下面的这些众多的.vbs 文件就是配置脚本,烧写的时候通过
双击这些.vbs 文件来打开烧写工具。这些.vbs 烧写脚本既可以根据处理器的不同,由用户选择
向 I.MX6D、 I.MX6Q、 I.MX6S、 I.MX7、 I.MX6UL 和 I.MX6ULL 等的哪一款芯片烧写系统。也
可以根据存储芯片的不同,选择向 EMMC、 NAND 或 QSPI Flash 等的哪一种存储设备烧写,功
能非常强大!!
我们现在需要向 I.MX6U 烧写系统,因此需要参考表 39.1.1 所示的 5 个烧写脚
本:
脚本文件 描述
mfgtool2-yocto-mx-evk-emmc.vbs EMMC 烧写脚本。
mfgtool2-yocto-mx-evk-nand.vbs NAND 烧写脚本
mfgtool2-yocto-mx-evk-qspi-nor-n25q256a.vbs QSPI Flash 烧写脚本,型号为 n25q256a
mfgtool2-yocto-mx-evk-sdcard-sd1.vbs 如果 SD1 和 SD2 接的 SD 卡,这两个文件分
mfgtool2-yocto-mx-evk-sdcard-sd2.vbs 别向 SD1 和 SD2 上的 SD 卡烧写系统。
表 39.1.1 I.MX6U 使用的烧写脚本
其他的.vbs 烧写脚本用不到,因此可以删除掉,防止干扰我们的视线。

MfgTool 工作原理简介

39.2.1 烧写方式
1、连接 USB 线
MfgTool 是通过 USB OTG 接口将系统烧写进 EMMC 中的
2、拨码开关拨到 USB 下载模式
如果插了 TF 卡,请弹出 TF 卡,否则电脑不能识别 USB!等识别出来以后再插上 TF 卡!
一切准备就绪以后,按一下开发板的复位键,此时就会进入到 USB 模式,如果是第一次进
入 USB 模式的话可能会久一点,这个是免驱的,因此不需要安装驱动。

39.2.2 系统烧写原理
开发板连接电脑以后双击“ mfgtool2-yocto-mx-evk-emmc.vbs”,打开下载对话框。
如果出现“符合 HID 标准的供应商定义设备”就说明连接正常,可以进行烧写,如果出现
其他的字符那么就要检查连接是否正确。点击“ Start”按钮即可开始烧写,烧写什么东西呢?
肯定是烧写 uboot、 Linux kernel、 .dtb 和 rootfs,那么这四个应该放到哪里 MfgTool 才能访问到
呢?进入如下目录中:
L4.1.15_2.0.0-ga_mfg-tools/mfgtools-with-rootfs/mfgtools/Profiles/Linux/OS Firmware
文件夹“ OS Firmware”看名字就知道是存放系统固件的,我们重点关注 files、 firmware 这
两个文件夹,以及 ucl2.xml 这个文件。在具体看这三个文件和文件夹之前,我们先来简单了解
一下 MfgTool 烧写的原理, MfgTool 其实是先通过 USB OTG 先将 uboot、 kernel 和.dtb(设备树)
这是三个文件下载到开发板的 DDR 中,注意不需要下载 rootfs。就相当于直接在开发板的 DDR
上启动 Linux 系统,等 Linux 系统启动以后再向 EMMC 中烧写完整的系统,包括 uboot、 linux
kernel、 .dtb(设备树)和 rootfs,因此 MfgTool 工作过程主要分两个阶段:
①、将 firmware 目录中的 uboot、 linux kernel 和.dtb(设备树),然后通过 USB OTG 将这个
文件下载到开发板的 DDR 中,目的就是在 DDR 中启动 Linux 系统,为后面的烧写做准备。
②、经过第①步的操作,此时 Linux 系统已经运行起来了,系统运行起来以后就可以很方
便的完成对 EMMC 的格式化、分区等操作。 EMMC 分区建立好以后就可以从 files 中读取要烧
写的 uboot、 linux kernel、 .dtb(设备树)和 rootfs 这 4 个文件,然后将其烧写到 EMMC 中,这个
就是 MfgTool 的大概工作流程。
1、 firmeare 文件夹
打开 firmware 文件夹,里面有很多的.imx 结尾的 uboot 文件、一个 zImage 镜像文件、很
多.dtb结尾的设备树文件。这些文件都是 NXP官方开发板使用的,不同的板子使用不同的文件,
其中我们需要关心的只有表 39.2.2.1 中的这三个文件:
脚本文件 描述
zImage NXP 官方 I.MX6ULL EVK 开发板的 Linux 镜像文件。
u-boot-imx6ull14x14evk_emmc.imx NXP 官方 I.MX6ULL EVK 开发板的 uboot 文件。
zImage-imx6ull-14x14-evk-emmc.dtb NXP 官方 I.MX6ULL EVK 开发板的设备树
表 39.2.2.1 I.MX6ULL EVK 开发板使用的系统文件
表 39.2.2.1 中的这三个文件就是 I.MX6ULL EVK 开发板烧写系统的时候第一阶段所需的文
件。如果要烧写我们的系统,就需要用我们编译出来的 zImage、 u-boot.imx 和 imx6ull-alientekemmc.dtb 这三个文件替换掉表 39.2.2.1 中这三个文件。但是名字要和表 39.2.2.1 中的一致,因
此需要将 u-boot.imx 重命名为 u-boot-imx6ull14x14evk_emmc.imx,将 imx6ull-alientek-emmc.dtb
重命名为 zImage-imx6ull-14x14-evk-emmc.dtb。
2、 files 文件夹
将表 39.2.2.1 中的这三个文件下载到开发板的 DDR 上以后烧写的第一阶段就完成了,第二
阶段就是从 files 目录中读取整个系统文件,并将其烧写到 EMMC 中。 files 目录中的文件和
firmware 目录中的基本差不多,都是不同板子对应的 uboot、设备树文件,同样,我们只关心表
39.2.2.2 中的四个文件:
脚本文件 描述
zImage NXP 官方 I.MX6ULL EVK 开发板的 Linux 镜像文件。
u-boot-imx6ull14x14evk_emmc.imx NXP 官方 I.MX6ULL EVK 开发板的 uboot 文件。
zImage-imx6ull-14x14-evk-emmc.dtb NXP 官方 I.MX6ULL EVK 开发板的设备树
rootfs_nogpu.tar.bz2
根文件系统,注意和另外一个 rootfs.tar.bz2 根文件系
统区分开。 nogpu 表示此根文件系统不包含 GPU 的内
容, I.MX6ULL 没有 GPU,因此要使用此根文件系统
表 39.2.2.2 I
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值