Manufacturing(Mfg) tool provides a quite flexible way for users to set their own operations.An xml script file is used to configure the users operation.
An xml filetypically consists of a number of tasks which can be executed by runningmanufacturing tool just one time.
1 UTP mode operation 串行传输协议,我们使用这种方法烧录
1.1 Global Configuration
Mfg tool uses global configuration to recognizewhich device is what user want to flash among a lot of USB devices connected toPC.
因为MFG工具同时支持4个USB口烧录,这里指定了USB端口的VID/PID信息,由用户通过GUI操作生成,不需要手工修改。
Let’s explain it by an example.
<CFG>
<STATE name="BootStrap" dev="MX51" />
<DEV name="MX51" vid="15A2"pid="0041"/> 定义i.mx5 USB口的VID/PID
<STATE name="Updater" dev="Updater" /> 定义升级模式不能修改
<DEV name="Updater" vid="066F"pid="37FF" />
</CFG>
Global configuration is contained betweenparameter <CFG> and </CFG>.
<STATE name="BootStrap"dev="MX51" /> is used to define ROM code running mode for targeteddevice. You can change "MX51" to any name you want.
<DEV name="MX51"vid="15A2" pid="0041"/> is used to specify USB deviceVID and PID of the device defined in the dev section of <STAT name=>sentence. The two dev names MUST be same.
<STATE name="Updater" dev="Updater" /> is used todefine updater mode, it should be never be changed.
<DEV name="Updater" vid="066F"pid="37FF" /> is used to specify USB MSC device VID and PID fortargeted device.
1.2 Update Command List
The tool uses Update Command List (UCL) tospecify all the user tasks. The UCL contains a distinct list for each use case.Each list contains a set of command elements with attributes for the commandtype, body and payload. The command element text provides a user interfacemessage for the current operation.
Each UCL begins from <LIST name=”xx”,desc=”xxx”> while ending with </LIST>, wherein name can be specifiedby users. Parameter “desc” is used for comment purpose.
每一条更新命令列表如下列开始
<LISTname=”名字”,desc=”备注信息”>
</LIST>
There are two types of commands: hostspecific commands and firmware specific commands. Host specific commands areparsed and executed by host tool while firmware specific commands are parsedand executed by firmware runs on targeted device.
有两种命令:
1、 主机特定命令,由主机MFG工具执行
2、固件特定命令,由目标机执行
1.2.1 Host specific commands
Below example shows a typical command.
“CMD type” specifies the type of a command.指定命令类型
“body” is a parameter of the command.命令的参数
“file”is another parameter. 命令的别一个参数
“Booting update client engine.” isdescription of the command. 命令的描述,随意写。
<CMD type="boot" body="Recovery"file="uce.sb" if="HabDisable">Booting update clientengine.</CMD>
Command type |
Body |
Other parameters |
Description |
find |
BootStrap /Updater |
timeout |
Find the device which is under specified mode. The value of parameter “body” is the very one defined in STATE section of Global Configuration. Parameter “timeout” is used to specify the timeout value (second unit) when device is not found. 寻找处于引导模式的设备。因为MFG同时支持4个USB下载,所以利用该命令,可找到当前处于下载模式的设备。 |
init |
Memory |
file |
Initialize RAM memory which is used to store the mini-OS sent from host. file: specify the path and name of the file which contains memory initialization setting according to the memory type of the targeted hardware uses. The format of the file must follow the example provided in release package. The command is only for Bulk-IO mode i.MX device except i.MX50 HID mode device. |
load |
|
file Address loadSection setSection HasFlashHeader CodeOffset |
Download an image to RAM. It is strongly recommended to follow the example provided in release package since it involves ROM code parameters which is not easy to understand. file: specify the path and name of the image file. 指定映像文件的路径和名称 Parameter “address” specifies the RAM address where image locates. 映像在内存中的位置 loadSection: a parameter used by ROM code, should be set to “OTH” ROM代码的一个参数,应该设置为OTH(other) setSection: a parameter used by ROM code, should be set to “OTH” if there are other images to be loaded; set to “APP” if the last image is loaded. 如果还有其他映像的话,设置为OTH,如果是最后一个映像了则设置为APP,用于通知ROM代码,下载结束了。 HasFlashHeader: set TRUE if the image contains a flash header, or set to FALSE. CodeOffset: the address offset of first executed instruct within the image. The command is only for Bulk-IO mode i.MX device except i.MX50 HID mode device. |
jump |
|
|
Notify ROM code to jump to the RAM image to run. The command must be followed after a |