飞思卡尔烧写工具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 内存 ...
随机推荐
- http://my.oschina.net/u/1177710/blog/284608
http://my.oschina.net/u/1177710/blog/284608 http://chuhanzhi.com/?p=45 http://www.2cto.com/kf/201501 ...
- Eclipse代码布局怎么使用退格和缩进快捷键?
Eclipse代码布局怎么使用退格和缩进快捷键? 好的程序,不仅要运行快速准确,而且还要易于理解.研究表明,清晰的代码布局可以提高程序猿的理解能力.何为代码布局?其实就是代码的缩进.留白等.为了保证清 ...
- xml文件中配置JDBC源遇到问题 : The reference to entity "characterEncoding" must end with the ';' delimiter
数据源配置时加上编码转换格式后出问题了: The reference to entity"characterEncoding" must end with the ';' deli ...
- [python爬虫] Selenium常见元素定位方法和操作的学习介绍(转载)
转载地址:[python爬虫] Selenium常见元素定位方法和操作的学习介绍 一. 定位元素方法 官网地址:http://selenium-python.readthedocs.org/locat ...
- dubbo-monitor安装监控中心,管理控制台安装
一.安装监控中心 1.创建安装目录 2.解压 上传文件解压文件 解压 3.修改配置文件 4.启动 如果一直出现点.只需要加大内存即可,内存至少大于1024,然后reboot重启 5.测试 二.安装管理 ...
- 算法笔记_063:蓝桥杯练习 送分啦(Java)
目录 1 问题描述 2 解决方案 1 问题描述 问题描述 这题想得分吗?想,请输出“yes”:不想,请输出“no”. 输出格式 输出包括一行,为“yes”或“no”. 2 解决方案 初步一看,这题 ...
- JS中confirm,prompt用法
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...
- leetcode第一刷_Combination Sum Combination Sum II
啊啊啊啊.好怀念这样的用递归保存路径然后打印出来的题目啊.好久没遇到了. 分了两种,一种是能够反复使用数组中数字的,一种是每一个数字仅仅能用一次的.事实上没有多大差别,第一种每次进入递归的时候都要从头 ...
- <译>流计算容错
这篇文档描述了Flink的流式计算的容错机制 Introduction Checkpointing Barriers State Exactly Once vs. At Least Once Reco ...
- 关于 yii2 cron运行 console的脚本不运行,可是手动运行成功的原因
在yii2中运行脚本出现了一个问题 手动运行没有问题. 在cron中不运行.最后找出来了原因 打开yii文件(在根文件夹以下) #!/usr/bin/env php <?php /** * Yi ...