Manufacturing Tool V2 (MFGTool2) 烧写工作流

飞凌 i.MX6 平台配套文档,讲清 MFGTool2.exe、cfg.ini、UICfg.ini、ucl2.xml 与镜像文件之间的关系,以及烧写流程如何被这几个配置文件驱动。

核心概念

MFGTool2 的基本职能:用特定的 SoC 配置,把镜像烧到特定目标板(board)的特定存储(storage)上。整套工作流由五个要素协作完成:

要素作用
MFGTool2.exe烧写执行主体,基于 USB 工作
cfg.ini告诉工具去哪里找 ucl2.xml、用哪个操作列表
UICfg.ini定义并发设备数(只需配 PortMgrDlg)
ucl2.xml定义 SoC 的 PID/VID + 全部操作列表(operation list)+ 命令
二进制文件ram kernel/U-Boot 与 normal kernel/U-Boot

配置五步(文档主线,Q&A 形式)

  1. 告知 SoC 类型:不同 SoC 的 USB PID/VID 不同,MFGTool2 靠 PID/VID 监控设备树锁定正确设备。SoC 名和 PID/VID 写在 ucl2.xml 开头的 <CFG> 段里,一份 ucl2.xml 对应一种 SoC。
  2. 告知 ucl2.xml 位置:cfg.ini 的 [profiles] 段 chip = MX6Q Linux Update,工具按相对路径 Profiles\${chip}\OS Firmware 找 ucl2.xml。
  3. 定义最大并发设备数:UICfg.ini 中只配 PortMgrDlg,工具据此创建线程和 UI 资源。
  4. 指定目标存储和目标板:不同板的 uboot.bin/kernel 镜像不同,操作也不同——用 ucl2.xml 中的操作列表区分(一个操作列表 = 一种存储 × 一种板的组合)。cfg.ini 的 [LIST] name = Sabre-SD 选择具体使用哪个列表。
  5. 准备二进制文件:两类——
    • ram kernel + 配套 U-Boot:烧写过程中在目标板上临时运行(BootStrap 阶段命令使用的即是,如 u-boot-mx6q-sabresd.bin、uImage)
    • normal kernel + 配套 U-Boot:最终用户实际运行的版本(放 files/ 子目录,如 files/u-boot-mx6q-sabresd.bin、files/uImage)
    • 文件路径相对于 ucl2.xml;ram kernel 生成方法见《Mfgtool Linux or Android Firmware Development Guide V2》,normal 镜像生成超出 MFGTool 范畴。

烧写执行流程(工具内部逻辑)

  1. 解析操作列表,取出全部待执行命令
  2. 监控设备树,按 ucl2.xml <CFG> 定义的 PID/VID 找到目标设备
  3. 按 PID/VID 判断当前处于哪个烧写阶段(phase/state)——不同阶段 PID/VID 对不同
  4. 按阶段取对应命令
  5. 执行命令

ucl2.xml 命令示例

<CMD state="BootStrap" type="boot" body="BootStrap" file="u-boot-mx6q-sabresd.bin">Loading U-boot</CMD>
<CMD state="BootStrap" type="load" file="uImage" address="0x10800000" ...>Loading Kernel.</CMD>
<CMD state="Updater" type="push" body="send" file="files/u-boot-mx6q-sabresd.bin">Sending u-boot.bin</CMD>
<CMD state="Updater" type="push" body="send" file="files/uImage">Sending kernel uImage</CMD>

state 属性即阶段名(BootStrap / Updater),与第 3 步的 phase 判断对应。

可行动点

  • 为新板卡做烧写配置时:复制一份 ucl2.xml,改 <CFG> 的 PID/VID 和操作列表名,镜像放 files/ 下,cfg.ini 的 chip 与 name 对齐即可。
  • 排查”工具找不到设备”:先核对 SoC 实际 PID/VID 与 <CFG> 是否一致,再看 cfg.ini 的 chip 路径是否指对了 Profiles 子目录。
  • 排查”烧错镜像”:核对 [LIST] name 选中的操作列表与实际板卡存储类型是否匹配。

关联

  • 深入阅读:MFGTool-V2-UCL用户指南(<CFG> 与 phase/state 详解)、MFGTool-V2-快速入门指南(上手操作)
  • 同系列旧笔记:MFGTool-V2-烧录工作流说明(本文档 Linux 副本的早期笔记,内容等价)
  • 同目录系列文档:Release Notes、Factory Operation manual、UTP Introduction、Linux/Android Firmware Development Guide
  • 云盘 /工作相关/飞凌嵌入式imx6全部资料/ 下该文档有约 8 份完全相同的副本(190760 字节),本笔记为统一代表,其余副本已在日志中标记跳过。