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

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

Info

Publication number
WO2015070521A1
WO2015070521A1 PCT/CN2014/000989 CN2014000989W WO2015070521A1 WO 2015070521 A1 WO2015070521 A1 WO 2015070521A1 CN 2014000989 W CN2014000989 W CN 2014000989W WO 2015070521 A1 WO2015070521 A1 WO 2015070521A1
Authority
WO
WIPO (PCT)
Prior art keywords
file
image
kernel
image file
ubi
Prior art date
Application number
PCT/CN2014/000989
Other languages
English (en)
French (fr)
Inventor
邓兵
Original Assignee
上海斐讯数据通信技术有限公司
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 上海斐讯数据通信技术有限公司 filed Critical 上海斐讯数据通信技术有限公司
Publication of WO2015070521A1 publication Critical patent/WO2015070521A1/zh

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

Definitions

  • the present invention relates to a storage technology, and in particular to a method for creating a system file of a ubi format into a factory-fired image file for use in a Linux embedded device.
  • Nandflash structure can provide extremely high cell density, high storage density, fast write and erase speed, low storage media cost, and gradually become the preferred storage device for embedded systems. However, from the perspective of cost and technology, nandflash is allowed to exist. A certain percentage of bad blocks.
  • nandflash The lifetime of nandflash is limited.
  • the number of erasures of a nandflash block is about 10 ⁇ 5-10 ⁇ 6 times.
  • Wear Balance technology should be used to extend the useful life of the flash memory, and the ubi file system format has wear leveling technology to extend the life of the nandflash.
  • the traditional method of burning nandflash is to use a script command to burn, which takes a long time, and the tooling is used in mass production, which requires a certain production cost. If you use the burner to directly burn the compiled system original files (bootstrap.bin, uboot.bin, uImage, rootfs), the system cannot run because there is no information in the spare area.
  • the system can still be run without using the burner to directly burn the burned image with the information of the spare area. Because, when the first partition of nandflash has 1 bad block, nandflash burns to skip the bad block, the writer will write the remaining data of the first partition to the first block of the second partition. In block, the data of the original second partition is burned into the second block of the second partition, but the system reads data from the fixed address when the system starts, that is, the system first to the second partition. The data is read in the block block. At this time, the first block of the second partition stores the remaining data of the first partition, and the system cannot run.
  • the invention provides a method for manufacturing a system file of a ubi format into a factory burning image file, which does not need to burn a tooling, and does not require a production cost, and the production factory burns the image for a short time without manual intervention, and only takes a few seconds. It can automatically generate completely correct image files, reduce burning time and improve the efficiency of Linux embedded production pipeline.
  • the present invention provides a method for manufacturing a system file of a ubi format into a factory-fired image file, which is characterized in that the method comprises:
  • Convert system files including converting uboot and integrated images to ubi file system format
  • An image file that can be burned in the partition mode is created, and the image file includes a partition table file and a merge file.
  • the above method for creating a ubi format system file into a factory image file wherein, when using mkimage to create a uboot startup file, a parameter information is added in front of the original executable image file, so that uboot recognizes the image file for CPU architecture, operating system name, file type, load address, kernel entry address and image name; if the program runs, if uboot The bootm address is not the same as the load address in the parameter information.
  • the parameter information is extracted from the boot address of uboot, analyzed, and then the parameter information is removed, and the data is copied to the load address to run, otherwise directly from the kernel.
  • the entry address is running.
  • the above method for making a system file in a ubi format into a factory image file, wherein the production of the integrated image file includes the following steps:
  • the data in the saved memory space is an integrated image file.
  • the above method for manufacturing a ubi format system file into a factory burning image file wherein the integrated image file includes image information, a kernel, and a root file system, where the image information is used to record information of the integrated image, including integration.
  • the name of the image file, the size of the integrated image file includes the size of the image information, the kernel size, and the size of the root file system.
  • the kernel is a file generated by the compiled kernel, and the root file system is created in the initial stage of the kernel startup. The real file system loaded after the file system.
  • Produced into a factory burning image file is automatically generated at the time of project compilation, can be directly burned using the burner without post-processing;
  • the system file uses the ubi file system.
  • the ubi file system provides efficient and flexible wear leveling technology, which improves the service life of the nandflash.
  • FIG. 1 is a schematic flow chart of a method for manufacturing a system file of a ubi format into a factory burned image file according to the present invention
  • FIG. 2 is a schematic flow chart of manufacturing an integrated image file in the method for manufacturing a system file of a ubi format into a factory image file by using the ubi format;
  • 3 is a software flow for adding an integrated image of a uboot and a ubi file format of a ubi file format to an ECC check data in a method for manufacturing a system file of a ubi format into a factory image file;
  • FIG. 5 is a schematic flowchart of creating an image file capable of burning in a partition mode in a method for manufacturing a system file of a ubi format into a factory image file;
  • FIG. 6 is a schematic diagram showing the contents of a partTable.bin partition table file in a method for manufacturing a ubi format system file into a factory burning image file according to the present invention.
  • an embodiment of the present invention provides a method for creating a system file of a ubi file system format into a factory-fired image file in a Linux embedded device, and the method includes the following main steps:
  • Step 1 First, read the nandflash partition information of the linux embedded device from the partition file.
  • Step 2 then use the mkimage tool to make the uboot startup file.
  • Step 3 Integrate the kernel kernel and the root file system rootfs into an image file.
  • Step 4 Convert the system files, for example, convert the uboot and integrated images to the ubi file system format.
  • Step 5 Add the content of the spare area of the nandflash, and calculate the file ECC check data.
  • Step 6 an image file that can be burned in the partition mode is created, and the partition table file partTable.bin and the merge file Merge.bin are included.
  • Step 1 Create a burner image based on the partition information:
  • the contents of the partition file are: bootstrap(0x200000); config(0x200000); uboot1(0x400000); uboot2(0x400000); image1(0x1c00000); image2(0x1c00000), where the parentheses indicate the size of the space occupied by the file in nandflash. The size does not include information on the spare area.
  • Step 2 Use the mkimage tool to create a uboot startup file:
  • mkimage When making a uboot startup file, mkimage adds 64 bytes of parameter information to the front of the original executable image file.
  • the parameter information includes parameters such as CPU architecture, operating system name, file type, load address, and kernel entry address. This way uboot can identify the CPU architecture, operating system name, file type, load address, kernel entry address, and image name for this image file.
  • the program runs, if the boot address of uboot is the same as the load address in the parameter information, the 64-byte parameter information is extracted from the bootm address of uboot, analyzed, and then the 64-byte parameter information is removed. Copy to the load address to run; otherwise, if not the same, run directly from the kernel's entry address.
  • Step 3 Integrate the kernel kernel and the root file system rooffs into an image file:
  • a flowchart for creating an integrated image file specifically includes the following steps:
  • Step 3.1 Calculate the size of the mirror file after integration, and the size is the sum of the mirror information size 512 bytes, the kernel kernel file size, and the root file system rootfs file size;
  • Step 3.2 Applying a memory space buf of an image file size, which is used to store an integrated image to be generated;
  • Step 3.3 Calculate and count the mirror information
  • Step 3.4 copy the mirror information to the buf, and copy the mirror information into the first 512 bytes of the buf;
  • Step 3.5 copy the kernel kernel to buf with 512 bytes as the offset address
  • Step 3.6 copy the root file system roofs to the corresponding offset address of the buf;
  • Step 3.7 Save the buf data as an integrated image file.
  • the integrated image file consists of three parts: mirror information, kernel kernel and root file system rootfs, and is stored continuously.
  • the size of the mirrored information is 512 bytes, and the information of the integrated image is recorded, including:
  • the kernel kernel is the file generated by the compiled kernel.
  • the root file system rootfs is the real file system loaded after the virtual file system is created in the initial stage of Kernel startup.
  • Step 4 Convert the uboot and the integrated image file to the ubi file system format:
  • the uboot command to create a ubi file system format using ubinize is as follows:
  • the integrated image command for creating a ubi file system format using ubinize is as follows:
  • Outubiimage.img is the output file of the integrated image of the ubi file system format.
  • cfg_ubiimage.efg is the configuration file for making the ubi file system. The content is:
  • Step 5 Add the content of the spare area of the nandflash, the spare area stores the bad block mark and the ECC check code, and calculates the file ECC check data:
  • the following is an example of Samsung's K9F1G08U0A nandflash chip, which consists of 1024 block blocks, each block containing 64 page pages, each page being 2048+64 2112 bytes.
  • main Area main storage area
  • SpareArea extended storage area
  • each page of nandflash has two areas: a main area and a spare area, a main area for storing normal data, and a spare area for storing other additional information, which includes an ECC check code.
  • ECC check code 3 bytes of ECC parity data is generated for every 256 bytes of original file data. Stored in the OOB (out-of-band) specific location in the spare area of the page page.
  • OOB out-of-band
  • the integrated image of the uboot and ubi file formats of the ubi file format is added to the software flow of the ECC check data.
  • a flow chart for adding an integrated image of the uboot and ubi file formats of the ubi file format to the ECC check data includes the following steps:
  • Step 5.1 Calculate the file size of the spare area: first open the file that is calculated by the ECC check (such as the integrated image of the uboot or ubi file format in the ubi file format), and then obtain the file size of the calculated ECC check as oriFileLen byte.
  • the page size of the nandflash chip of Samsung's K9F1G08U0A is 2048 bytes.
  • the size of the spare area of each page is 64 bytes, then the file size of the spare area is oriFileLen/2048*2112 bytes.
  • Step 5.2 Applying a memory space BufIncEcc containing the size of the spare area file, and storing the file after calculating the ECC check, and initializing the address of the application memory BufIncEcc to be bufAddr to 0.
  • Step 5.3 Read 2048 bytes of data of one page from the file calculated by the ECC check to BufIncEcc[bufAddr], and initialize the offset address dataNum of the page to 0.
  • Step 5.4 Determine whether the offset address in the page is smaller than the page size, wherein the page size is 2048 bytes, if yes, jump to step 5.4.1, and if not, jump to step 5.4.2.
  • Step 5.4.1 If the dataNum is smaller than the page size, first apply for the 256-byte data buffer eccBuf.
  • the eccBuf is used to temporarily store the 256-byte data buffer from the offset address. This 256-byte data is used to calculate the FCC. And read 256 bytes from the offset address bufAddr+dataNum in BufIncEcc to eccBuf, and then use the look-up table method to calculate 256 bytes of eccBuf as 3-byte ECC, and then fill the 3-byte check data ECC into BufIncEcc.
  • the OOB area, the last dataNum dataNum+256, that is, the BufIncEcc page offset address plus 256, returns to step 5.4 to continue the execution loop.
  • the calculation result is shown in Fig. 4.
  • the upper frame area is 256 bytes of original file data
  • the lower area of the OOB area is the ECC data calculated by the above 2048 bytes of data.
  • the last three bytes of data in the lower area (aa 9a 97) are ECC data calculated from the upper area of 256 bytes of data.
  • Step 5.4.2 If the dataNum is not less than the page size, it means that the ECC check of the page is calculated, and the execution is continued, and the process proceeds to step 5.5.
  • Step 5.6 If it does not arrive at the end of the calculated verification file, return to step 5.3, otherwise continue.
  • Step 5.7 If the end of the calculated verification file indicates that the calculation file ECC check data ends. Save the BufIncEcc data to include the spare area files, such as ubootspa.bin and imagespa.bin, and the whole process is completed.
  • Step 6 Create an image file that can be burned in the supported partition mode:
  • An image file that supports partition mode burning is composed of two files.
  • the first is the partition table file (partTable.bin), which contains the basic information of the nandFlash chip and the partition table information.
  • the second is the binary merge file (Merge.bin) that will be burned to NandFlash.
  • the binary merge file is composed of a plurality of files, and is controlled by the partition table file.
  • the merge file consists of six binary files, bootstrap.bin, config.bin, uboot1.bin, uboot2.bin, image1.bin, and image2.bin.
  • Bootstrap.bin is used to boot Uboot1.bin starts
  • config.bin is the configuration file
  • uboot1.bin is used to boot the kernel kernel
  • image1.bin is the integration file of kernel kernel and root file system rootfs, where uboot1.bin and uboot2.bin are the same file.
  • Uboot2.bin is the backup file of uboot1.bin. If the system fails to boot from uboot1.bin, it will be started from uboot2.bin.
  • Image1.bin and image2.bin are also the same file.
  • image2.bin is the backup file of image1.bin.
  • the partition table file has a total of 512 bytes. Each 16 bytes represents one partition, and up to 32 partitions can be divided. The first 1 to 4 bytes of every 16 bytes represent the first block of the partition, 5 to 8 bytes represent the last block of the partition, and 9 to 12 bytes represent the file of the partition. The block number, 13 to 16 bytes, is filled with 0xff.
  • the process of creating an image file that supports partition mode can be burned specifically includes:
  • Step 6.1 defining a Merge_Info structure, each parameter is illustrated in step 6.2;
  • Step 6.2 Statistics of each file information is filled in the structure
  • Bootstrap.bin After burning to the 0x0 block, the offset address is 0x0;
  • the parameters of the structure are:
  • A, fileNum The number of files to be merged when creating a burned image file is six.
  • fileSize[32] The size of each merged file.
  • mergeSize the size of the entire burned image, that is, the mirror end address 0x4620000
  • partStarBlock[32] Burning image each merged file starting block block: bootstrap.bin is 0x0, config.bin is 0x10, uboot1.bin is 0x20, uboot2.bin is 0x40, image1.bin is 0x60, image2 .bin is 0x140.
  • partEndBlock[32] Burn the image end of each merged file block block, that is, the next start block address minus 1: bootstrap.bin is 0xf, config.bin is 0x1f, uboot1.bin is 0x3f, uboot2.bin is 0x5f, image1.bin is 0x13f, and image2.bin is 0x21f.
  • fileBlockSize[32] The block size of each merged file block.
  • Step 6.3 Apply for 512 bytes of memory partBuf to store the partition table information, and fill in the contents of the memory partBuf to 0xff.
  • Step 6.4 Apply Merge_Info->mergeSize size, that is, 0x4620000 bytes of memory mergeBuf is used to store the merged file, and fill the contents of the memory mergeBuf to 0xff.
  • Step 6.5 Initialize the loop variable i to 0; count the number of partitions from the partition file, and initialize the number of merged files to the number of partitions.
  • Step 6.6 If the loop variable i is smaller than the number of merged files, jump to step 6.6.1, otherwise Go to step 6.7.
  • Step 6.6.1 if the loop variable i is smaller than the number of merged files Merge_Info->fileNum, first assign the partition start address Merge_Info->partStarBlock[i] to the four bytes of partBuf[16*i], and then end the partition.
  • the address Merge_Info->partEndBlock[i] is assigned to the four bytes of partBuf[16*i+4], and then the number of blocks of the merged file Merge_Info->fileBlockSize[i] is assigned to partBuf[16*i+ In the four bytes of 8], the Merge_Info->fileSize[i] byte data merged with the file named Merge_Info->fileName[i] is copied into the mergeBuf with Merge_Info->fileOffset[i] as the offset address. Finally, the loop variable i is incremented by 1, which is i++. Complete this loop and return to step 6.6.
  • Step 6.7 When the loop variable i is not less than the number of merged files Merge_Info->fileNum, the memory data partBuf is saved as a partTable.bin partition table file, and the file content thereof is as shown in FIG. 6.
  • Step 6.8 Save the memory data mergeBuf as a merge file of Merge.bin.
  • the partition table file partTable.bin and the merge file Merge.bin are the final factory partition burning image files.
  • the system rootfs is integrated into a file, which is convenient for customers to upgrade the program.
  • the kernel kernel and the root file system do not match the rootfs.
  • the verification information of the integrated image is added to increase the reliability of the data.
  • the system file uses the ubi file system and the ubi file. The system provides efficient and flexible wear leveling technology, which improves the service life of nandflash.

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报废,这实际上是浪费,所以应该使用磨损均衡(Wear Balance)技术以延长闪存的有效使用寿命,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体系结构,操作系统名字,文件类型,加载地址,内核的入口地址和映像名字;程序运行时,如果uboot 的bootm地址与参数信息里的加载地址不相同,就从uboot的bootm地址开始提取出这个参数信息,对其进行分析,然后去掉参数信息,把数据复制到加载地址中运行,否则直接从内核的入口地址运行。
上述将ubi格式的系统文件制作成工厂烧录映像文件的方法,其中,制作集成镜像文件包括下列步骤:
计算集成后的镜像文件的大小;
申请镜像文件大小的内存空间,用于存储将要生成的集成镜像;
计算并统计镜像信息;
拷贝镜像信息到内存空间,把镜像信息拷入内存空间的前512字节;
拷贝内核到内存空间以512字节为偏移地址处;
拷贝根文件系统到内存空间的相应偏移地址处;
保存内存空间的数据为集成的镜像文件。
上述将ubi格式的系统文件制作成工厂烧录映像文件的方法,其中,所述集成后的镜像文件包括镜像信息、内核和根文件系统,所述镜像信息用于记录集成镜像的信息,包括集成后镜像文件的大小、根文件系统在集成后的镜像文件中的偏移位置、镜像信息的CRC校验和、内核和根文件系统的CRC校验和、根文件系统文件的系统类型和集成后镜像文件的名称,所述集成后镜像文件的大小包括镜像信息大小、内核大小和根文件系统大小,所述内核是编译内核生成的文件,所述根文件系统是内核启动的初始阶段创建虚拟的文件系统后加载的真正文件系统。
本发明将ubi格式的系统文件制作成工厂烧录映像文件的方法与现有技术相比,本发明的有益效果在于:
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分区表文件的内容示意图。
实现本发明的最佳方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
需要说明的是,在不冲突的情况下,本发明中的实施例及实施例中的特征可以相互组合。
如图1所示,本发明实施例提供Linux嵌入式设备中的一种将ubi文件系统格式的系统文件制作成工厂烧录映像文件的方法,该方法包含如下主要步骤:
步骤1、首先从分区文件读取linux嵌入式设备的nandflash分区信息。
步骤2、然后利用mkimage工具制作uboot启动文件。
步骤3、将内核kernel和根文件系统rootfs集成为镜像文件。
步骤4、转化系统文件,如,把uboot和集成镜像转化为ubi文件系统格式。
步骤5、追加nandflash的spare区内容,计算文件ECC校验数据。
步骤6、最后制作在分区模式下可烧录的映像文件,包含分区表文件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字节的参数信息,参数信息包括CPU体系结构、操作系统名字、文件类型、加载地址、内核的入口地址等参数,这样uboot才能识别这个映像文件针对的CPU体系结构,操作系统名字,文件类型,加载地址,内核的入口地址,映像名字。程序运行时,如果uboot的bootm地址与参数信息里的加载地址相同,就从uboot的bootm地址开始提取出这个64字节参数信息,对其进行分析,然后去掉64字节的参数信息,把数据复制到加载地址中运行;否则若不相同,则直接从内核的入口地址运行。
步骤3、将内核kernel和根文件系统rooffs集成为镜像文件:
如图2所示,为制作集成镜像文件的流程图,其具体包含以下步骤:
步骤3.1、计算集成后镜像文件的大小,其大小为镜像信息大小512字节、内核kernel文件大小和根文件系统rootfs文件大小的总和;
步骤3.2、申请镜像文件大小的内存空间buf,其用于存储将要生成的集成镜像;
步骤3.3、计算并统计镜像信息;
步骤3.4、拷贝镜像信息到buf,把镜像信息拷入buf的前512字节;
步骤3.5、拷贝内核kernel到buf以512字节为偏移地址处;
步骤3.6、拷贝根文件系统roofs到buf相应偏移地址处;
步骤3.7、保存buf数据为集成的镜像文件。
集成后的镜像文件由镜像信息、内核kernel和根文件系统rootfs共3部分组成,且连续存放。镜像信息大小为512字节,记录集成镜像的信息,具体包含:
(A)集成后镜像文件的大小,共包含三个部分,分别为镜像信息大小、内核kernel大小和根文件系统rootfs大小;
(B)内核kernel大小;
(C)根文件系统rootfs大小;
(D)根文件系统rootfs在集成后的镜像文件中的偏移位置;
(E)镜像信息的CRC校验和;
(F)内核kernel和根文件系统rooffs的CRC校验和;
(G)根文件系统rooffs文件的系统类型;
(H)集成后镜像文件的名称。
内核kernel是编译内核生成的文件。
根文件系统rootfs是Kernel启动的初始阶段创建虚拟的文件系统后加载的真正文件系统。
步骤4、转化uboot和集成后的镜像文件为ubi文件系统格式:
使用ubinize制作ubi文件系统格式的uboot命令如下:
./ubinize-o outubiuboot.img-m 2048-p 128KiB-s 512-O 512cfg_ubiuboot.cfg
使用ubinize制作ubi文件系统格式的集成镜像命令如下:
./ubinize-o outubiimage.img-m 2048-p 128KiB-s 512-O 512cfg_ubiimage.cfg
命令里参数的解释为:
-o:输出文件名字;
-m:页面大小(2048);
-p:物理擦除块大小(128KB);
-s:最小的硬件输入输出页面大小(512);
outubiimage.img为ubi文件系统格式的集成镜像的输出文件,cfg_ubiimage.efg为制作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区内容,该spare区存储坏块标记和ECC校验码,计算文件ECC校验数据:
下面针对三星的K9F1G08U0A的nandflash芯片为例,由1024个块block组成,每个block包含64个页page,每个page是2048+64=2112字节。对于一个page,0至2047个字节为主存储区(Main Area),用来存储用户数据;2048至2111共64个字节为扩展存储区(SpareArea),用来存储页的信息,包含坏块标记和错误检查纠正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校验数据的软件流程。
如图3所示,为将ubi文件格式的uboot和ubi文件格式的集成镜像加入ECC校验数据的流程图,其具体包含以下步骤:
步骤5.1、计算含spare区文件大小:先打开被计算ECC校验的文件(如ubi文件格式的uboot或ubi文件格式的集成镜像),再获取被计算ECC校验的文件大小为oriFileLen字节。三星的K9F1G08U0A的nandflash芯片的页page大小为2048字节,每页page的spare区大小为64字节,那么含spare区文件大小为 oriFileLen/2048*2112字节。
步骤5.2、申请含spare区文件大小的内存空间BufIncEcc,用于存储计算ECC校验后的文件,并且初始化刚申请内存BufIncEcc的地址为bufAddr为0。
步骤5.3、从被计算ECC校验的文件读出1页page的数据2048字节到BufIncEcc[bufAddr],并初始化页内偏移地址dataNum为0。
步骤5.4、判断页内偏移地址是否小于页面大小,其中页面大小为2048字节,若是、则跳转到步骤5.4.1,若否,则跳转到步骤5.4.2。
步骤5.4.1、如果dataNum小于页面大小,先申请256字节数据缓冲区eccBuf,eccBuf为:用来临时存储从偏移地址读出256字节数据缓冲区,这256字节数据用于计算FCC,并从BufIncEcc里偏移地址bufAddr+dataNum处读出256字节到eccBuf,再使用查表法计算eccBuf的256字节为3字节ECC,然后将3字节校验数据ECC填入BufIncEcc对应OOB区,最后dataNum=dataNum+256,即BufIncEcc页内偏移地址加256,返回步骤5.4继续执行循环。
计算结果如图4所示,上方框部区域是256字节原始文件数据,OOB区的下方区域是上述2048字节数据计算得到的ECC数据。下方区域最后三个字节数据(aa 9a 97)是由上方区域256字节数据计算得到的ECC数据。
步骤5.4.2、如果dataNum不小于页面大小,则表示计算该页ECC校验结束,继续往后执行,跳转到步骤5.5。
步骤5.5、bufAddr=bufAddr+2112,即BufIncEcc偏移地址加2112。
步骤5.6、如果没到达被计算校验文件结尾,返回步骤5.3,否则继续。
步骤5.7、如果到被计算校验文件结尾说明计算文件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填充。
制作支持分区模式可烧录的映像文件的流程具体包含:
步骤6.1、定义Merge_Info结构体,每个参数在步骤6.2里举例说明;
typedef struct Merge_Info
{
UINT32 fileNum;
UINT8 fileName[32][32];
UINT32 fileSize[32];
UINT32 fileOffset[32];
UINT32 mergeSize;
UINT32 partStarBlock[32];
UINT32 partEndBlock[32];
UINT32 fileBlockSize[32];
}Merge_Info;
步骤6.2、统计各文件信息填入该结构体;
根据不含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块以后,偏移地址为9x21000*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大小。
步骤6.3、申请512字节的内存partBuf用于存储分区表信息,并把内存partBuf的内容全填为0xff。
步骤6.4、申请Merge_Info->mergeSize大小即0x4620000字节的内存mergeBuf用于存储合并后的文件,并把内存mergeBuf的内容全填为0xff。
步骤6.5、初始化循环变量i为0;从分区文件统计分区数,初始化合并文件个数为分区数。
步骤6.6、如果循环变量i小于合并文件个数,则跳转到步骤6.6.1,否则 跳转到步骤6.7。
步骤6.6.1、如果循环变量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加1,即i++。完成本次循环,返回步骤6.6。
步骤6.7、当循环变量i不小于合并文件个数Merge_Info->fileNum时,保存内存数据partBuf为partTable.bin分区表文件,其文件内容如图6所示。 
步骤6.8、保存内存数据mergeBuf为Merge.bin合并文件。
分区表文件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体系结构,操作系统名字,文件类型,加载地址,内核的入口地址和映像名字;程序运行时,如果uboot的bootm地址与参数信息里的加载地址相同,就从uboot的bootm地址开始提取出这个参数信息,对其进行分析,然后去掉参数信息,把数据复制到加载地址中运行,否则直接从内核的入口地址运行。
  3. 如权利要求1所述将ubi格式的系统文件制作成工厂烧录映像文件的方法,其特征在于,制作集成镜像文件包括下列步骤:
    计算集成后的镜像文件的大小;
    申请镜像文件大小的内存空间,用于存储将要生成的集成镜像;
    计算并统计镜像信息;
    拷贝镜像信息到内存空间,把镜像信息拷入内存空间的前512字节;
    拷贝内核到内存空间以512字节为偏移地址处;
    拷贝根文件系统到内存空间的相应偏移地址处;
    保存内存空间的数据为集成的镜像文件。
  4. 如权利要求3所述将ubi格式的系统文件制作成工厂烧录映像文件的方 法,其特征在于,所述集成后的镜像文件包含:镜像信息、内核和根文件系统,所述镜像信息用于记录集成镜像的信息,包含集成后镜像文件的大小、根文件系统在集成后的镜像文件中的偏移位置、镜像信息的CRC校验和、内核和根文件系统的CRC校验和、根文件系统文件的系统类型和集成后镜像文件的名称,所述集成后镜像文件的大小包含镜像信息大小、内核大小和根文件系统大小,所述内核是编译内核生成的文件,所述根文件系统是内核启动的初始阶段创建虚拟的文件系统后加载的真正文件系统。
PCT/CN2014/000989 2013-11-12 2014-11-11 将ubi格式的系统文件制作成工厂烧录映像文件方法 WO2015070521A1 (zh)

Applications Claiming Priority (2)

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

Publications (1)

Publication Number Publication Date
WO2015070521A1 true WO2015070521A1 (zh) 2015-05-21

Family

ID=50083374

Family Applications (1)

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

Country Status (2)

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

Cited By (10)

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

Families Citing this family (18)

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

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102298555A (zh) * 2011-08-22 2011-12-28 宜兴市华星特种陶瓷科技有限公司 基于nand技术的模块化闪存管理系统
CN102722516A (zh) * 2012-01-17 2012-10-10 晨星软件研发(深圳)有限公司 一种针对NAND Flash烧录文件的生成方法及相应的装置
CN103049298A (zh) * 2013-01-17 2013-04-17 四川省安全科学技术研究院 一种Nandflash烧写方法
CN103218306A (zh) * 2013-03-29 2013-07-24 四川长虹电器股份有限公司 一种实现基于ubi的动态磨损均衡的方法
CN103593216A (zh) * 2013-11-12 2014-02-19 上海斐讯数据通信技术有限公司 将ubi格式的系统文件制作成工厂烧录映像文件方法

Family Cites Families (4)

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

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102298555A (zh) * 2011-08-22 2011-12-28 宜兴市华星特种陶瓷科技有限公司 基于nand技术的模块化闪存管理系统
CN102722516A (zh) * 2012-01-17 2012-10-10 晨星软件研发(深圳)有限公司 一种针对NAND Flash烧录文件的生成方法及相应的装置
CN103049298A (zh) * 2013-01-17 2013-04-17 四川省安全科学技术研究院 一种Nandflash烧写方法
CN103218306A (zh) * 2013-03-29 2013-07-24 四川长虹电器股份有限公司 一种实现基于ubi的动态磨损均衡的方法
CN103593216A (zh) * 2013-11-12 2014-02-19 上海斐讯数据通信技术有限公司 将ubi格式的系统文件制作成工厂烧录映像文件方法

Cited By (18)

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

Also Published As

Publication number Publication date
CN103593216A (zh) 2014-02-19
CN103593216B (zh) 2017-12-05

Similar Documents

Publication Publication Date Title
WO2015070521A1 (zh) 将ubi格式的系统文件制作成工厂烧录映像文件方法
CN103455354B (zh) 一种防止固件升级失败的方法和设备
US8230160B2 (en) Flash memory storage system and flash memory controller and data processing method thereof
US20040098397A1 (en) Memory device and recording/reproducing apparatus using the same
US20120089805A1 (en) Memory storage device, memory controller thereof, and method for automatically creating fill-file thereof
CN104239082A (zh) 嵌入式系统的热补丁实现方法
CN110032377B (zh) 通信模块软件升级方法、系统及通信模块
US20090055452A1 (en) Journaling FAT file system and accessing method thereof
WO2006098212A1 (ja) メモリコントローラ、不揮発性記憶装置、不揮発性記憶システム、及びデータ書き込み方法
CN110502281A (zh) 一种嵌入式设备启动Linux内核和文件系统的方法
CN109086078B (zh) 安卓系统升级方法、装置、服务器及移动终端
TWI421686B (zh) 資料存取方法與系統、儲存媒體控制器與儲存系統
CN101587451A (zh) 一种基于efi固件的数据备份和恢复方法
TWI438630B (zh) 用於非揮發性記憶體的資料合併方法、控制器與儲存裝置
CN102841802A (zh) 移动终端的软件升级方法
US20130013885A1 (en) Memory storage device, memory controller, and method for identifying valid data
CN110888851A (zh) 压缩文件创建和解压的方法及装置、以及电子和存储设备
JP4586469B2 (ja) メモリ制御装置、メモリ制御方法、プログラム
US8966161B2 (en) Memory storage device and restoring method thereof
CN108345430B (zh) 一种Nand flash元件及其运行控制方法和装置
CN117093247A (zh) 嵌入式设备的固件升级方法、装置、芯片和计算设备
CN103778033A (zh) 一种类Unix操作系统多时间点备份的方法及装置
CN102467522B (zh) 一种基于nand闪存的文件系统的自编程方法及装置
CN109918346A (zh) 一种文件的创建方法及装置
CN102760063B (zh) 一种文件加载方法及装置

Legal Events

Date Code Title Description
NENP Non-entry into the national phase

Ref country code: DE

121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 14862132

Country of ref document: EP

Kind code of ref document: A1

122 Ep: pct application non-entry in european phase

Ref document number: 14862132

Country of ref document: EP

Kind code of ref document: A1