切换导航
首页
技术问答
编程语言
前端开发
移动开发
开发工具
程序设计
行业应用
CMS系统
服务器
频道导航
▸ PHP
▸ Java
▸ Java SE
▸ Python
▸ C#
▸ C&C++
▸ Ruby
▸ VB
▸ asp.Net
▸ Go
▸ Perl
▸ netty
▸ Django
▸ Delphi
▸ Jsp
▸ .NET Core
▸ Spring
▸ Flask
▸ Springboot
▸ SpringMVC
▸ Lua
▸ Laravel
▸ Mybatis
▸ Asp
▸ Groovy
▸ ThinkPHP
▸ Yii
▸ swoole
▸ HTML
▸ HTML5
▸ JavaScript
▸ CSS
▸ jQuery
▸ Bootstrap
▸ Angularjs
▸ TypeScript
▸ Vue
▸ Dojo
▸ Json
▸ Electron
▸ Node.js
▸ extjs
▸ Express
▸ XML
▸ ES6
▸ Ajax
▸ Flash
▸ Unity
▸ React
▸ Flex
▸ Ant Design
▸ Web前端
▸ 微信小程序
▸ 微信公众号
▸ iOS
▸ Android
▸ Swift
▸ Hybrid
▸ Cocos2d-x
▸ Flutter
▸ Xcode
▸ Silverlight
▸ cocoa
▸ Cordova
前端之家
XML
MFGTool的使用以及ucl2.xml的含义
MFGTool的使用以及ucl2.xml的含义
2020-06-06
XML
前端之家
前端之家
收集整理的这篇文章主要介绍了
MFGTool的使用以及ucl2.xml的含义
,
前端之家
小编觉得挺不错的,现在分享给大家,也给大家做个参考。
MFGTool
是飞思卡尔提供的烧写工具,使用起来非常方便。但是,在使用
MFGTool
有几点是需要注意的,否则就会在烧写过程中遇到一些问题:
@H_
301
_5@ 1
、在使用
MFGTool
前,
文件
cfg.ini
和
UICfg.ini
是必须要在同一个
文件
夹下,同时这两个
文件
一定要配置正确。
@H_
301
_5@
UICfg.ini
用来配置每次同时可以烧写开发板的个数:
@H_
301
_5@ [UICfg]@H_
301
_5@ PortMgrDlg=1@H_
301
_5@
cfg.ini
用来配置芯片类型和板子信息以及烧写
内容
存储方式:
@H_
301
_5@ [profiles]@H_
301
_5@ chip = MX6DL Linux Update -----------
芯片为
i.mx6dl@H_
301
_5@ @H_
301
_5@ [platform]@H_
301
_5@ board = SabreSD ------------
板子型号
@H_
301
_5@ @H_
301
_5@ [LIST]@H_
301
_5@ name = i.MX6DL-ubuntu-SabreSD-SD ---------------
烧写
内容
及存储方式
@H_
301
_5@ cfg.ini
一定要根据你的板子和要烧写到哪里来设置,设置的信息和你使用的板子要匹配。
@H_
301
_5@ 2
、
ucl2.xml
@H_
301
_5@
MFGTool
烧写过程是完全按照
ucl2.xml
进行的。具体
ucl2.xml
的
内容
你可以到
MFGTool-Dir/Profiles/MX6DL Linux Update/OS Firmware
下查看。
ucl2.xml
中的烧写命令为
linux
命令(文档
Manufacturing Tool V2 Quick Start Guide
中有介绍)这里不再详述。
@H_
301
_5@
3
、
boot mode
方式要正确
@H_
301
_5@
在烧写前要设置板子为下载模式,才可以进行烧写。
@H_
301
_5@
总结一下使用
MFGTool
烧写过程如下:
@H_
301
_5@
1
)配置
cfg.ini
和
UICfg.ini
文件
@H_
301
_5@
2
)设置
boot mode
为
download
模式
@H_
301
_5@
3
)用
OTG-USB
线连接开发板和
PC
机
@H_
301
_5@
4
)打开终端,并运行
MfgTool2.exe
@H_
301
_5@
5
)给开发板上电,出现如下
HID-compliant device
,点击
Start
开始下载。
@H_
301
_5@ @H_
301
_5@ @H_
301
_5@ @H_
301
_5@ @H_
301
_5@ @H_
301
_5@
编译
生成
板子上需要跑的
U-boot
、
uImage
和
文件
系统
rootfs(
具体操作查看你参考设计的板子的
User Guider
中有详细的步骤和介绍
)
@H_
301
_5@ Sending U-Boot@H_
301
_5@ write U-Boot to sd card@H_
301
_5@ Sending kernel uImage@H_
301
_5@ write kernel image to sd card………….@H_
301
_5@ Sending and writting rootfs@H_
301
_5@
根据
ucl2.xml
文件
中的
内容
来创建你自己设计板子的烧写过程,只要
修改
原有的
U-Boot
和
kernel
就够了。
@H_
301
_5@ @H_
301
_5@ @H_
301
_5@ @H_
301
_5@ <CFG>@H_
301
_5@ <STATE name="BootStrap" dev="MX6Q" vid="15A2" pid="0054"/><STATE name="Updater" dev="MSC" vid="066F" pid="37FF"/>@H_
301
_5@ </CFG>@H_
301
_5@ //
全局变量
@H_
301
_5@ //ucl2.xml将烧录过程分成两个阶段:BootStrap和Updater @H_
301
_5@ //dev、vid和pid:分别对应两个阶段的设备名、设备对应连接的USBvid和pid号 @H_
301
_5@ //针对imx6系列,在BootStrap阶段,有效的设备名只有MX6Q、MX6D、MX6SL。在Updater阶段,有效的设备名只有MSC @H_
301
_5@ <LIST name="
Android-Marsboard-eMMC
" desc="Choose eMMC as media">@H_
301
_5@ //@H_
301
_5@ 根据cfg.ini
文件
中定义的name 选择@H_
301
_5@ <CMD state="BootStrap" type="boot" body="BootStrap" file="
u-boot.bin
">Loading U-boot</CMD>@H_
301
_5@ //下载当前目录的u-boot.bin
文件
到RAM@H_
301
_5@ <CMD state="BootStrap" type="load" file="
uImage
" address="
0x10800000
" loadSection="OTH" setSection="OTH" HasFlashHeader="FALSE">Loading Kernel.</CMD>@H_
301
_5@ //下载当前目录的uImage
文件
到RAM的0x10800000地址处@H_
301
_5@ <CMD state="BootStrap" type="load" file="
initramfs.cpio.gz.uboot
" address="
0x10C00000
" loadSection="OTH" setSection="OTH" HasFlashHeader="FALSE">Loading Initramfs.</CMD>@H_
301
_5@ //下载当前目录的initramfs.cpio.gz.uboot
文件
到内存的0x10C00000地址处@H_
301
_5@ <CMD state="BootStrap" type="jump"> Jumping to OS image. </CMD>@H_
301
_5@ //
通知
内嵌ROM
代码
跳转
到内存中的镜像执行
@H_
301
_5@ <CMD state="Updater" type="push" body="$ flash_eraseall /dev/mtd0">
Erasing Boot partition
</CMD>@H_
301
_5@ //擦除信息mtd0@H_
301
_5@ <CMD state="Updater" type="push" body="send" file="files/android/u-boot.bin">
Sending U-Boot
</CMD>@H_
301
_5@ //将files/android/u-boot.bin
文件
发送到目标机@H_
301
_5@ <CMD state="Updater" type="push" body="$ dd if=$FILE of=/dev/mtd0 bs=512">write U-Boot to SPI-NOR</CMD>@H_
301
_5@ //烧写将$FILE下载到/dev/mtd0位置,bs=512,指定读/写的blocks大小为512bytes @H_
301
_5@ <CMD state="Updater" type="push" body="$ flash_eraseall /dev/mtd1">Clear Params</CMD>@H_
301
_5@ //擦除信息mtd1@H_
301
_5@ <CMD state="Updater" type="push" body="send" file="mksdcard-android.sh.tar">Sending partition shell</CMD>@H_
301
_5@ //将files/android/u-boot.bin
文件
发送到目标机@H_
301
_5@ //将当前目录的mksdcard-android.sh.tar 分区脚本
文件
,发送到目标机@H_
301
_5@ <CMD state="Updater" type="push" body="$ tar xf $FILE "> Partitioning...</CMD>@H_
301
_5@ //解压脚本
文件
@H_
301
_5@ <CMD state="Updater" type="push" body="$ sh mksdcard-android.sh /dev/mmcblk0"> Partitioning...</CMD>@H_
301
_5@ //执行脚本
文件
@H_
301
_5@ <CMD state="Updater" type="push" body="$ ls -l /dev/mmc* ">Formatting sd partition</CMD>@H_
301
_5@ @H_
301
_5@ //从下面开始烧录内核、
文件
系统@H_
301
_5@ <CMD state="Updater" type="push" body="send" file="files/android/
boot.img"
>Sending kernel uImage</CMD>@H_
301
_5@ //将files/android/boot.img 发送到目标机@H_
301
_5@ <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刷新操作,等到数据传输完毕 参考
文件
http://wenku.baidu.com/link?url=Y6G2SggcvG5d6ytGOTnajEifLTZtf1mcaePJ25Vwyg2lJJd3G3i54XhmYCMoyJuuzf_FP-HgsJtKdPEAySl9ndvQ1PzU8TpoWX1Yy-xaSt3
上一篇:Log4j2.x xml配置文件内容
下一篇:JExcelApi使用记录
猜你在找的XML相关文章
10分钟掌握XML、JSON及其解析
引言 NOKIA 有句著名的广告语:“科技以人为本”。任何技术都是为了满足人的生产生活需要而...
作者:前端之家 时间:2020-08-12
[CXF REST标准实战系列] 一、JAXB xml与javaBean的转换
Writer:BYSocket(泥沙砖瓦浆木匠) 微博:BYSocket 豆瓣:BYSocket Reprint it anywhere...
作者:前端之家 时间:2020-08-12
[CXF REST标准实战系列] 一、JAXB xml与javaBean的转换
Writer:BYSocket(泥沙砖瓦浆木匠) 微博:BYSocket 豆瓣:BYSocket Reprint it anywhere...
作者:前端之家 时间:2020-08-12
10分钟掌握XML、JSON及其解析
http://blog.jobbole.com/79252/ 引言 NOKIA 有句著名的广告语:“科技以人为本”。任何技...
作者:前端之家 时间:2020-08-12
自定义圆形控件RoundImageView并认识一下attr.xml
(点击上方公众号,可快速关注) 公众号:smart_android 作者:耿广龙|loonggg 点击“阅读原...
作者:前端之家 时间:2020-08-12
10分钟掌握XML、JSON及其解析
引言 NOKIA 有句著名的广告语:“科技以人为本”。任何技术都是为了满足人的生产生活需要而...
作者:前端之家 时间:2020-08-12
10分钟掌握XML、JSON及其解析(上)
(点击上方公众号,可快速关注) 来源: Long Luo 的博客 链接:http://longluo.github.i...
作者:前端之家 时间:2020-08-12
10分钟掌握XML、JSON及其解析(中)
接上文 二、JSON XML很好很强大,但是最近有另外一个时代弄潮儿,这就是JSON。现在JSON的光...
作者:前端之家 时间:2020-08-12
10分钟掌握XML、JSON及其解析(下)
接上文 2.4 如何解析JSON? Android JSON所有相关类,都在org.json包下。 包括JSONObject、...
作者:前端之家 时间:2020-08-12
10分钟掌握XML、JSON及其解析
原文出处: Long Luo 的博客(@Long_Luo) 引言 NOKIA 有句著名的广告语:“科技以人...
作者:前端之家 时间:2020-08-12
编程分类
HTML
HTML5
JavaScript
CSS
jQuery
Bootstrap
Angularjs
TypeScript
Vue
Dojo
Json
Electron
Node.js
extjs
Express
XML
ES6
Ajax
Flash
Unity
React
Flex
Ant Design
Web前端
微信小程序
微信公众号
最新文章
• 10分钟掌握XML、JSON及其解
• [CXF REST标准实战系列] 一
• [CXF REST标准实战系列] 一
• 10分钟掌握XML、JSON及其解
• 自定义圆形控件RoundImage
• 【XML】
• 10分钟掌握XML、JSON及其解
• 10分钟掌握XML、JSON及其解
• 10分钟掌握XML、JSON及其解
• 10分钟掌握XML、JSON及其解
热门标签
更多 ►
关闭广告
单独headers
封装代码
提示错误
整数正则
非0开头
跳页
出页码
antd table
提示URL未注册
公众号支付
vue hash模式
iSlider
车牌键盘
循环图片
echarts 双折
左右布局
DllPlugin
对象创建
打字游戏
圈选
两栏
云函数
蒙版
ES2020
橱窗
无缝滚动轮播
色块碰撞
组件销毁
文档操作