一种构建转产镜像的方法及装置的制作方法

文档序号:6440319阅读:120来源:国知局
专利名称:一种构建转产镜像的方法及装置的制作方法
技术领域
本发明涉及计算机领域,特别涉及一种在Windows CE6.0架构下根据原始镜像构建出烧片机所用的NAND FLASH(闪存)上的完整系统镜像的方法及装置。
背景技术
Windows CE 6.0是微软公司推出的一款嵌入式操作系统,广泛应用于消费电子、工业控制设备行业等。按照其架构要求,基于此系统的设备的软件应包括两个部分:一是引导BOOT镜像,另一个是内核镜像。
基于WindowsCE 6.0平台实现的设备一般通过 JTAG(Joint Test Action Group,联合测试工作组)仿真器和SD (Secure Digital Memory Card,安全数码卡)卡生成该设备的软件系统。基于Windows CE 6.0平台实现的设备有很多种,比如PDA (Personal DigitalAssistant,掌上电脑),它是一款RFID (Radio Frequency Identification,射频识别技术)读写终端。目前该PDA的软件系统通过XDB (XScale JTAG Debuger,调试器)和SD卡生成,即首先使用XDB仿真器将BOOT镜像写入系统的NAND FLASH内,然后运行BOOT镜像,并通过SD卡写内核镜像到NAND FLASH内,从而构建起整个软件系统。
现有的构建方法最大的缺点是工序复杂,耗时较长,达到四分钟左右。当设备需要大批量发货时,此方法显然不能满足生产需要。发明内容
本发明的目的在于提供一种构建转产镜像的方法及装置,能更好地解决构建转产镜像时工序复杂、耗时较长的问题。
根据本发明的一个方面,提供了一种构建转产镜像的方法,所述方法包括:
根据操作系统的原始BOOT镜像构建转产系统的BOOT镜像部分;
构建用于对转产系统进行配置的板级支持包BSP参数部分;
构建用于对转产系统的文件系统进行配置的主引导记录MBR表部分;
根据操作系统的原始内核镜像构建转产系统的内核镜像部分;
将所构建的BOOT镜像部分、BSP参数部分、MBR表部分、内核镜像部分整合后生成烧片机所用的系统镜像。
其中,所述构建转产系统的BOOT镜像部分的步骤包括:
根据Windows CE的原始BOOT镜像构建转产系统的BOOT镜像部分的镜像数据区;
根据所构建的BOOT镜像部分的镜像数据区的属性构建转产系统的BOOT镜像部分的冗余区。
其中,所述构建转产系统的内核镜像部分的步骤包括:
根据Windows CE的原始内核镜像构建转产系统的内核镜像部分的镜像数据区;
根据所构建的内核镜像部分的镜像数据区的属性构建转产系统的内核镜像部分的冗余区。
其中,构建转产系统的内核镜像部分的镜像数据区的步骤包括:
读取Windows CE的原始内核镜像;
根据所读取的原始内核镜像获取解析目的地址和解析后的文件大小;
根据所述目的地址和文件大小解析所读取的内核镜像生成转产系统的内核镜像部分的镜像数据区。
其中,所述构建转产系统的MBR表部分的步骤包括:
构建用于存储内核镜像的BINFS文件系统的分区表;
构建用于支持转产系统运行时所用的FAT32文件系统的分区表。
根据本发明的另一方面,提供了一种构建转产镜像的装置,所述装置包括:
BOOT构建模块,用于根据操作系统的原始BOOT镜像构建转产系统的BOOT镜像部分;
BSP参数表构建模块,用于构建对转产系统进行配置的BSP参数部分;
MBR构建模块,用于构建对转产系统的文件系统进行配置的MBR表部分;
内核构建模块,用于根据操作系统的原始内核镜像构建转产系统的内核镜像部分;
整合模块,用于将所构建的BOOT镜像部分、BSP参数部分、MBR表部分、内核镜像部分整合后生成烧片机所用的系统镜像。
其中,所述BOOT构建模块包括:
BOOT镜像数据区构建单元,用于根据Windows CE的原始BOOT镜像构建转产系统的BOOT镜像部分的镜像数据区;
BOOT冗余区构建单元,用于根据所构建的BOOT镜像部分的镜像数据区的属性构建转产系统的BOOT镜像部分的冗余区。
其中,所述内核构建模块包括:
内核镜像数据区构建单元,用于根据Windows CE的原始内核镜像构建转产系统的内核镜像部分的镜像数据区;
内核冗余区构建单元,用于根据所构建的内核镜像部分的镜像数据区的属性构建转产系统的内核镜像部分的冗余区。
其中,内核镜像数据区构建单元还用于:
读取Windows CE的原始内核镜像;
根据所读取的原始内核镜像获取解析目的地址和解析后的文件大小;
根据所述目的地址和文件大小解析所读取的内核镜像生成转产系统的内核镜像部分的镜像数据区。
其中,MBR构建模块包括:
BINFS分区表构建单元,用于构建存储内核镜像的BINFS文件系统的分区表;
FAT32分区表构建单元,用于构建支持转产系统运行时所用的FAT32文件系统的分区表。
与现有技术相比较,本发明的有益效果在于:基于Windows CE 6.0平台实现的设备在转产时即可使用烧片机快速、批量的烧制软件系统。


图1是本发明实施例提供的一种构建转产镜像的方法的流程图2是本发明实施例提供的一种构建转产镜像的装置的结构示意图。
具体实施方式
以下结合附图对本发明的优选实施例进行详细说明,应当理解,以下所说明的优选实施例仅用于说明和解释本发明,并不用于限定本发明。
图1是本发明实施例提供的一种构建转产镜像的方法的流程图,如图1所示,所述方法包括以下步骤:
步骤SlOl,构建转产镜像的BOOT镜像。
运行Windows CE 6.0系统,编译Windows CE 6.0系统的BOOT镜像和内核镜像。
转产镜像的BOOT镜像的数据包括两部分:镜像数据区和冗余区。其中镜像数据区的数据根据Windows CE的原始BOOT镜像生成,具体地说,镜像数据区的数据从WindowsCE 6.0系统编译过的原始BOOT镜像即P35bbt.nbO文件中直接拷贝过来存储到一个数组A中,而冗余区的数据则根据所构建的BOOT镜像部分的镜像数据区的属性生成,具体地说,需要根据转产设备的特点按照Windows CE6.0的指定手动构建。首先,初始化冗余区数据为全OxFF,然后将存储在SpareAreal数组中的NAND当前块状态数据拷贝到BOOT镜像第2050个字节开始的8个字节内,然后配置FAT32文件系统配置信息即dirty bit信息,最后,计算校验数据ECC并写入冗余区的最后24个字节。转产镜像的BOOT镜像占用了 NAND的BL0CK0至BL0CK7这八个块,Windows CE 6.0的原始BOOT镜像的大小为IM字节,构建完的转产镜像的BOOT镜像大小为0x108000字节。
步骤S102,构建BSP参数部分。
转产镜像的BSP参数部分在NAND上占用了 BL0CK8这一个块的存储空间,但其中的有效数据为最开始的212个字节,其无效字节均用OxFF填充。
BSP参数部分的构建方法分为两步,第一步直接根据转产设备的产品性能按照Windows CE 6.0的要求生成除内核镜像的状态信息dwPhysLen参数外的数据;第二步利用解析完的内核镜像,计算出内核镜像的状态信息dwPhysLen参数,并写入到Windows CE6.0指定位置。最后将生成的数据放到数组B中。
BSP参数的冗余区配置与BOOT镜像的冗余区相同。
步骤S103,构建MBR表部分。
转产镜像的MBR表部分占用了 NAND的BL0CK9的PAGEO这一个PAGE (页)。其构建方法分为三步,第一步为生成表标识即MBR标识到特定字节,这个标识以E9FD开始,以55AA结束;第二步为生成两个分区表,一个是针对存储内核镜像用的BINFS分区表,BINFS是存放系统镜像的文件系统,另一个是针对系统运行时所用的FAT32分区表,分区表的生成需要用到三个参数,一是文件系统类型,二是分区的起始位置,三是分区的大小;第三步为生成冗余区信息,这部分的冗余区信息较为简单,仅需确保冗余区的第三个字节为OxFD,第四个字节为OxFB即可,另外冗余数据区还有ECC校验数据。最后将第一步、第二步生成的数据存储到数组C中。
步骤S104,构建内核镜像。
转产镜像的内核部分占用了烧片机的大多数闪存空间,其构建方法也是分为三步,第一步读取原始内核镜像即P35xip.bin的头信息并做相应处理;第二步解析P35xip.bin,首先需要读P35xip.bin的前七个字节,确认文件是否合法,然后,读取第八个和第九个字节,获取解析目的地址和解析后的文件大小,然后依据这两个数据,解析内核镜像到一个数组内;第三步为生成冗余区数据。此部分的冗余区信息与前三部分不同,除了包括ECC校验数据外,还新增了逻辑序号项,这项从一开始,直到镜像数据末。最后将第一步、第二步生成的数据存储到数组D中。
步骤S105,生成转产时的系统镜像。
生成上述四部分内容后,将A、B、C、D数组中的数据分别添加上各自的冗余区数据,然后顺序合并并写入到PDA_BURNING_IMAGE.nbO文件即得到转产所用的系统镜像文件。
步骤S106,烧片机利用系统镜像烧制设备的软件系统。
烧片机利用所生成的系统镜像文件烧制转产设备的软件系统。
图2是本发明实施例提供的一种构建转产镜像的装置的结构示意图,如图2所示,所述装置包括=BOOT构建模块、BSP参数表构建模块、MBR构建模块、内核构建模块和整合模块。
BOOT构建模块用于根据操作系统的BOOT镜像构建转产系统的BOOT镜像部分。BOOT构建模块包括BOOT镜像数据区构建单元和BOOT冗余区构建单元。其中,BOOT镜像数据区构建单元用于根据Windows CE的BOOT镜像构建转产系统的BOOT镜像部分的镜像数据区;Β00Τ冗余区构建单元,用于根据所构建的BOOT镜像部分的镜像数据区的属性构建转产系统的BOOT镜像部分的冗余区。
BSP参数表构建模块用于构建对转产系统进行配置的BSP参数部分。BSP参数表构建模块首先直接根据转产设备的产品性能按照Windows CE 6.0的要求生成除内核镜像的状态信息dwPhysLen参数外的数据;然后利用解析完的内核镜像,计算出内核镜像的状态信息dwPhysLen参数,并写入到Windows CE 6.0指定位置。BSP参数的冗余区配置与BOOT镜像的冗余区相同。
MBR构建模块用于构建对转产系统的文件系统进行配置的MBR表部分。MBR构建模块包括=BINFS分区表构建单元和FAT32分区表构建单元。其中,BINFS分区表构建单元,用于构建存储内核镜像的BINFS文件系统的分区表;FAT32分区表构建单元,用于构建支持转产系统运行时所用的FAT32文件系统的分区表。MBR构建模块还用于构建MBR冗余区信息,MBR冗余区信息比较简单,仅需确保冗余区的第三个字节为OxFD,第四个字节为OxFB即可,另外冗余数据区还有ECC校验数据。
内核构建模块用于根据操作系统的内核镜像构建转产系统的内核镜像部分。内核构建模块包括内核镜像数据区构建单元和内核冗余区构建单元。其中,内核镜像数据区构建单元用于根据Windows CE的内核镜像构建转产系统的内核镜像部分的镜像数据区,具体地说,内核镜像数据区首先读取Windows CE的内核镜像,然后,根据所读取的内核镜像获取解析目的地址和解析后的文件大小,再根据所述目的地址和文件大小解析所读取的内核镜像生成转产系统的内核镜像部分的镜像数据区;内核冗余区构建单元用于根据所构建的内核镜像部分的镜像数据区的属性构建转产系统的内核镜像部分的冗余区。
整合模块,用于将所构建的BOOT镜像部分、BSP参数部分、MBR表部分、内核镜像部分整合后生成烧片机所用的系统镜像。
综上所述,本发明通过构建烧片机所用的系统镜像,以供转产时批量生产使用,解决了设备转产时工序复杂,耗时较长,批量生产时不能满足生产需要的问题。
尽管上文对本发明进行了详细说明,但是本发明不限于此,本技术领域技术人员可以根据本发明的原理进行各种修改。因此,凡按照本发明原理所作的修改,都应当理解为落入本发明的保护范围。
权利要求
1.一种构建转产镜像的方法,其特征在于,所述方法包括: 根据操作系统的原始BOOT镜像构建转产系统的BOOT镜像部分; 构建用于对转产系统进行配置的板级支持包BSP参数部分; 构建用于对转产系统的文件系统进行配置的主引导记录MBR表部分; 根据操作系统的原始内核镜像构建转产系统的内核镜像部分; 将所构建的BOOT镜像部分、BSP参数部分、MBR表部分、内核镜像部分整合后生成烧片机所用的系统镜像。
2.根据权利要求1所述的方法,其特征在于,所述构建转产系统的BOOT镜像部分的步骤包括: 根据Windows CE的原始BOOT镜像构建转产系统的BOOT镜像部分的镜像数据区;根据所构建的BOOT镜像部分的镜像数据区的属性构建转产系统的BOOT镜像部分的冗余区。
3.根据权利要求1所述的方法,其特征在于,所述构建转产系统的内核镜像部分的步骤包括: 根据Windows CE的原始内核镜像构建转产系统的内核镜像部分的镜像数据区;根据所构建的内核镜像部分的镜像数据区的属性构建转产系统的内核镜像部分的冗余区。
4.根据权利要求3所述的方法,其特征在于,构建转产系统的内核镜像部分的镜像数据区的步骤包括: 读取Windows CE的原始内核镜像; 根据所读取的原始内核镜像获取解析目的地址和解析后的文件大小; 根据所述目的地址和文件大小解析所读取的内核镜像生成转产系统的内核镜像部分的镜像数据区。
5.根据权利要求1所述的方法,其特征在于,所述构建转产系统的MBR表部分的步骤包括: 构建用于存储内核镜像的BINFS文件系统的分区表; 构建用于支持转产系统运行时所用的FAT32文件系统的分区表。
6.一种构建转产镜像的 装置,其特征在于,所述装置包括: BOOT构建模块,用于根据操作系统的原始BOOT镜像构建转产系统的BOOT镜像部分; BSP参数表构建模块,用于构建对转产系统进行配置的BSP参数部分; MBR构建模块,用于构建对转产系统的文件系统进行配置的MBR表部分; 内核构建模块,用于根据操作系统的原始内核镜像构建转产系统的内核镜像部分; 整合模块,用于将所构建的BOOT镜像部分、BSP参数部分、MBR表部分、内核镜像部分整合后生成烧片机所用的系统镜像。
7.根据权利要求6所述的装置,其特征在于,所述BOOT构建模块包括: BOOT镜像数据区构建单元,用于根据Windows CE的原始BOOT镜像构建转产系统的BOOT镜像部分的镜像数据区; BOOT冗余区构建单元,用于根据所构建的BOOT镜像部分的镜像数据区的属性构建转产系统的BOOT镜像部分的冗余区。
8.根据权利要求6所述的装置,其特征在于,所述内核构建模块包括: 内核镜像数据区构建单元,用于根据Windows CE的原始内核镜像构建转产系统的内核镜像部分的镜像数据区; 内核冗余区构建单元,用于根据所构建的内核镜像部分的镜像数据区的属性构建转产系统的内核镜像部分的冗余区。
9.根据权利要求8所述的装置,其特征在于,内核镜像数据区构建单元还用于: 读取Windows CE的原始内核镜像; 根据所读取的原始内核镜像获取解析目的地址和解析后的文件大小; 根据所述目的地址和文件大小解析所读取的内核镜像生成转产系统的内核镜像部分的镜像数据区。
10.根据权利要求6所述的装置,其特征在于,MBR构建模块包括: BINFS分区表构建单元,用于构建存储内核镜像的BINFS文件系统的分区表; FAT32分区表构建单元,用于构建支持转产系统运行时所用的FAT32文件系统的分区表 。
全文摘要
本发明公开了一种构建转产镜像的方法及装置,涉及计算机领域,所述方法包括根据操作系统的原始BOOT镜像构建转产系统的BOOT镜像部分;构建用于对转产系统进行配置的板级支持包BSP参数部分;构建用于对转产系统的文件系统进行配置的主引导记录MBR表部分;根据操作系统的原始内核镜像构建转产系统的内核镜像部分;将所构建的BOOT镜像部分、BSP参数部分、MBR表部分、内核镜像部分整合后生成烧片机所用的系统镜像。本发明通过构建烧片机所用的系统镜像,以供转产时批量生产使用,解决了设备转产时工序复杂,耗时较长,批量生产时不能满足生产需要的问题。
文档编号G06F9/445GK103150175SQ20111040364
公开日2013年6月12日 申请日期2011年12月7日 优先权日2011年12月7日
发明者赵永志, 赵靖, 汪旭光 申请人:中兴通讯股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1