imx6的MFGTools配置流程分析文档格式.docx
《imx6的MFGTools配置流程分析文档格式.docx》由会员分享,可在线阅读,更多相关《imx6的MFGTools配置流程分析文档格式.docx(35页珍藏版)》请在冰豆网上搜索。
<
CFG>
STATEname="
BootStrap"
dev="
MX6Q"
vid="
15A2"
pid="
0054"
/>
<
Updater"
MSC"
066F"
37FF"
/CFG>
//全局变量
//ucl2.xml将烧录过程分成两个阶段:
BootStrap和Updater
//dev、vid和pid:
分别对应两个阶段的设备名、设备对应连接的USBvid和pid号
//针对imx6系列,在BootStrap阶段,有效的设备名只有MX6Q、MX6D、MX6SL。
在Updater阶段,有效的设备名只有MSC
LISTname="
Android-MYZR-SPI_NOR-EMMC"
desc="
ChooseSPI-NORandSDRootfsasmedia"
>
//根据cfg.ini文件中定义的name选择
CMDstate="
type="
boot"
body="
file="
myzr_u-boot.bin"
LoadingU-boot<
/CMD>
//下载当前目录的myzr_u-boot.bin文件到RAM
load"
uImage"
address="
"
loadSection="
OTH"
setSection="
HasFlashHeader="
FALSE"
LoadingKernel.<
//下载当前目录的uImage文件到RAM
ini"
0x10C00000"
LoadingInitramfs.<
jump"
JumpingtoOSimage.<
//通知内嵌ROM代码跳转到内存中的镜像执行
!
--
Pleaseuse"
cat/proc/mtd"
tochecktherightpartitionsforNAND,mtd0andmtd1areforSPI-NOR;
mtd2-mtd6areforNAND-->
--<
push"
mknodclass/mtd,mtd0,/dev/mtd0"
//类型是push,此句在目标机上执行创建设备节点
mknodblock,mtdblock0,/dev/mtdblock0,block"
-->
//类型是push,此句在目标机上执行,创建设备节点
$flash_erase/dev/mtd000"
ErasingBootpartition<
//擦除信息
send"
files/android/u-boot.bin"
SendingU-Boot<
//将files/android/u-boot.bin文件发送到目标机
$ddif=$FILEof=/dev/mtd0bs=512"
writeU-BoottoSPI-NOR<
//烧写将$FILE下载到/dev/mtd0位置,bs=512,指定读/写的blocks大小为512bytes
Sendingpartitionshell<
$tarxf$FILE"
Partitioning...<
//解压脚本文件
$shmksdcard-android.sh/dev/mmcblk0"
//执行脚本文件
$ls-l/dev/mmc*"
Formattingsdpartition<
//从下面开始烧录内核、文件系统
files/android/boot.img"
SendingkerneluImage<
//将files/android/boot.img发送到目标机
$ddif=$FILEof=/dev/mmcblk0p1"
writeboot.img<
frf"
flushthememory.<
//刷新,等待数据传送完成
$mkfs.ext4-Ldata/dev/mmcblk0p4"
$mkfs.ext4-Lsystem/dev/mmcblk0p5"
Formattingsystempartition<
$mkfs.ext4-Lcache-O^extent/dev/mmcblk0p6"
Formattingcachepartition<
$mkfs.ext4-Lvender/dev/mmcblk0p7"
Formattingdatapartition<
$mkfs.ext4/dev/mmcblk0p8"
Formattingmiscpartition<
pipeddof=/dev/mmcblk0p5bs=512"
files/android/system.img"
Sendingandwrittingsystem.img<
//利用pipe传输大数据
//执行flush刷新操作,等到数据传输完毕
--Writeuserdata.imgisoptional,forsomecustomerthisisneeded,butit'
soptional.-->
--Also,userdata.imgwillhaveandroidunittest,youcanusethistodosomeautotest.-->
onError="
ignore"
pipeddof=/dev/mmcblk0p7"
file/android/userdate.img"
Sendinguserdata.img(optional)<
//注释掉
pipeddof=/dev/mmcblk0p2bs=512"
files/android/recovery.img"
Sendingandwrittingrecovery.img<
Finishingrootfswrite<
$echoUpdateComplete!
Done<
//显示执行完毕信息
/LIST>
官方,LISTname=Android-SabreSD-eMMC
Android-SabreSD-eMMC"
ChooseeMMCandroidasmedia"
--AndroidProfile:
u-boot.bin"
$ddif=/dev/zeroof=/dev/mmcblk0bs=512seek=1536count=16"
cleanupu-bootparameter<
//将/dev/zero下载到/dev/mmcblk0从/dev/mmcblk0开始的位置,跳过1536个blocks,复制16个blocks
$echo1>
/sys/devices/platform/sdhci-esdhc-imx.3/mmc_host/mmc0/mmc0:
0001/boot_config"
accessbootpartition1<
pu