本发明专利技术涉及数字电视机顶盒领域,本发明专利技术公开了一种多Flash设备的机顶盒软件升级方法,其具体包含以下步骤:步骤1.将每个flash设备上的升级数据合并为一个升级文件;步骤2.按照步骤1的方式对各个flash设备上的升级数据进行填充;步骤3.使用填充后升级文件进行数据打包;步骤4.机顶盒端升级数据处理。本发明专利技术的方法在不修改升级流打包规范的前提下解决传统OTA升级无法支持多flash设备和nandflash坏块处理的问题,实现支持多flash设备,支持nandflash坏块处理。
【技术实现步骤摘要】
本专利技术涉及数字电视机顶盒领域,尤其涉及一种多Flash设备的机顶盒软件升级方法。
技术介绍
随着全球化的数字电视行业发展,数字电视机顶盒的功能已经越来越强大,越来越向计算机靠近,上网、互动游戏也开始在机顶盒上流行,Iinux操作系统在机顶盒应用越来越广泛,机顶盒的软件容量也越来越大。而通常使用的一片norflash设备容量已经开始面临不足。多flash设备的机顶盒在之后将成为趋势。另外机顶盒行业为降低使用多flash设备所带来的成本增高,之后的机顶盒将逐渐使用nandflash代替之前使用的norflash。nandflash具有容量大、读写速度快,成本低的优势。但nandflash在数据安全方面不如的norflash。由于nandflash在写数据的过程中可能导致物理分区损坏,因此nandflash的驱动的实现方式为,不是直接使用物理分区来寻址,而是使用逻辑分区,将逻辑分区映射到物理分区。当物理分区损坏,而映射该分区的逻辑分区需要自动指向下一个正常的物理分区。在Iinux系统下对nandflash的使用通常都是分区域使用的。鉴于nandflash的特性,每个分区是不能完全存放数据的,必须保留一部分区域出来防止坏块产生。传统方式的OTA升级通常只针对一个norflash设备,且不支持nandflash设备升级,无法满足需求。
技术实现思路
本专利技术的目的是针对现有技术中传统OTA升级无法支持多flash设备和nandflash坏块处理的问题,提供一种多Flash设备的机顶盒软件升级方法。本专利技术的目的通过下述技术方案来实现: 一种多Flash设备的机顶盒软件升级方法,其具体包含以下步骤: 步骤1.将每个flash设备上的升级数据合并为一个升级文件,合并后的升级文件包含升级文件描述头和N个文件数据,其中升级文件的合并规则为:升级文件描述头+文件I数据+文件2数据…+文件N数据,所述1、2......N对应N个flash设备; 步骤2.按照步骤I的方式对各个flash设备上的升级数据进行填充; 步骤3.使用填充后升级文件进行数据打包; 步骤4.机顶盒端升级数据处理; 所述升级文件描述头包含以下字段:文件头描述字符串标志、文件头长度、升级数据段个数、每个升级数据段的信息;文件头长度从升级数据段个数开始,到文件头结束; 所述每个升级数据段的信息包括:fla sh设备号、基于本flash设备的开始地址、数据段长度、数据段CRC校验值、数据段数据在升级文件内的偏移地址。优选地,所述步骤2中:当flash为norflash时,将整个norflash设备上的数据或需要升级的部分数据读出,然后按步骤I的方式,将数据填充到新的升级文件中。优选地,所述步骤2中:当flash为nandflash时,nandflash设备数据的升级是基于分区的,nandflash的升级数据段从分区开头开始,且安全升级数据的大小不超过原始设计的大小。优选地,所述步骤4具体包括: 步骤A.机顶盒端从升级流中将升级数据接收完成后,机顶盒首先需要按照步骤I定义的格式,使用“文件头标志字符串”、“文件头长度”字段将升级数据中的文件头描述剥离出来,并且分析出“升级数据段个数”和各升级数据段的详细信息。其中所述升级数据为按照步骤I合并后的升级文件的数据。步骤B.根据步骤A分析出的各升级数据段详细信息中的“数据段数据在升级文件内的偏移地址”,获取到升级数据段的升级数据;并根据升级数据段详细信息中的“数据段长度”和“数据段CRC校验值”对升级数据进行正确性校验;校验成功后根据“flash设备号”和“基于本flash设备的开始地址”字段信息将升级数据写入到相应的flash设备的对应地址。本专利技术的有 益效果:本专利技术的方法在不修改升级流打包规范的前提下解决传统OTA升级无法支持多flash设备和nandflash坏块处理的问题,实现支持多flash设备,支持nandflash坏块处理。具体实施例方式本专利技术公开了一种多Flash设备的机顶盒软件升级方法,其具体包含以下步骤: 步骤1.将每个flash设备上的升级数据合并为一个升级文件,合并后的升级文件包含升级文件描述头和N个文件数据,其中升级文件的合并规则为:升级文件描述头+文件I数据+文件2数据…+文件N数据,所述1、2......N对应N个f I ash设备。上述升级文件描述头包含以下字段:文件头描述字符串标志、文件头长度、升级数据段个数、每个升级数据段的信息。上述每个升级数据段的信息包括:flash设备号、基于本flash设备的开始地址、数据段长度、数据段CRC校验值、数据段数据在升级文件内的偏移地址。所述文件头的具体结构如下: 文件头描述{ 文件头标志字符串: 文件头长度; 升级数据段个数;For (i=0; i<升级数据段个数;i++){ flash设备号;基于本flash设备的开始地址;数据段长度;数据段CRC校验值; 数据段数据在升级文件内 的偏移地址;}} 其中文件头长度从升级数据段个数开始,到文件头结束。由于传统的升级流打包只支持一个flash设备,即所有的升级数据都是存放在一个升级文件上,并用这个升级文件来进行的数据打包。因此要支持多flash设备,需要将各flash设备上的升级数据存按照上述的格式放到一个升级文件上去。步骤2.按照步骤I的方式对各个flash设备上的升级数据进行处理。当flash为norflash时,将整个norfIash设备上的数据或需要升级的部分数据读出,然后按步骤I的方式,将数据填充到新的升级文件中。当flash为nandflash时,nandflash设备数据的升级是基于分区的,nandflash的升级数据段从分区开头开始,且安全升级数据的大小不超过原始设计的大小。对于传统的norflash设备,整个设备上的数据都是可以一次性进行升级的。但由于nandflash需要有坏块处理机制,每个分区必须留下足够的备用空间给出现坏块的情况下使用。当正在使用的机顶盒某分区的坏块值已经趋近极限,快要将备份区用完,而此时该块的升级数据大小却是整个分区的大小,显然分区实际上已经没有足够的空间来存放升级数据,这样就会导致升级失败。因此nanf Iash设备数据的升级是基于分区的,且安全的升级数据大小不能超过原始设计的大小。如:分区的大小是I兆,备份区的大小是0.2兆,因此该分区的安全升级数据大小是0.8兆。将分区数据按照步骤1,填充到新的升级文件中。nandflash的升级数据段必须从分区开头开始。不能从分区的中间开始。步骤3.使用填充后升级文件进行数据打包。使用合并后升级文件,按照原有的方式进行数据打包。步骤4.机顶盒端升级数据处理。所述步骤4具体包括 步骤A.机顶盒端从升级流中将升级数据接收完成后,机顶盒首先需要按照步骤I定义的格式,使用“文件头标志字符串”、“文件头长度”字段将升级数据中的文件头描述剥离出来,并且分析出“升级数据段个数”和各升级数据段的详细信息。其中所述升级数据为按照步骤I合并后的升级文件的数据。步骤B.根据步骤A分析出的各升级数据段详细信息中的“数据段数据在升级文件内的偏移地址”,获取到升级数据段的升级数据;并根据升级数据段详细本文档来自技高网...
【技术保护点】
一种多Flash设备的机顶盒软件升级方法,其具体包含以下步骤:步骤1.?将每个flash设备上的升级数据合并为一个升级文件,合并后的升级文件包含升级文件描述头和N个文件数据,其中升级文件的合并规则为:升级文件描述头+文件1数据+文件2数据…+文件N数据,所述1、2……N对应N个flash设备;步骤2.?按照步骤1的方式对各个flash设备上的升级数据进行填充;步骤3.使用填充后升级文件进行数据打包;步骤4.机顶盒端升级数据处理;所述升级文件描述头包含以下字段:文件头描述字符串标志、文件头长度、升级数据段个数、每个升级数据段的信息;文件头长度从升级数据段个数开始,到文件头结束;所述每个升级数据段的信息包括:flash设备号、基于本flash设备的开始地址、数据段长度、数据段CRC校验值、数据段数据在升级文件内的偏移地址。
【技术特征摘要】
1.一种多Flash设备的机顶盒软件升级方法,其具体包含以下步骤: 步骤1.将每个flash设备上的升级数据合并为一个升级文件,合并后的升级文件包含升级文件描述头和N个文件数据,其中升级文件的合并规则为:升级文件描述头+文件I数据+文件2数据…+文件N数据,所述1、2......N对应N个flash设备; 步骤2.按照步骤I的方式对各个flash设备上的升级数据进行填充; 步骤3.使用填充后升级文件进行数据打包; 步骤4.机顶盒端升级数据处理; 所述升级文件描述头包含以下字段:文件头描述字符串标志、文件头长度、升级数据段个数、每个升级数据段的信息;文件头长度从升级数据段个数开始,到文件头结束; 所述每个升级数据段的信息包括:flash设备号、基于本flash设备的开始地址、数据段长度、数据段CRC校验值、数据段数据在升级文件内的偏移地址。2.按权利要求1所述的多Flash设备的机顶盒软件升级方法,其特征在于所述步骤2中:当flash为norflash时,将整个norfIash设备上的数据或需要升级的部分数据读出,然后按步骤I的方式,将数据填充到...
【专利技术属性】
技术研发人员:熊建勇,周志武,杨艳辉,
申请(专利权)人:四川长虹电器股份有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。