飞思卡尔烧写工具mfgtools的使用
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开始下载。

编译生成板子上需要跑的U-boot、uImage和文件系统rootfs(具体操作查看你参考设计的板子的User Guider中有详细的步骤和介绍)
Sending U-Boot
write U-Boot to sd card
Sending kernel uImage
write kernel image to sd card………….
Sending and writting rootfs
根据ucl2.xml文件中的内容来创建你自己设计板子的烧写过程,只要修改原有的U-Boot
和 kernel就够了。
以下时ucl2.xml文件:
<CFG>
<STATE name="BootStrap" dev="MX6Q" vid="15A2" pid="0054"/><STATE name="Updater" dev="MSC" vid="066F" pid="37FF"/>
</CFG>
//全局变量
//ucl2.xml将烧录过程分成两个阶段:BootStrap和Updater
//dev、vid和pid:分别对应两个阶段的设备名、设备对应连接的USB vid和pid号
//针对imx6系列,在 BootStrap阶段,有效的设备名只有MX6Q、MX6D、MX6SL。在Updater阶段,有效的设备名只有MSC
//根据cfg.ini 文件中定义的name 选择(ucl2.xml中LIST name要与cfg.ini文件中定义的name相对应)
//下载当前目录的u-boot.bin 文件到RAM
//下载当前目录的uImage文件到RAM的0x10800000地址处
//下载当前目录的initramfs.cpio.gz.uboot文件到内存的0x10C00000地址处
//通知内嵌ROM代码跳转到内存中的镜像执行
//擦除信息mtd0
//将files/android/u-boot.bin文件发送到目标机
//烧写将$FILE下载到/dev/mtd0位置,bs=512,指定读/写的blocks大小为512bytes
//擦除信息mtd1
<CMD state="Updater" type="push" body="send" file="mksdcard-android.sh.tar">Sending partition shell</CMD>
//将files/android/u-boot.bin文件发送到目标机
//将当前目录的mksdcard-android.sh.tar 分区脚本文件,发送到目标机
<CMD state="Updater" type="push" body="$ tar xf $FILE "> Partitioning...</CMD>
//解压脚本文件
<CMD state="Updater" type="push" body="$ sh mksdcard-android.sh /dev/mmcblk0"> Partitioning...</CMD>
//执行脚本文件
<CMD state="Updater" type="push" body="$ ls -l /dev/mmc* ">Formatting sd partition</CMD>
//从下面开始烧录内核、文件系统
<CMD state="Updater" type="push" body="send" file="files/android/boot.img">Sending kernel uImage</CMD>
//将files/android/boot.img 发送到目标机
<CMD state="Updater" type="push" body="$ dd if=$FILE of=/dev/mmcblk0p1">write boot.img</CMD>
<CMD state="Updater" type="push" body="frf">flush the memory.</CMD>
//刷新,等待数据传送完成
<CMD state="Updater" type="push" body="$ mkfs.ext4 -b 4096 -m 0 /dev/mmcblk0p4">Formatting data partition</CMD>
<CMD state="Updater" type="push" body="send" file="mk-encryptable-data-android.sh.tar">Sending data partition shell</CMD>
<CMD state="Updater" type="push" body="$ tar xf $FILE ">Extracting data partition shell</CMD>
<CMD state="Updater" type="push" body="$ sh mk-encryptable-data-android.sh /dev/mmcblk0 /dev/mmcblk0p4">Making data encryptable</CMD>
<CMD state="Updater" type="push" body="$ mkfs.ext4 /dev/mmcblk0p5">Formatting system partition</CMD>
<CMD state="Updater" type="push" body="$ mkfs.ext4 /dev/mmcblk0p6">Formatting cache partition</CMD>
<CMD state="Updater" type="push" body="frf">flush the memory.</CMD>
<CMD state="Updater" type="push" body="$ mkfs.ext4 /dev/mmcblk0p7">Formatting device partition</CMD>
<CMD state="Updater" type="push" body="pipe dd of=/dev/mmcblk0p5 bs=512" file="files/android/system.img">Sending and writting system.img</CMD>
//利用pipe 传输大数据
<CMD state="Updater" type="push" body="frf">flush the memory.</CMD>
//执行flush刷新操作,等到数据传输完毕
飞思卡尔烧写工具mfgtools的使用的更多相关文章
- STlink及烧写工具:
一 STLINK可以随时在STLINK与jlink之间切换:方法:https://www.segger.com/products/debug-probes/j-link/models/other-j- ...
- 2、编程工具IAR、烧写工具SmartRF的使用
IAR可以生成hex文件,SmartRF烧写hex文件到CC2530单片机. [IAR] 主要步骤:创建workspace.新建工程Project.新建文件(C源件).C源件Add到Proje ...
- Linux下烧写工具DNW和USB驱动安装(一)
转:http://blog.csdn.net/zhengmeifu/article/details/8837930 Linux下编译记录:编译PC端USB驱动和写入工具dnw_linux.tgz压缩包 ...
- 迅为iMX6Q/PLUS开发板烧写设备树内核 Qt 系统
迅为iMX6Q 和 iMX6PLUS 两个硬件版本,设备树镜像的烧写方法以及镜像所在目录,镜像名称全部一致. 如果用的是 iMX6Q 版本,想要烧写设备树版本镜像,请使用 iMX6Q 设备树版本的光盘 ...
- iMX6Q/PLUS开发板烧写设备树内核的Ubuntu系统
基于迅为-iMX6D.iMX6Q 和 iMX6PLUS 三个硬件版本,设备树镜像的烧写方法以及镜像所在目录,镜像名称全部一致,所以作者将烧写章节合并到一起. 请注意,如果购买的是 iMX6D 版本,想 ...
- raspberry 烧写镜像到SD卡
刚开始接触树莓派,需要烧写系统镜像到SD卡,网上找了些资料,记录于此. raspberry镜像下载: https://www.raspberrypi.org/downloads/ 烧写工具: wid3 ...
- android操作系统在itop4412开发板上的烧写
ITOP4412启动模式: 1.EMMC启动模式:拨码开关1-3为011 2.SD卡启动模式:拨码开关1-3为100uboot:初始化内存控制器,访问存储器,把操作系统内核从存储器读取出来放到内存中, ...
- Linux学习之路2-linux系统烧写
fastboot烧写方式 准备工作: 硬件– 串口线连接开发板串口con3到PC的串口– OTG线连接开发板的OTG接口和PC的USB接口软件– 串口工具(超级终端),默认波特率为115200– 烧写 ...
- 迅为IMX6Q PLUS开发板烧写Android6.0系统方法
平台:迅为IMX6Q PLUS开发板工具:MfgTool2 工具 镜像文件在光盘目录“03 镜像_android 6.0.1 文件系统”下.其中商业级核心板为 2G内存镜像,工业级核心板为 1G 内存 ...
随机推荐
- .NET Fframework
.NET框架示意图: 该框架是微软推出的完全面向对象的软件开发与运行平台.其有两个主要 组将:CLR:公共语言运行库(Common Language Runtime,简称CLR)和.NET Frame ...
- TensorFlow进阶(一)----张量的阶和数据类型
张量的阶和数据类型 TensorFlow用张量这种数据结构来表示所有的数据.你可以把一个张量想象成一个n维的数组或列表.一个张量有一个静态类型和动态类型的维数.张量可以在图中的节点之间流通.其实张量更 ...
- Windows安装和配置Tomcat
1 从http://tomcat.apache.org下载Tomcat压缩包,我这里下的版本是7.0.67. 2 将Tomcat压缩包解压缩到任意路径下,我这里的解压缩路径为E:\tomcat-7 ...
- global constructor
HQ在要求我们修改code style后,又让我检查并去掉"global constructor". 第一次听说这玩意,就研究了一下.发现网上有人讨论的很精彩,就记下来. “glo ...
- 【笔记】js原生方法 在元素外部或内部实现添加元素功能(类似jq 的 insert 和 append)
介绍的这个方法是:insetAdjacentHTML() 方法 此方法接收两个参数: 第一个参数必为下列值: beforebegin:在调用的元素外部的前面添加一个目标元素 afterend:在调用元 ...
- 【读书笔记】iOS-GCD-block-后台执行
当一个app按home键退出的时候.仅仅有最多5秒的时间做一些保存或清理资源的工作. 可是调用beginBackgroundTaskWithExpirationHandler方法,能够最多有10分时间 ...
- Android技术——在Android中的随意视图中找控件
1.在非常多情况下,我们可能不知道控件的id,可是我们却希望在包括这个控件的视图中找到它,能够採用例如以下做法: 例:在Activity的根视图中找出当中全部的Button控件 private voi ...
- 从零開始开发Android版2048 (三)逻辑推断
近期工作比較忙,所以更新的慢了一点,今天的主要内容是关于Android版2048的逻辑推断,经过本篇的解说,基本上完毕了这个游戏的主体部分. 首先还是看一下,我在实现2048时用到的一些存储的数据结构 ...
- Python的多进程编程
Python在2.6引入了多进程的机制,并提供了丰富的组件及api以方便编写并发应用.multiprocessing包的组件Process, Queue, Pipe, Lock等组件提供了与多线程类似 ...
- maven 编译指定模块
编译构建指定的模块 mvn clean install -pl model1,model2 -am -Dmaven.test.skip=true