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

2023-10-27

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
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

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

  • vintage、迁移率、滚动率、入催率等概念——看完你就懂了

    随着互联网金融的发展 对数据分析的需求越来越大 数据分析的目的其实是为了找到风险和收益的平衡点 高收益伴随着高风险 而低风险的回报又如同鸡肋 所以 太高的风险 太低的收益都不行 平衡点通俗来讲就是风险在控制范围之中 收益也可以接受 为了找到
  • ebay的api开发技术说明,有点乱

    使用eBay API的基本步骤引入 开始eBay API 例如 以下基本步骤需要 1 注册开发者账号 https developer ebay com join Default aspx 2 选择API类型 eBay有大约6种API 开发语
  • QT自定义控件类,无法获取真实宽度和高度

    问题 自定义控件类 无法获取真实的高度和宽度 代码如下 头文件 ifndef ROUNDEDTOOLTIP H define ROUNDEDTOOLTIP H include
  • sql关键字的执行顺序

    sql语句关键词的执行顺序 from gt on gt outer join gt where gt group by gt cube rollup gt having gt select gt distinct gt order by g

随机推荐