MFGTool是飞思卡尔提供的烧写工具,使用起来非常方便。但是,在使用MFGTool有几点是需要注意的,否则就会在烧写过程中遇到一些问题:
1、在使用MFGTool前,文件cfg.ini 和 UICfg.ini是必须要在同一个文件夹下,同时这两个文件一定要配置正确。
-
UICfg.ini用来配置每次同时可以烧写开发板的个数:
[UICfg]
PortMgrDlg=1
-
cfg.ini用来配置芯片类型和板子信息以及烧写内容存储方式:
[profiles]
chip = MX6DL Linux Update -----------芯片为i.mx6dl
[platform]
board = SabreSD ------------板子型号
[LIST]
name = i.MX6DL-ubuntu-SabreSD-SD ---------------烧写内容及存储方式
cfg.ini一定要根据你的板子和要烧写到哪里来设置,设置的信息和你使用的板子要匹配。
2、ucl2.xml
MFGTool烧写过程是完全按照ucl2.xml进行的。具体ucl2.xml的内容你可以到MFGTool-Dir/Profiles/MX6DL Linux Update/OS Firmware下查看。ucl2.xml中的烧写命令为linux命令(文档Manufacturing Tool V2 Quick Start Guide中有介绍)这里不再详述。
3、boot mode方式要正确
在烧写前要设置板子为下载模式,才可以进行烧写。
总结一下使用MFGTool烧写过程如下:
1)配置cfg.ini和UICfg.ini文件
2)设置boot mode为download模式
3)用OTG-USB线连接开发板和PC机
4)打开终端,并运行MfgTool2.exe
5)给开发板上电,出现如下HID-compliant device,点击Start开始下载。
4、如何使用MFGTool烧写image到你自己设计的板子上?
---->编译生成MFGTool使用所需要的U-Boot image 和 kernel image(具体操作参考文档Manufacturing Tool v2 Linux or Android Firmware Development Guide)
<LIST name="i.MX6DL-ubuntu-SabreSD-SD" desc="Choose eMMC android as media">
<CMD state="BootStrap" type="boot" body="BootStrap" file ="u-boot-mx6dl-sabresd.bin" >Loading U-boot</CMD>
<CMD state="BootStrap" type="load" file="uImage" address="0x10800000" loadSection="OTH" setSection="OTH" HasFlashHeader="FALSE" >Loading Kernel.</CMD>
---->编译生成板子上需要跑的U-boot、uImage和文件系统rootfs(具体操作方法查看你参考设计的板子的User Guider中有详细的步骤和介绍)
<CMD state="Updater" type="push" body="send" file="files/u-boot-mx6dl-sabresd.bin">Sending U-Boot</CMD>
<CMD state="Updater" type="push" body="$ dd if=$FILE of=/dev/mmcblk1 bs=512 seek=2 skip=2">write U-Boot to sd card</CMD>
<CMD state="Updater" type="push" body="send" file="files/uImage">Sending kernel uImage</CMD>
<CMD state="Updater" type="push" body="$ dd if=$FILE of=/dev/mmcblk1 bs=1M seek=1 conv=fsync">write kernel image to sd card</CMD>………….
<CMD state="Updater" type="push" body="pipe tar --numeric-owner -zxv -C /mnt/mmcblk1p1" file="files/oneiric.tgz">Sending and writting rootfs</CMD>
---->根据ucl2.xml文件中的内容来创建你自己设计板子的烧写过程,只要修改原有的U-Boot 和 kernel就够了。