CN103593216A - 将ubi格式的系统文件制作成工厂烧录映像文件方法 - Google Patents

将ubi格式的系统文件制作成工厂烧录映像文件方法 Download PDF

Info

Publication number
CN103593216A
CN103593216A CN201310561242.3A CN201310561242A CN103593216A CN 103593216 A CN103593216 A CN 103593216A CN 201310561242 A CN201310561242 A CN 201310561242A CN 103593216 A CN103593216 A CN 103593216A
Authority
CN
China
Prior art keywords
file
image file
integrated
kernel
ubi
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN201310561242.3A
Other languages
English (en)
Other versions
CN103593216B (zh
Inventor
邓兵
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Song Yixiao
Original Assignee
Shanghai Feixun Data Communication Technology Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Shanghai Feixun Data Communication Technology Co Ltd filed Critical Shanghai Feixun Data Communication Technology Co Ltd
Priority to CN201310561242.3A priority Critical patent/CN103593216B/zh
Publication of CN103593216A publication Critical patent/CN103593216A/zh
Priority to PCT/CN2014/000989 priority patent/WO2015070521A1/zh
Application granted granted Critical
Publication of CN103593216B publication Critical patent/CN103593216B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/61Installation
    • G06F8/63Image based installation; Cloning; Build to order

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明公开了一种将ubi格式的系统文件制作成工厂烧录映像文件的方法,包括下列步骤:从分区文件读取linux嵌入式设备的nandflash分区信息;利用mkimage工具制作uboot启动文件;将内核kernel和根文件系统rootfs集成为镜像文件;转化系统文件;追加nandflash的spare区内容,计算文件ECC校验数据;制作在分区模式下可烧录的映像文件,所述映像文件包括分区表文件和合并文件。本发明无需烧录工装,不需要制作费用,制作工厂烧录映像时间短,无需人工干预,只需几秒钟,便可自动生成完全正确的映像文件,减少烧录时间,提高Linux嵌入式产品生产流水线的效率。

Description

将ubi格式的系统文件制作成工厂烧录映像文件方法
技术领域
本发明涉及存储技术,尤其涉及一种用于Linux嵌入设备中的将ubi格式的系统文件制作成工厂烧录映像文件的方法。
背景技术
nandflash结构能提供极高的单元密度,存储密度高,写入和擦除速度很快,存储介质成本低,逐渐成为嵌入式系统的首选存储设备,不过从成本和技术上综合考虑,nandflash允许存在一定比例的坏块。
nandflash的寿命是有限的,一个nandflash块的擦写次数大概在10^5-10^6次,为了保持nandflash的使用寿命足够长,必须避免擦写的区域不均衡,否则闪存会因为局部达到擦写极限而造成整个nandflash报废,这实际上是浪费,所以应该使用磨损均衡(WearBalance)技术以延长闪存的有效使用寿命,ubi文件系统格式具有损耗均衡技术,从而延长nandflash的寿命。
传统烧录nandflash的方法为使用脚本命令烧录,需要较长时间,并且量产时要使用工装,需要一定的制作费用。如果使用烧录器直接烧录编译生成的系统原始文件(bootstrap.bin、uboot.bin、uImage、rootfs),由于不带spare区信息,系统无法运行。
由于nandflash出厂时有一定概率的坏块,使用烧录器直接烧录带spare区信息的烧录镜像,则系统仍无法运行。因为,当nandflash第一个分区有1坏块,nandflash烧录以跳过坏块的方式烧录,烧录器会把第一个分区的剩余数据顺延写到第二个分区的第一个块block中,则原第二个分区的数据烧录到了第二个分区的第二个块block里,但是系统启动时都是从固定地址读取数据的,即系统到第二个分区的第一个块block里读取数据,此时第二个分区的第一个block里存放的是第一个分区的剩余数据,则系统无法运行。
现有Linux嵌入式设备烧录主要有两种方法:一种方法是使用脚本命令烧录各个系统文件(bootstrap、config、uboot1、uboot2、集成镜像image1、集成镜像image2),该方法有两个缺点,第一需要制作烧录工装,需要一定的制作费用;第二、烧录系统文件时间较长,生产效率低;另一种方法是手工制作分区表文件partTable.bin和合并文件Merge.bin烧录映像,首先程序员手工输入命令把各个系统文件下载到嵌入式设备的nandflash,拆下nandflash用烧录器读出所有数据,再保存nandflash各分区数据,然后使用第三方应用软件手工制作分区表文件partTable.bin和合并文件Merge.bin,最后使用烧录器烧录制作后的映像文件(分区表文件partTable.bin和合并文件Merge.bin),该方法的缺点是制作映像文件步骤多,时间长,需人工干预,工序复杂,容易出错等缺点。
发明内容
有鉴于此,本发明的目的是提供一种将ubi格式的系统文件制作成工厂烧录映像文件的方法,无需烧录工装,不需要制作费用,制作工厂烧录映像时间短,无需人工干预,只需几秒钟,便可自动生成完全正确的映像文件,减少烧录时间,提高Linux嵌入式产品生产流水线的效率。
为了达到上述目的,本发明的目的是通过下述技术方案实现的:
一种将ubi格式的系统文件制作成工厂烧录映像文件的方法,其中,包括下列步骤:
从分区文件读取linux嵌入式设备的nandflash分区信息;
利用mkimage工具制作uboot启动文件;
将内核kernel和根文件系统rootfs集成为镜像文件;
转化系统文件,包括把uboot和集成镜像转化为ubi文件系统格式;
追加nandflash的spare区内容,计算文件ECC校验数据;
制作在分区模式下可烧录的映像文件,所述映像文件包括分区表文件和合并文件。
上述将ubi格式的系统文件制作成工厂烧录映像文件的方法,其中,利用mkimage工具在制作uboot映像文件时,在原来的可执行映像文件的前面加上一段参数信息,使得uboot识别这个映像文件针对的CPU体系结构,操作系统名字,文件类型,加载内存中位置和映像名字,如果相同,就从这个地址开始提取出这个参数信息并对其进行分析,然后去掉参数信息,把数据复制到指定的地址中运行。
上述将ubi格式的系统文件制作成工厂烧录映像文件的方法,其中,制作集成镜像文件包括下列步骤:
计算集成后的镜像文件的大小;
申请镜像文件大小的内存空间,用于存储将要生成的集成镜像;
计算并统计镜像信息;
拷贝镜像信息到内存空间,把镜像信息拷入内存空间的前512字节;
拷贝内核到内存空间以512字节为偏移地址处;
拷贝根文件系统到内存空间的相应偏移地址处;
保存内存空间的数据为集成的镜像文件。
上述将ubi格式的系统文件制作成工厂烧录映像文件的方法,其中,所述集成后的镜像文件包括镜像信息、内核和根文件系统,所述镜像信息用于记录集成镜像的信息,包括集成后镜像文件的大小、根文件系统在集成后的镜像文件中的偏移位置、镜像信息的CRC校验和、内核和根文件系统的CRC校验和、根文件系统文件的系统类型和集成后镜像文件的名称,所述集成后镜像文件的大小包括镜像信息大小、内核大小和根文件系统大小,所述内核是编译内核生成的文件,所述根文件系统是内核启动的初始阶段创建虚拟的文件系统后加载的真正文件系统。
与已有技术相比,本发明的有益效果在于:
1、制作成工厂烧录映像文件是在工程编译时自动生成的,无需后期处理就可以使用烧录器直接烧录;
2、uboot和集成镜像都有备份,大大减少系统运行时出错概率;
3、将内核kernel和文件系统rootfs集成为一个文件,方便客户升级程序,防止升级程序时内核kernel和根文件系统rootfs不匹配问题,另外加入集成镜像的校验信息,增加数据可靠性;
4、系统文件使用ubi文件系统,ubi文件系统提供高效灵活的损耗均衡技术,提高了nandflash的使用寿命。
附图说明
构成本发明的一部分的附图用来提供对本发明的进一步理解,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:
图1是本发明将ubi格式的系统文件制作成工厂烧录映像文件的方法的流程示意图;
图2是本发明将ubi格式的系统文件制作成工厂烧录映像文件的方法中制作集成镜像文件的流程示意图;
图3是本发明将ubi格式的系统文件制作成工厂烧录映像文件的方法中将ubi文件格式的uboot和ubi文件格式的集成镜像加入ECC校验数据的软件流程;
图4是本发明将ubi格式的系统文件制作成工厂烧录映像文件的方法中将ubi文件格式的uboot和ubi文件格式的集成镜像加入ECC校验数据的软件流程的第四步完成后的计算结果示意图;
图5是本发明将ubi格式的系统文件制作成工厂烧录映像文件的方法中制作支持分区模式可烧录的映像文件的流程示意图;
图6是本发明将ubi格式的系统文件制作成工厂烧录映像文件的方法中partTable.bin分区表文件的内容示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
需要说明的是,在不冲突的情况下,本发明中的实施例及实施例中的特征可以相互组合。
本发明实施例提供Linux嵌入式设备中的一种将ubi文件系统格式的系统文件制作成工厂烧录映像文件的方法,参照图1,包括如下主要步骤:
首先从分区文件读取linux嵌入式设备的nandflash分区信息;
然后利用mkimage工具制作uboot启动文件;
将内核kernel和根文件系统rootfs集成为镜像文件;
转化系统文件,如,把uboot和集成镜像转化为ubi文件系统格式;
追加nandflash的spare区内容,计算文件ECC校验数据;
最后制作在分区模式下可烧录的映像文件,包括分区表文件partTable.bin和合并文件Merge.bin。
以下详细说明本发明的上述各步骤。
1、根据分区信息制作烧录器烧录映像:
分区文件内容为:bootstrap(0x200000);config(0x200000);uboot1(0x400000);uboot2(0x400000);image1(0x1c00000);image2(0x1c00000),其中括号里表示该文件在nandflash里所占空间大小,空间大小不含spare区的信息。
2、利用mkimage工具制作uboot启动文件:
mkimage在制作uboot映像文件的时候,是在原来的可执行映像文件的前面加上64字节的参数信息,这样uboot才能识别这个映像文件针对的CPU体系结构,操作系统名字,文件类型,加载内存中位置,映像名字。如果相同,就从这个地址开始提取出这个64字节参数信息,对其进行分析,然后去掉64字节的参数信息,把数据复制到指定的地址中运行。
3、将内核kernel和根文件系统rootfs集成为镜像文件:
集成后的镜像文件由镜像信息、内核kernel和根文件系统rootfs共3部分组成,且连续存放。镜像信息大小为512字节,记录集成镜像的信息,包括:
(A)集成后镜像文件的大小,共包括三个部分,分别为镜像信息大小、内核kernel大小和根文件系统rootfs大小;
(B)内核kernel大小;
(C)根文件系统rootfs大小;
(D)根文件系统rootfs在集成后的镜像文件中的偏移位置;
(E)镜像信息的CRC校验和;
(F)内核kernel和根文件系统rootfs的CRC校验和;
(G)根文件系统rootfs文件的系统类型;
(H)集成后镜像文件的名称。
内核kernel是编译内核生成的文件。
根文件系统rootfs是Kernel启动的初始阶段创建虚拟的文件系统后加载的真正文件系统。
制作集成镜像文件的流程图如图2所示:
①计算集成后镜像文件的大小,其大小为镜像信息大小512字节、内核kernel文件大小和根文件系统rootfs文件大小的总和;
②申请镜像文件大小的内存空间buf,其用于存储将要生成的集成镜像;
③计算并统计镜像信息;
④拷贝镜像信息到buf,把镜像信息拷入buf的前512字节;
⑤拷贝内核kernel到buf以512字节为偏移地址处;
⑥拷贝根文件系统roofs到buf相应偏移地址处;
⑦保存buf数据为集成的镜像文件。
4、转化uboot和集成后的镜像文件为ubi文件系统格式:
使用ubinize制作ubi文件系统格式的uboot命令如下:
./ubinize-o outubiuboot.img-m2048-p128KiB-s512-O512cfg_ubiuboot.cfg
使用ubinize制作ubi文件系统格式的集成镜像命令如下:
./ubinize-o outubiimage.img-m2048-p128KiB-s512-O512cfg_ubiimage.cfg
命令里参数的解释为:
-o:输出文件名字
-m:页面大小(2048)
-p:物理擦除块大小(128KB)
-s:最小的硬件输入输出页面大小(512)
outubiimage.img为ubi文件系统格式的集成镜像的输出文件,cfg_ubiimage.cfg为制作ubi文件系统的配置文件,其内容为:
[image]
mode=ubi
image=pro_image
vol_id=0
vol_size=13000KiB
vol_type=dynamic
vol_name=0
vol_flags=autoresize
5、追加nandflash的spare区内容,计算文件ECC校验数据:
下面针对三星的K9F1G08U0A的nandflash芯片为例,由1024个块block组成,每个block包含64个页page,每个page是2048+64=2112字节。对于一个page,0至2047个字节为主存储区(Main Area),用来存储用户数据;2048至2111共64个字节为扩展存储区(Spare Area),用来存储页的信息,包括坏块标记和错误检查纠正ECC等。总容量为1024*(64*2112)=132MB,其中4MB是用来保存ECC等其它数据的,所以可使用的空间为128MB。
关于ECC校验方法,nandflash的每一页有两区:main区和spare区,main区用于存储正常的数据,spare区用于存储其他附加信息,其中就包括ECC校验码。向nandflash写入数据的时候,每256字节原始文件数据生成3字节ECC校验数据。存储到页面page的spare区中OOB(out-of-band)特定位置中。在下次读取这一页数据的时候,同样也计算ECC校验码,然后与spare区中的ECC校验码比较,如果一致则说明读取的数据正确,如果不一致则错误。
将ubi文件格式的uboot和ubi文件格式的集成镜像加入ECC校验数据的软件流程。
加入ECC校验数据的流程图,如图3所示:
①计算含spare区文件大小:先打开被计算ECC校验的文件(如ubi文件格式的uboot或ubi文件格式的集成镜像),再获取被计算ECC校验的文件大小为oriFileLen字节。三星的K9F1G08U0A的nandflash芯片的页page大小为2048字节,每页page的spare区大小为64字节,那么含spare区文件大小为oriFileLen/2048*2112字节;
②申请含spare区文件大小的内存空间BufIncEcc,用于存储计算ECC校验后的文件,并且初始化刚申请内存BufIncEcc的地址为bufAddr为0;
③从被计算ECC校验的文件读出1页page的数据2048字节到BufIncEcc[bufAddr],并初始化页内偏移地址dataNum为0;
④如果dataNum小于页面大小2048,先从BufIncEcc里偏移地址bufAddr+dataNum处读出256字节到eccBuf,再使用查表法计算eccBuf的256字节为3字节ECC,然后将3字节校验数据ECC填入BufIncEcc对应OOB区,最后dataNum=dataNum+256,即BufIncEcc页内偏移地址加256,返回④继续执行循环;
计算结果如图4所示,上方框部区域是256字节原始文件数据,OOB区的下方区域是上述2048字节数据计算得到的ECC数据。下方区域最后三个字节数据(aa9a97)是由上方区域256字节数据计算得到的ECC数据。
如果dataNum不小于页面大小2048,则表示计算该页ECC校验结束,继续往后执行。
⑤bufAddr=bufAddr+2112,即BufIncEcc偏移地址加2112;
⑥如果没到达被计算校验文件结尾,返回③,否则继续;
⑦如果到被计算校验文件结尾说明计算文件ECC校验数据结束。保存BufIncEcc数据为含spare区文件,如ubootspa.bin、imagespa.bin,整个流程完成。
6、制作支持分区模式下可烧录的映像文件:
支持分区模式烧录的映像文件是由两个文件构成的。第一是分区表文件(partTable.bin),包含nandFlash芯片的基本信息,分区表信息。第二是将要烧录到NandFlash的二进制合并文件(Merge.bin)。该二进制合并文件是由多个文件构成的,由分区表文件控制其烧录。
合并文件由六个二进制文件构成,分别为bootstrap.bin,config.bin,uboot1.bin,uboot2.bin,image1.bin,image2.bin。bootstrap.bin用于引导uboot1.bin启动,config.bin是配置文件,uboot1.bin用于引导内核kernel启动,image1.bin是内核kernel和根文件系统rootfs的集成文件,其中uboot1.bin和uboot2.bin是相同的文件,uboot2.bin是uboot1.bin的备份文件,如果系统从uboot1.bin启动失败就从uboot2.bin启动。image1.bin和image2.bin也是相同的文件,image2.bin是image1.bin的备份文件,如果系统从image1.bin启动失败就从image2.bin启动。uboot1.bin和image1.bin在前面的步骤里已经追加了spare区的信息。不含spare区的信息每个block大小为2048*64=0x20000字节,含spare区的信息每个block大小为(2048+64)*64=0x21000字节。
生成用于烧录的分区表文件,分区表文件共有512字节,每16字节表示一个分区,最多可以划分32个分区。每16字节的前1~4字节表示该分区的第一个块(block),5~8字节表示该分区的最后一个块(block),9~12字节表示该分区的文件所占的块数(block),13~16字节用0xff填充。
制作支持分区模式可烧录的映像文件的软件流程:
①定义Merge_Info结构体,每个参数在②里举例说明;
Figure BDA0000412308550000081
②统计各文件信息填入该结构体;
根据不含spare区的分区信息文件内容:bootstrap(0x200000);config(0x200000);uboot1(0x400000);uboot2(0x400000);image1(0x1c00000);image2(0x1c00000)。计算得各个文件的烧录地址为:
bootstrap.bin:烧录到第0x0块以后,偏移地址为0x0;
config.bin:烧录到第0x10块以后,偏移地址为0x21000*0x10=0x210000;
uboot1.bin:烧录到第0x20块以后,偏移地址为0x21000*0x20=0x420000;
uboot2.bin:烧录到第0x40块以后,偏移地址为0x21000*0x40=0x840000;
image1.bin:烧录到第0x60块以后,偏移地址为0x21000*0x60=0xC60000;
image2.bin:烧录到第0x140块以后,偏移地址为0x21000*0x140=0x2940000;
结束地址为0x21000*0x220=0x4620000
该结构体的各参数为:
A、fileNum:制作烧录映像文件时被合并文件的个数,为6个。
B、fileName[32][32]:烧录映像各个被合并文件的名字,分别为bootstrap.bin,config.bin,uboot1.bin,uboot2.bin,image1.bin,image2.bin。
C、fileSize[32]:各个被合并文件大小。
D、fileOffset[32]:烧录映像各个被合并文件偏移地址:bootstrap.bin为0x0,config.bin为0x2100000,uboot1.bin为0x420000,uboot2.bin为0x840000,image1.bin为0xC60000,image2.bin为0x2940000。
E、mergeSize:整个烧录映像的大小,即镜像结束地址0x4620000
F、partStarBlock[32]:烧录映像各个被合并文件起始块block:bootstrap.bin为0x0,config.bin为0x10,uboot1.bin为0x20,uboot2.bin为0x40,image1.bin为0x60,image2.bin为0x140。
G、partEndBlock[32]:烧录映像各个被合并文件结束块block,即下一个起始块地址减1:bootstrap.bin为0xf,config.bin为0x1f,uboot1.bin为0x3f,uboot2.bin为0x5f,image1.bin为0x13f,image2.bin为0x21f。
H、fileBlockSize[32]:各个被合并文件块block大小。
③申请512字节的内存partBuf用于存储分区表信息,并把内存partBuf的内容全填为0xff;
④申请Merge_Info->mergeSize大小即0x4620000字节的内存mergeBuf用于存储合并后的文件,并把内存mergeBuf的内容全填为0xff;
⑤初始化循环变量i为0;
⑥如果循环变量i小于合并文件个数Merge_Info->fileNum,首先把分区起始地址Merge_Info->partStarBlock[i]赋值到partBuf[16*i]的四字节中,其次把分区结束地址Merge_Info->partEndBlock[i]赋值到partBuf[16*i+4]的四字节中,再其次把被合并的文件所占块数Merge_Info->fileBlockSize[i]赋值到partBuf[16*i+8]的四字节中,然后把被合并名为Merge_Info->fileName[i]文件的Merge_Info->fileSize[i]字节数据拷入mergeBuf以Merge_Info->fileOffset[i]为偏移地址处,最后,i++。完成本次循环,返回⑥;
⑦当循环变量i不小于合并文件个数Merge_Info->fileNum时,保存内存数据partBuf为partTable.bin分区表文件,其文件内容如图6所示;
⑧保存内存数据mergeBuf为Merge.bin合并文件。
7、分区表文件partTable.bin和合并文件Merge.bin就是最终制作的工厂分区烧录映像文件。
从上述实施例可以看出,本发明的优势在于:
制作成工厂烧录映像文件是在工程编译时自动生成的,无需后期处理就可以使用烧录器直接烧录;uboot和集成镜像都有备份,大大减少系统运行时出错概率;将内核kernel和文件系统rootfs集成为一个文件,方便客户升级程序,防止升级程序时内核kernel和根文件系统rootfs不匹配问题,另外加入集成镜像的校验信息,增加数据可靠性;系统文件使用ubi文件系统,ubi文件系统提供高效灵活的损耗均衡技术,提高了nandflash的使用寿命。
以上对本发明的具体实施例进行了详细描述,但本发明并不限制于以上描述的具体实施例,其只是作为范例。对于本领域技术人员而言,任何等同修改和替代也都在本发明的范畴之中。因此,在不脱离本发明的精神和范围下所作出的均等变换和修改,都应涵盖在本发明的范围内。

Claims (4)

1.一种将ubi格式的系统文件制作成工厂烧录映像文件的方法,其特征在于,包括下列步骤:
从分区文件读取linux嵌入式设备的nandflash分区信息;
利用mkimage工具制作uboot启动文件;
将内核kernel和根文件系统rootfs集成为镜像文件;
转化系统文件,包括把uboot和集成镜像转化为ubi文件系统格式;
追加nandflash的spare区内容,计算文件ECC校验数据;
制作在分区模式下可烧录的映像文件,所述映像文件包括分区表文件和合并文件。
2.根据权利要求1所述将ubi格式的系统文件制作成工厂烧录映像文件的方法,其特征在于,利用mkimage工具在制作uboot映像文件时,在原来的可执行映像文件的前面加上一段参数信息,使得uboot识别这个映像文件针对的CPU体系结构,操作系统名字,文件类型,加载内存中位置和映像名字,如果相同,就从这个地址开始提取出这个参数信息并对其进行分析,然后去掉参数信息,把数据复制到指定的地址中运行。
3.根据权利要求1所述将ubi格式的系统文件制作成工厂烧录映像文件的方法,其特征在于,制作集成镜像文件包括下列步骤:
计算集成后的镜像文件的大小;
申请镜像文件大小的内存空间,用于存储将要生成的集成镜像;
计算并统计镜像信息;
拷贝镜像信息到内存空间,把镜像信息拷入内存空间的前512字节;
拷贝内核到内存空间以512字节为偏移地址处;
拷贝根文件系统到内存空间的相应偏移地址处;
保存内存空间的数据为集成的镜像文件。
4.根据权利要求3所述将ubi格式的系统文件制作成工厂烧录映像文件的方法,其特征在于,所述集成后的镜像文件包括镜像信息、内核和根文件系统,所述镜像信息用于记录集成镜像的信息,包括集成后镜像文件的大小、根文件系统在集成后的镜像文件中的偏移位置、镜像信息的CRC校验和、内核和根文件系统的CRC校验和、根文件系统文件的系统类型和集成后镜像文件的名称,所述集成后镜像文件的大小包括镜像信息大小、内核大小和根文件系统大小,所述内核是编译内核生成的文件,所述根文件系统是内核启动的初始阶段创建虚拟的文件系统后加载的真正文件系统。
CN201310561242.3A 2013-11-12 2013-11-12 将ubi格式的系统文件制作成工厂烧录映像文件方法 Active CN103593216B (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN201310561242.3A CN103593216B (zh) 2013-11-12 2013-11-12 将ubi格式的系统文件制作成工厂烧录映像文件方法
PCT/CN2014/000989 WO2015070521A1 (zh) 2013-11-12 2014-11-11 将ubi格式的系统文件制作成工厂烧录映像文件方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201310561242.3A CN103593216B (zh) 2013-11-12 2013-11-12 将ubi格式的系统文件制作成工厂烧录映像文件方法

Publications (2)

Publication Number Publication Date
CN103593216A true CN103593216A (zh) 2014-02-19
CN103593216B CN103593216B (zh) 2017-12-05

Family

ID=50083374

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201310561242.3A Active CN103593216B (zh) 2013-11-12 2013-11-12 将ubi格式的系统文件制作成工厂烧录映像文件方法

Country Status (2)

Country Link
CN (1) CN103593216B (zh)
WO (1) WO2015070521A1 (zh)

Cited By (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104133743A (zh) * 2014-07-22 2014-11-05 青岛智动精工电子有限公司 一种将文件烧录到emmc芯片的方法及装置
CN104317618A (zh) * 2014-10-24 2015-01-28 福州瑞芯微电子有限公司 一种固件分区处理方法和装置
CN104484207A (zh) * 2014-12-23 2015-04-01 上海斐讯数据通信技术有限公司 交换机的镜像升级方法及适用的linux操作系统和交换机
CN104516759A (zh) * 2014-12-08 2015-04-15 武汉烽火网络有限责任公司 一种集成镜像文件生成方法、测试方法和装置
WO2015070521A1 (zh) * 2013-11-12 2015-05-21 上海斐讯数据通信技术有限公司 将ubi格式的系统文件制作成工厂烧录映像文件方法
CN104679507A (zh) * 2015-02-05 2015-06-03 四川长虹电器股份有限公司 NAND Flash编程器烧录映像文件的生成方法及装置
CN106155589A (zh) * 2016-06-30 2016-11-23 数普金通数据技术有限公司 一种虚拟动态分区镜像文件生成方法及系统
CN107402751A (zh) * 2017-05-23 2017-11-28 博为科技有限公司 一种基于Linux系统NAND FLASH母片烧录镜像实现方法
CN107688463A (zh) * 2017-09-21 2018-02-13 杭州全维技术股份有限公司 一种嵌入式设备版本文件打包的方法
CN109284232A (zh) * 2018-08-30 2019-01-29 大陆汽车投资(上海)有限公司 嵌入式Linux系统中预防闪存崩溃的方法
CN109614366A (zh) * 2018-11-15 2019-04-12 广东工贸职业技术学院 运动控制系统的可配置方法及装置
CN109828764A (zh) * 2018-12-29 2019-05-31 惠州市蓝微电子有限公司 烧录文件的生成、烧录方法及其设备
CN110443032A (zh) * 2019-08-14 2019-11-12 重庆蓝岸通讯技术有限公司 一种针对UBI文件系统在fastboot模式下烧录的加密保护方法
CN110531997A (zh) * 2019-08-30 2019-12-03 四川爱联科技有限公司 物联网模组生产流程中实现多个生产测试固件切换的方法
CN110825714A (zh) * 2019-11-08 2020-02-21 珠海奔图电子有限公司 文件存储控制方法及其装置、文件存储装置、电子装置
CN111897569A (zh) * 2020-07-13 2020-11-06 深圳市亿道数码技术有限公司 基于mtk平台对移动终端配置器件的处理方法及系统
CN112463178A (zh) * 2020-12-10 2021-03-09 福州创实讯联信息技术有限公司 一种嵌入式设备的文件系统烧写方法与终端
CN113571121A (zh) * 2021-07-26 2021-10-29 杭州国芯科技股份有限公司 嵌入式设备NAND Flash的ECC码存储方法
CN113778747A (zh) * 2021-08-11 2021-12-10 江苏深网科技有限公司 一种设备系统镜像文件格式分析方法

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110532031A (zh) * 2019-07-16 2019-12-03 广州市中海达测绘仪器有限公司 基于Linux系统的贴牌显示方法、电子设备及存储介质
CN111142891B (zh) * 2019-12-30 2023-10-20 昆山丘钛微电子科技有限公司 一种数据烧录的验证方法、装置、电子设备及介质
CN111596930B (zh) * 2020-05-22 2023-03-28 青岛创新奇智科技集团股份有限公司 根文件系统镜像制作方法、装置、存储介质及嵌入式设备
CN112379867B (zh) * 2020-11-10 2022-11-11 杭州万高科技股份有限公司 一种基于模块化开发的嵌入式操作系统、方法及存储介质
CN113031975A (zh) * 2021-03-24 2021-06-25 山东英信计算机技术有限公司 一种多镜像共用存储芯片的方法、装置及服务器
CN113157282B (zh) * 2021-03-31 2024-06-04 惠州华阳通用电子有限公司 一种烧录镜像文件生成方法
CN113626060B (zh) * 2021-08-06 2023-08-01 天津津航计算技术研究所 vxworks系统下基于分离存储的在线升级方法
CN114924778B (zh) * 2022-04-01 2024-04-26 北京遥测技术研究所 一种基于zynq冗余备份的程序升级方法
CN116361817B (zh) * 2023-06-02 2023-08-22 麒麟软件有限公司 一种Linux下ubi文件系统的保护方法

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20050021686A (ko) * 2003-08-25 2005-03-07 삼성전자주식회사 듀얼 칩을 구비하는 단말기에서 nand 플래쉬 메모리관리방법
CN102012831A (zh) * 2010-12-08 2011-04-13 四川金网通电子科技有限公司 基于Linux平台的OTA升级方法
CN102253867A (zh) * 2010-05-18 2011-11-23 乐金电子(中国)研究开发中心有限公司 一种生成flash存储器镜像文件的方法和装置
CN102543193A (zh) * 2011-12-31 2012-07-04 深圳创维数字技术股份有限公司 一种闪存烧录方法、烧录设备及烧录系统
CN102722516A (zh) * 2012-01-17 2012-10-10 晨星软件研发(深圳)有限公司 一种针对NAND Flash烧录文件的生成方法及相应的装置

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102298555B (zh) * 2011-08-22 2016-04-27 宜兴市华星特种陶瓷科技有限公司 基于nand技术的模块化闪存管理系统
CN103049298A (zh) * 2013-01-17 2013-04-17 四川省安全科学技术研究院 一种Nandflash烧写方法
CN103218306B (zh) * 2013-03-29 2016-03-30 四川长虹电器股份有限公司 一种实现基于ubi的动态磨损均衡的方法
CN103593216B (zh) * 2013-11-12 2017-12-05 上海斐讯数据通信技术有限公司 将ubi格式的系统文件制作成工厂烧录映像文件方法

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20050021686A (ko) * 2003-08-25 2005-03-07 삼성전자주식회사 듀얼 칩을 구비하는 단말기에서 nand 플래쉬 메모리관리방법
CN102253867A (zh) * 2010-05-18 2011-11-23 乐金电子(中国)研究开发中心有限公司 一种生成flash存储器镜像文件的方法和装置
CN102012831A (zh) * 2010-12-08 2011-04-13 四川金网通电子科技有限公司 基于Linux平台的OTA升级方法
CN102543193A (zh) * 2011-12-31 2012-07-04 深圳创维数字技术股份有限公司 一种闪存烧录方法、烧录设备及烧录系统
CN102722516A (zh) * 2012-01-17 2012-10-10 晨星软件研发(深圳)有限公司 一种针对NAND Flash烧录文件的生成方法及相应的装置

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
CHINAUNIX博客: "mkimage使用详解", 《HTTP://LINUX.CHINAUNIX.NET/TECHDOC/DESKTOP/2008/11/14/1045327.SHTML》 *
WANGXUEANG224: "UBI文件系统制作", 《HTTP://BLOG.CSDN.NET/WANGXUEANG224/ARTICLE/DETAILS/7765093》 *

Cited By (29)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2015070521A1 (zh) * 2013-11-12 2015-05-21 上海斐讯数据通信技术有限公司 将ubi格式的系统文件制作成工厂烧录映像文件方法
CN104133743B (zh) * 2014-07-22 2016-02-10 青岛智动精工电子有限公司 一种将文件烧录到emmc芯片的方法及装置
CN104133743A (zh) * 2014-07-22 2014-11-05 青岛智动精工电子有限公司 一种将文件烧录到emmc芯片的方法及装置
CN104317618A (zh) * 2014-10-24 2015-01-28 福州瑞芯微电子有限公司 一种固件分区处理方法和装置
CN104317618B (zh) * 2014-10-24 2018-03-27 福州瑞芯微电子股份有限公司 一种固件分区处理方法和装置
CN104516759A (zh) * 2014-12-08 2015-04-15 武汉烽火网络有限责任公司 一种集成镜像文件生成方法、测试方法和装置
CN104516759B (zh) * 2014-12-08 2018-07-27 武汉烽火网络有限责任公司 一种集成镜像文件生成方法、测试方法和装置
CN104484207A (zh) * 2014-12-23 2015-04-01 上海斐讯数据通信技术有限公司 交换机的镜像升级方法及适用的linux操作系统和交换机
CN104679507A (zh) * 2015-02-05 2015-06-03 四川长虹电器股份有限公司 NAND Flash编程器烧录映像文件的生成方法及装置
CN104679507B (zh) * 2015-02-05 2017-10-03 四川长虹电器股份有限公司 NAND Flash编程器烧录映像文件的生成方法及装置
CN106155589A (zh) * 2016-06-30 2016-11-23 数普金通数据技术有限公司 一种虚拟动态分区镜像文件生成方法及系统
CN106155589B (zh) * 2016-06-30 2018-12-14 数普金通数据技术有限公司 一种虚拟动态分区镜像文件生成方法及系统
CN107402751A (zh) * 2017-05-23 2017-11-28 博为科技有限公司 一种基于Linux系统NAND FLASH母片烧录镜像实现方法
CN107688463A (zh) * 2017-09-21 2018-02-13 杭州全维技术股份有限公司 一种嵌入式设备版本文件打包的方法
CN109284232A (zh) * 2018-08-30 2019-01-29 大陆汽车投资(上海)有限公司 嵌入式Linux系统中预防闪存崩溃的方法
CN109614366A (zh) * 2018-11-15 2019-04-12 广东工贸职业技术学院 运动控制系统的可配置方法及装置
CN109614366B (zh) * 2018-11-15 2023-06-06 广东工贸职业技术学院 运动控制系统的可配置方法及装置
CN109828764B (zh) * 2018-12-29 2022-06-24 惠州市蓝微电子有限公司 烧录文件的生成、烧录方法及其设备
CN109828764A (zh) * 2018-12-29 2019-05-31 惠州市蓝微电子有限公司 烧录文件的生成、烧录方法及其设备
CN110443032A (zh) * 2019-08-14 2019-11-12 重庆蓝岸通讯技术有限公司 一种针对UBI文件系统在fastboot模式下烧录的加密保护方法
CN110531997A (zh) * 2019-08-30 2019-12-03 四川爱联科技有限公司 物联网模组生产流程中实现多个生产测试固件切换的方法
CN110531997B (zh) * 2019-08-30 2022-11-29 四川爱联科技股份有限公司 物联网模组生产流程中实现多个生产测试固件切换的方法
CN110825714A (zh) * 2019-11-08 2020-02-21 珠海奔图电子有限公司 文件存储控制方法及其装置、文件存储装置、电子装置
CN111897569A (zh) * 2020-07-13 2020-11-06 深圳市亿道数码技术有限公司 基于mtk平台对移动终端配置器件的处理方法及系统
CN111897569B (zh) * 2020-07-13 2024-04-16 深圳市亿道数码技术有限公司 基于mtk平台对移动终端配置器件的处理方法及系统
CN112463178A (zh) * 2020-12-10 2021-03-09 福州创实讯联信息技术有限公司 一种嵌入式设备的文件系统烧写方法与终端
CN113571121A (zh) * 2021-07-26 2021-10-29 杭州国芯科技股份有限公司 嵌入式设备NAND Flash的ECC码存储方法
CN113778747A (zh) * 2021-08-11 2021-12-10 江苏深网科技有限公司 一种设备系统镜像文件格式分析方法
CN113778747B (zh) * 2021-08-11 2023-08-29 江苏深网科技有限公司 一种设备系统镜像文件格式分析方法

Also Published As

Publication number Publication date
CN103593216B (zh) 2017-12-05
WO2015070521A1 (zh) 2015-05-21

Similar Documents

Publication Publication Date Title
CN103593216A (zh) 将ubi格式的系统文件制作成工厂烧录映像文件方法
US9563375B2 (en) Method for storing metadata of log-structured file system for flash memory
US10120795B2 (en) Wear-leveling nandflash memory reading/writing method
US8402202B2 (en) Input/output control method and apparatus optimized for flash memory
CN101983376B (zh) 访问装置、信息记录装置、信息记录系统、文件管理方法和程序
US7970804B2 (en) Journaling FAT file system and accessing method thereof
CN103136108B (zh) 快闪存储装置及其数据读取方法
US7971022B2 (en) Apparatus and method of processing data of non-volatile memory using transaction block
CN105988895B (zh) 快照处理方法及装置
TW201526007A (zh) Nand快閃記憶體燒錄資料的處理、使用方法及裝置、運行系統
JP6193406B2 (ja) 差分符号化のためのシリアライゼーション
JP2016062319A (ja) データ読み出し装置、プログラムおよびデータ読み出し方法
CN103778032A (zh) 一种类Unix操作系统备份的方法及装置
CN104572492A (zh) 一种烧录数据到fat32分区的方法和装置
CN112800007B (zh) 适用于fat32文件系统的目录项扩展方法和系统
US20090112951A1 (en) Apparatus and method of managing files and memory device
CN103778033A (zh) 一种类Unix操作系统多时间点备份的方法及装置
CN102760063B (zh) 一种文件加载方法及装置
US20130326123A1 (en) Memory management device and method, and program
CN103210389A (zh) 一种元数据的处理方法和装置
CN103106008B (zh) 一种播放图片的方法、装置及Android设备
CN109683914B (zh) 一种flash烧录方法、上位机及烧录系统
CN109358885A (zh) 一种开机画面的更新方法、系统、装置及可读存储介质
JP4086600B2 (ja) ロールバック可能fatファイルシステム及びプログラム
CN109992296B (zh) 同步修改一个工程中多个配置文件的方法、装置及系统

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant
TR01 Transfer of patent right
TR01 Transfer of patent right

Effective date of registration: 20201118

Address after: 221700 4-1-110-shop, Nanyuan new town, Fengxian County, Xuzhou City, Jiangsu Province

Patentee after: Song Yixiao

Address before: 201616 Shanghai city Songjiang District Guangfulin road 4855 Lane 20, No. 90

Patentee before: Phicomm (Shanghai) Co.,Ltd.