EmbedFire i.MX 6ull开发板学习笔记(八)---使用mfgtools烧录固件

EmbedFire i.MX 6ull开发板学习笔记(八)---使用mfgtools烧录固件

之前为了调试方便,一直是将uboot烧录进SD卡,从SD卡启动,然后通过局域网下载内核的方式进行的。近期刚好做有关imx6ull的项目,要在上面实现5G上网功能,自己做的板子没有本地网卡,也不支持SD卡,只能将固件烧录进eMMC。NXP提供了烧录固件的工具mfgtools和uuu.exe,可烧录进eMMC。mfgtools是老板工具,现在官网文档里介绍的uuu.exe,uuu.exe是命令行的,不方面客户使用,我还是采用mfgtools。

一、mfgtools使用介绍

到官网下载mfgtools,目前的版本是IMX6_L4.1.15_2.0.0_MFG_TOOL,解压后,分为两个版本:with rootfs和without rootfs,顾名思义:就是要不要烧录rootfs。我们得选择with rootfs,继续解压,会看见很多vbs文件,其中mfgtool2-yocto-mx-evk-emmc.vbs便是我们要使用的。

mfgtools烧录固件的原理:读取Profiles\Linux\OS Firmware\ucl2.xml文件,根据当前硬件存储方式是eMMC,SD,NAND还是nor flash,自动烧录对应的uboot和设备树。

烧录过程:

  • 第一步:先将Profiles\Linux\OS Firmware\firmware目录下的uboot,设备和内核下载进内存,并以此启动内核。该目录下的文件请保持官方原版,千万不要替换为自己的版本。我们用到的是这三个文件。
u-boot-imx6ull14x14evk_emmc.imx
zImage
zImage-imx6ull-14x14-evk-emmc.dtb
  • 第二步:对存储器eMMC进行分区并格式化。
  • 第三步:下载Profiles\Linux\OS Firmware\files目录下的uboot,设备树、内核和rootfs,将其写入eMMC指定的分区。该目录下的文件才是我们真实需要烧录进eMMC的。烧录进入的几个文件是:
zImage
u-boot-imx6ull14x14evk_emmc.imx
zImage-imx6ull-14x14-evk-emmc.dtb
rootfs_nogpu.tar.bz2

待升级成功可看见如下界面。
在这里插入图片描述

二、改造mfgtools

了解了上面的烧录原理,我们便可以去mfgtools进行改造了,去掉其冗余臃肿的部分。

  1. 删掉mfgtools根目录下多余的vbs文件,仅保留mfgtool2-yocto-mx-evk-emmc.vbs即可。
  2. 删掉Profiles\Linux\OS Firmware\firmware目录下多余的uboot和设备树文件,仅保留上面三个文件即可。
  3. 删掉Profiles\Linux\OS Firmware\files目录下多余uboot,设备树、内核和rootfs文件,仅保留上面的四个文件即可。
  4. 修改ucl2.xml文件,仅保留与imx6ull,eMCC有关的部分。我修改后的如下。注意:firmware和file目录下文件名一定要和ucl2.xml中指定的一致。
<UCL>
  <CFG>
    <STATE name="BootStrap" dev="MX6ULL" vid="15A2" pid="0080"/>
    <STATE name="Updater"   dev="MSC" vid="066F" pid="37FF"/>
  </CFG>

  <LIST name="eMMC" desc="Choose eMMC as media">
	<CMD state="BootStrap" type="boot" body="BootStrap" file ="firmware/u-boot-imx6ull14x14evk_emmc.imx" ifdev="MX6ULL">Loading U-boot</CMD>
		
	<CMD state="BootStrap" type="load" file="firmware/zImage" address="0x80800000"
		loadSection="OTH" setSection="OTH" HasFlashHeader="FALSE" ifdev="MX6SL MX6SX MX7D MX6UL MX6ULL">Loading Kernel.</CMD>

	<CMD state="BootStrap" type="load" file="firmware/%initramfs%" address="0x83800000"
		loadSection
  • 0
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值