首页 > 其他 > 详细

NXP官方MfgTools工具使用

时间:2020-02-21 19:25:29      阅读:149      评论:0      收藏:0      [点我收藏+]

1、前言

MfgTools软件工具是NXP官方进行提供的用于I.MX系列的SoC进行系统烧写的一个软件,能在Windows系统上使用,通过USB OTG接口完成系统烧写,一般在开发板进行量产的时候进行使用,能提高系统的烧写效率,当然,肯定也能在系统调试时使用,对于该软件的获取,直接去NXP官方网站上即可获取。

 

2、MfgTools基本原理

接下来,将对MfgTools的系统烧写基本原理进行简单介绍,软件下载解压后,目录如下所示:

技术分享图片

可以看到,MfgTools软件目录下的目录和文件非常多,但是我们并不需要全部了解和关心,了解进行系统烧写时需要用到和修改的就好,软件目录下的MfgTool2.exe就是烧写软件,以.vbs结尾的文件就是烧写的配置文件,该软件能支持多款I.MX系统的SoC系统烧写,还能支持Nand Flash、eMMC和SD卡等存储介质系统烧写,因此,在对每一款SoC进行系统烧写之前,肯定要进行配置,指定好需要烧写的芯片以及存储介质,.vbs结尾的文件就是配置脚本,能直接运行,例如,下面的.vbs脚本功能:

脚本文件 功能
mfgtool2-yocto-mx-evk-emmc.vbs NXP官方评估板的eMMC烧写脚本
mfgtool2-yocto-mx-evk-nand.vbs NXP官方评估板的Nand Flash烧写脚本

MfgTools烧写的基本原理为将目标板的启动模式设置为Serial Downloader模式(BOOT_MODE[1:0]=01),然后通过USB OTG接口将uboot、Linux kernel和dtb下载到DDR内存中,然后将DDR里面的Linux系统启动起来,接下来通过这个启动的Linux系统将目标镜像固化到Nand Flash或eMMC中。

接下来,看看烧写的固件在哪里,进入到下面的目录:

L4.1.15_2.0.0-ga_mfg-tools\mfgtools-without-rootfs\mfgtools\Profiles\Linux\OS Firmware

目录打开后,如下:

技术分享图片

我们主要关注的是files和firmware这两个文件夹,还有ucl2.xml文件,其中files和firmware目录中保存了我们需要烧写的固件,files文件夹中保存了需要固化到存储介质的镜像文件,firmware文件夹中保存了我们需要启动的Linux系统镜像,ucl2.xml文件描述了整个烧写过程,决定了我们向哪个SoC烧写哪个固件,因此这些文件夹和目录非常重要,必须要清晰地了解。

在了解这些文件之前,先来看看前面介绍到.vbs脚本文件,例如mfgtool2-yocto-mx-evk-nand.vbs,烧写Nand Flash的配置文件,该文件代码如下:

Set wshShell = CreateObject("WScript.shell")
wshShell.run "mfgtool2.exe -c ""linux"" -l ""NAND Flash"" -s 
""sxuboot=sabreauto"" -s ""sxdtb=sabreauto"" -s
""6uluboot=14x14evk"" -s ""6uldtb=14x14-evk"" -s
""board=sabreauto"" -s ""nand=nand"" -s ""nanddtb=gpmi-weim"" -s
""part_uboot=0"" -s ""part_kernel=1"" -s ""part_dtb=2"" -s ""part_rootfs=3"" " Set wshShell = Nothing

目测,该脚本运行了目录下的mfgtool2.exe软件,并且定义了一堆的变量,变量都有相应的值,对于i.mx6ul这款SoC,总结一些重要的变量,如下:

"6uluboot=14x14evk"
"6uldtb=14x14-evk"
"nand=nand"
"nanddtb=gpmi-weim"
"part_uboot=0"
"part_kernel=1"
"part_dtb=2"
"part_rootfs=3"

得到了这些变量后,接下来,我们看看ucl2.xml文件,该文件将决定烧写什么固件,怎么烧写,先来看看该文件的整体框架,如下所示:

技术分享图片

可以看到,整个.xml文件是从"<UCL>"开始,然后以"</UCL>"结束,"<CFG>"到"</CFG>"之间貌似是配置相关的内容,判断当前是在给I.MX系列的哪个SoC进行镜像烧写,并且具有很多<LIST>描述的内容,"<LIST>"和"</LIST>"之间很明显是针对不同存储介质所要执行的烧写命令。

3、MfgTools更新固件

4、小结

NXP官方MfgTools工具使用

原文:https://www.cnblogs.com/Cqlismy/p/12342156.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!