MFGTool V2 快速入门指南
本文档是飞凌嵌入式 i.MX6 平台(OKMX6DL/Q-C)提供的 Manufacturing Tool V2(MFGTool2)快速使用指南。
核心概念
MFGTool2 是 NXP/Freescale 官方的 i.MX 系列芯片量产烧录工具,支持通过 USB OTG 接口将固件写入目标板。整个烧录过程分为两个阶段:
- BootStrap 阶段:主机侧通过 USB 将 U-Boot 和 Kernel 镜像下载到目标板 RAM 中运行
- Updater 阶段:目标板固件运行后,与主机建立连接,完成最终固件写入存储介质
使用前准备
配置文件
必须在应用程序同目录下存在两个配置文件:
| 文件 | 作用 | 关键配置项 |
|---|---|---|
cfg.ini | 目标芯片配置 | [profiles] → chip(芯片Profile名);[LIST] → name(操作列表名) |
UICfg.ini | 并发烧录端口数 | [UICfg] → PortMgrDlg=1~4 |
cfg.ini 示例:
[profiles]
chip = MX6DL Linux Update
[platform]
board = ARM2
[LIST]
name = Android-SD启动模式设置
- 将开发板拨码开关设置为正确的 USB 启动模式(参考 Linux BSP 用户手册)
- 用 USB OTG 线连接开发板与 PC
- 设备管理器应显示 HID 兼容设备
烧录步骤
- 双击运行 MFGTool2.exe(首次使用时必须先连接设备再启动)
- 界面仅有两个可点击按钮:Start/Stop 和 Exit
- 点击 Start 开始烧录
- 烧录完成后点击 Stop,再点击 Exit 退出
- 建议同时打开串口终端观察调试信息
注意:停止后重新启动烧录,工具会尝试从断点继续,但不保证成功,不推荐这样做。
SD 卡烧录失败排查
若提示 SD 卡烧录失败,通常是 SD 卡分区太小导致空间不足:
- 解压
Profiles\CHIP_PROFILE\OS Firmware\mksdcard.sh.tar - 修改脚本增大分区尺寸或创建额外分区
- 重新打包为 tar 格式
命令行支持
MFGTool2 支持命令行参数,可用于自动化批量烧录:
MfgTool2.exe [-noui] [-c "chip profile"] [-l "list name"] [-p N] [-s "var=val"]
| 参数 | 说明 | 示例 |
|---|---|---|
-noui | 使用控制台界面(无 GUI) | MfgTool2.exe -noui -c "MX6Q Linux Update" -l "Sabre-SD" -p 4 |
-c | 指定芯片 Profile 名称 | -c "MX6Q Linux Update" |
-l | 指定操作列表名(在 ucl2.xml 中定义) | -l "Android-SabreSD-eMMC" |
-p | 同时烧录的板卡数量(1-4) | -p 2 |
-s | 设置 UCL 变量,可多次使用 | -s "board=sabresd" -s "mmc=0" |
命令行参数优先级高于 cfg.ini / UICfg.ini 中的同名配置。
自定义烧录流程
要烧录自己的镜像,需要:
- 生成专门的 MFG Tool 固件(U-Boot + Kernel),参考《Manufacturing Tool V2 Linux or Android Firmware Development Guide》
- 生成正常用户可使用的 U-Boot 和 Kernel 镜像
- 基于现有
ucl2.xml创建自定义操作列表,通常只需替换镜像文件名
UCL 操作列表与存储介质
每个操作列表对应一种存储介质配置,列表名即隐含了目标介质:
Sabre-SD→ SD 卡ubuntu-SabreSD-eMMC→ eMMCARM2-SD→ SD 卡(ARM2 板)
熔丝(Fuse)编程
支持通过以下命令写入 OTP 熔丝:
ls /sys/fsl_otp # 查看 fuse bank 列表
echo 0x11223344 > /sys/fsl_otp/HW_OCOTP_MAC0 # 写入 MAC 地址等
cat /sys/fsl_otp/HW_OCOTP_MAC0 # 读取验证