转载地址:http://blog.csdn.net/lu_embedded/article/details/70243870
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烧写过程如下:
- 配置cfg.ini和UICfg.ini文件
- 设置boot mode为download模式
- 用OTG-USB线连接开发板和PC机
- 打开终端,并运行MfgTool2.exe
- 给开发板上电,出现如下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 就够了。
Question: 在修改 uboot 文件时有两个地方,一个是在 firmware 文件中的 uboot 文件,另外一个是在 files 文件中的 uboot 文件,这两个文件是一样的,请问修改 uboot 时是两个都要修改还是只需要修改其中一个?
Answer: firmware 文件中的 uboot 文件和 files 文件中的 uboot 文件这两个文件是不一样的。firmware 文件中的 uboot 文件是给烧写工具 mfgtool 使用的,files 文件中的 uboot 文件才是给板子用的。修改 u-boot 的话也要根据情况而定。