一. MFGTools的基本使用
1. 概述
操作步骤:
第一步:
在运行MfgTool2.exe之前,必须确保cfg.ini和UIcfg.ini存在,此外还要确保这两个文件的配置正确。如果配置有误可能不能正常的工作。UIcfg.ini文件是用来描述与配置同时支持多少个开发板的,UIcfg.ini文件格式为文本文件,文件内容如下:[UICfg]
PortMgrDlg=1
例如,当前只有一个开发板,那么它只需要支持一个即可,因此PortMgrDlg=1即可,如果需要支持4个,那么PortMgrDlg=4,目前最多支持4个,因此该值的范围是1~4。
Cfg.ini文件用来配置目标芯片和目标操作列表,文件格式和UIcfg.ini一样,文件内容如下:[profiles]
chip = MX6DL Linux Update
[platform]
board = ARM2
[LIST]
name = Android-SD
“profiles/chip”用于表明目标profile name,“list/name”用于表明目标操作链表名,该名字可以在"profiles/CHIP_PROFILE/OSFirmware/ucl2.xml"文件中找到,也就是会按照此链表配置的流程进行烧写系统。“platform/board”字段目前保留,在修改的时候忽略即可。
第二步:
开发板设置好启动模式,如USB OTG(设置拨码,在核心板上有丝印,按照丝印拨码即可 ),链接好USB线,一端链接开发板的OTG,另一端链接运行MFGTools的PC。连接好后系统上电,在PC的设备管理器里可以看到人体学设备 Hid-compliant device。到此确定连接和启动方式已经完全正确,可以进入第三步了。
第三步:
双击MfgTool2.exe开始运行。这里需要注意,当首次使用MFGTools V2版本的时候,必须将设备连好之后再运行。MFGTools起来之后只有两个按钮,一个start,一个exit,如果点击start开始烧写,点击后start按钮表现为stop,如果start按钮显示为stop时不能点击exit按钮进行退出,只有停止烧写了才能exit,镜像烧写的过程会花费一些时间,如果中途点击stop,接着再点击start,那么MFGTools会接着上次stop的地方继续烧写。不过官方不建议这样做。
图1.1 MFGTools运行效果
第四步:

图1.2 MFGTools烧写过程

图1.3 终端工具显示效果
在烧写过程中,图1.2中,下面两个框是进度条,上面是具体加载的哪块,如图显示loading kernel,说明正在烧写kernel。在stop、exit按钮上面有个状态框,用于显示成功操作信息和失败操作信息。当一切烧写完成,会显示Done,两个进度条满格并且显示绿色。
图1.4 烧写完毕
注意:在下载文件系统到sd卡上时,MFGTools可能会报一些错误信息,这可能是sd卡的分区太小而导致的空间不足,为了解决这一问题,可以解压"Profiles\ CHIP_PROFILE \OSFirmware\mksdcard.sh.tar"并根据系统需求在脚本中修改分区,修改之后需要重新运行脚本。
2. 配置文件ucl2.XML
Ucl2.xml为版本2对应的配置文件,相对于ucl.xml要更复杂,但是ucl.xml的内容同样适用于ucl2.xml,相对于ucl.xml,v2做了如下改变:
2.1 The <STATE>...</STATE>
在V2中,该条目简化了,v1的是:
<STATE name="Recovery" dev="MX6Q"/>
<DEV name="MX6DL/Solo" vid="15A2" pid="0054"/>
V2的是:
<STATE name="BootStrap" dev="MX6Q" vid="15A2" pid="0054"/>
这里需要说明,如果name是"BootStrap",在该条目下dev只能是"MX6Q", "MX6D", "MX6SL",其余值均不合法。name只能是"BootStrap","Updater",其余不合法。如果name是"Updater",则dev必须是"MSC",该名称对所有的SoC来说固定不变。
2.2 添加state属性
在<CMD> <CMD/>中可以添加state属性,ucl.xml和ucl2.xml的例子如下:
ucl.xml:
<CMD type="boot" body="Recovery" file ="u-boot-mx6sl.bin" >Loading U-boot</CMD>
ucl2.xml:
<CMD state="BootStrap" type="boot" body="Recovery" file ="u-boot-mx6sl.bin" >Loading U-boot</CMD>
2.3 state的概念
通常目标板烧写过程分为两个阶段:分别是bootstrap 和updater。Bootstrap阶段,MFGTools将特殊的uboot和kernel镜像烧写到目标板上,这特殊的镜像在目标板正常运行后为下一阶段做准备。Updater阶段,是主机(PC)与目标板建立连接,然后将uboot、kernel、文件系统等烧写到目标板的整个过程。
2.4 find命令不再使用
Find命令不再使用了,直接从ucl的脚本中移除。最后一个命令必须是Done,例如:
<CMD state="Updater" type="push" body="$ echo Update Complete!">Done</CMD
二. MFGTools的基本使用
MFGTools是飞思卡尔专门为imx系列产品开发的烧写工具,随着版本的更新,烧写工具也越来越强大。1. MFGTools目录简介
MFGTools为飞思卡尔专门为imx系列产品开发的一