Linux|MFGTools使用说明及详细分析,iMX6烧录,USB烧录

MFGTools使用说明及详细分析
参考:NXP官方MfgTools工具使用https://www.cnblogs.com/Cqlismy/p/12342156.html
一、MFGTools是i.MX系列SoC的官方烧录工具。
二、MFGTools原理:
下面分析通过USB OTG烧录iMX6芯片
以i.mx6ul这款SoC进行举例分析
MFGTools目录下面,很多文件及文件夹。但大部分跟我们不相关。
【Linux|MFGTools使用说明及详细分析,iMX6烧录,USB烧录】其中,重要的是烧录脚本.vbs 。如:core-image-base-myd-y6ulxy2-ddr256m-nand256m.vbs(会有很多vbs脚本,选择适合自己板子的)。改脚本的内容如下:

Set wshShell = CreateObject("WScript.shell") wshShell.run "mfgtool2.exe -c ""linux"" -l ""NAND Flash""-s ""board=sabreauto"" -s ""lite=l"" -s ""6uluboot=14x14"" -s ""nand=nand"" -s ""6uldtb=14x14"" -s ""ddrsize=256"" -s ""nanddtb=gpmi-weim"" -s ""part_uboot=0"" -s ""part_kernel=2"" -s ""part_dtb=3"" -s ""part_rootfs=4"" -s ""rootfs=core-image-base-myd-y6ull14x14.rootfs.tar.bz2""" Set wshShell = Nothing

脚本运行了目录下的mfgtool2.exe软件,并且定义了一堆的变量,变量都有相应的值。这些变量在ucl2.xml里面会用到。
接下来,打开Profiles\Linux\OS Firmware\ucl2.xml文件。框架如下:
Linux|MFGTools使用说明及详细分析,iMX6烧录,USB烧录
文章图片

文件以"" ,""为开始和结束,""与""标签是配置相关的内容,判断当前是在给I.MX系列的哪个SoC进行镜像烧写,并且具有很多个描述的内容,"",""标签是根据不同存储介质来去执行相应的命令。
下面针对进行分析:
Linux|MFGTools使用说明及详细分析,iMX6烧录,USB烧录
文章图片

烧录流程如下:
第一步:烧录uboot、kernel(zImage)、initramfs、dtb到DRAM中,这些文件保存在:Profiles\Linux\OS Firmware\firmware。
然后执行Jumping to OS image 。这就是去启动已经下载到DRAM中的Linux系统。然后在DRAM中的Linux再去执行第二个步骤。
第二步:该步骤,通过DRAM中已经启动的Linux系统,将用户需要固化的固件,uboot、kernel、dtb、fs,烧录到开发板上。比如烧录到NAND或者eMMC。需要固化的固件保存在:Profiles\Linux\OS Firmware\files。

三、烧录自己的固件
MFGTools目录下有很多文件,是官方针对不同的评估板制定的。我们只需要根据自己的实际情况,修改相应的固件文件。
总结:Profiles\Linux\OS Firmware\firmware这里的固件,是烧录到DRAM里面的,然后启动DRAM里面的Linux系统,再去把Profiles\Linux\OS Firmware\files里面的固件固化到NAND或者eMMC里面。
因此,Profiles\Linux\OS Firmware\firmware这里的东西,不需要改,使用官方的即可。
我们需要把自己的固件,添加到 Profiles\Linux\OS Firmware\files 这里。固件的名字,需要和ucl2.xml里面的对应。


    推荐阅读