谁能讲解freescale yocto的目录胸部结构图讲解吗

技术(40)
MFGTools是freescale官方推荐的一个使用OTG来升级镜像的软件。此软件功能很轻大,而且可塑性非常高:可以用来升级linux,升级android;单独刷写某一系统分区,如android的boot.img分区等;独立地刷写spi nor,emmc等等;而且作为一个可量产性的工具,MFGTools可以同时支持多通道的刷写。相对于市面上一些平板厂家的刷机软件,MFGTools的一大亮点就是其可拓展新跟可塑性。究竟这亮点是怎样体现的,下面详细介绍。主要分为四部分:
1、MFGTools的目录结构
2、MFGTools的烧录过程
3、MFGTools配置文件介绍
4、媒介镜像的制作
MFGTools的目录结构
如上图,MFGTools目录的主要关键点在几个地方
1、MfgTool2.exe为可执行程序,打开程序的画面如下
2、ucl2.xml跟 cfg.ini是配置文件,下面会详细介绍
profile里面存放着的是镜像文件,这里面镜像文件分为两种:第一种是作为媒介用途的镜像,在yocto下包括“uboot”,“dtb”跟“uImage”;第二种是真正烧录到emmc或者sdcard的镜像文件。之所以存着这两种镜像,是因为MFGTools的烧写原理是先烧录媒介镜像到ddr里面,然后启动,再通过这个启动了的媒介镜像,最后把目标镜像固化到emmc或者sdcard里面。这方面,下文内容还会补充到。
MFGTools的烧录过程
如上图显示,这里把烧录过程分为两部分:第一部分是烧录前的准备工作;第二部分是MFGTools开始烧录到结束烧录的过程。在这里,需要提示的是,第二阶段的烧录过程是严格根据ucl2.xml文件来进行的,下面来介绍MFGTools的配置文件。
MFGTools配置文件介绍
1、UICfg.ini
PortMgrDlg=1&&&& //表示同时支持升级的最大设备数,按需求调整
2、cfg.ini
[profiles]&&&&&&
chip = Linux&&& //目标平台,对应 Profiles/Linux 目录 ,可根据自己需求定义profile
[platform]
board = SabreSD&& //预留,暂时没什么实际作用
name = SDCard&& // Profiles\Linux\OS Firmware\ucl2.xml& 里面目标操作列表的名字,可按照自己的需求创建不同列表,
&LISTname=&SDCard& desc=&Choose SD Card as media&&&&&&
[variable]&& // Profiles\Linux\OS Firmware\ucl2.xml,name里面的list会引用到的环境变量
board = sabresd& &//引用模式是& %board%。要跟平台的名字一样,不然会导致load dtb的时候出错。
mmc = 0&&&&&&&& //引用模式是& %mmc%。
3、ucl2.xml
升级时候的操作文件,MFGtools会根据文件里面 list的内容进行相应的升级。文件以
&CMD state=&BootStrap&type=&jump& & Jumping to OS image. &/CMD&
为界限,可以分为上阶段跟下阶段,上阶段是把“媒介镜像”烧录到ddr里面并跑起来,下阶段是烧录“file”文件夹里面的文件到emmc里面。对于第二阶段,关注以下注释:
&!-- create partition --&
&!-- burn uboot --&
&!-- burn uImage --&
&!-- burn dtb --&
&!-- burn rootfs --&
注释下的内容严格规定了MFGTools的烧录过程,分区--&烧写uboot--&烧写uImage--&烧写dtb--&烧写rootfs。
认真看就很容易看懂。
媒介镜像的制作
媒介镜像注意关注在uImage,因为“媒介uboot”在编译yocto的时候已经打包好了,具体是“build/tmp/deploy/images/$MACHINE/u-boot-$MACHINE.imx”文件,直接拿来使用就好。“dtb”文件也使用编译好的就可以了,没什么特殊要求。uImage有所要求,但freescale也帮我们铺好路了,看到“arch/arm/configs/imx_v7_mfg_defconfig”配置文件,使用此配置文件编译出来的uImage就是“媒介uImage”。然后把这些媒介的image放到MFGTools的目录下“Profiles\Linux\OSFirmware\firmware”里面即可,可能不同版本的MFGTools路径有所区别。
对比imx_v7_mfg_defconfig与其他config文件不一样的地方就是:CONFIG_FSL_UTP。对于的内核代码在“drivers/usb/gadget/f_mas_stotage.c”里面,具体的作用也就是接收并处理来自OTG的image,script和command。
参考知识库
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
访问:20771次
排名:千里之外
原创:26篇
转载:15篇
(4)(4)(2)(3)(10)(12)(1)(1)(1)(6)

我要回帖

更多关于 独立主格结构讲解 的文章

 

随机推荐