CN103092634A - 一种多flash设备的机顶盒软件升级方法 - Google Patents

一种多flash设备的机顶盒软件升级方法 Download PDF

Info

Publication number
CN103092634A
CN103092634A CN2011103359008A CN201110335900A CN103092634A CN 103092634 A CN103092634 A CN 103092634A CN 2011103359008 A CN2011103359008 A CN 2011103359008A CN 201110335900 A CN201110335900 A CN 201110335900A CN 103092634 A CN103092634 A CN 103092634A
Authority
CN
China
Prior art keywords
data
upgrade
file
top box
flash
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.)
Pending
Application number
CN2011103359008A
Other languages
English (en)
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.)
Sichuan Changhong Electric Co Ltd
Original Assignee
Sichuan Changhong Electric 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 Sichuan Changhong Electric Co Ltd filed Critical Sichuan Changhong Electric Co Ltd
Priority to CN2011103359008A priority Critical patent/CN103092634A/zh
Publication of CN103092634A publication Critical patent/CN103092634A/zh
Pending legal-status Critical Current

Links

Landscapes

  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明涉及数字电视机顶盒领域,本发明公开了一种多Flash设备的机顶盒软件升级方法,其具体包含以下步骤:步骤1.将每个flash设备上的升级数据合并为一个升级文件;步骤2.按照步骤1的方式对各个flash设备上的升级数据进行填充;步骤3.使用填充后升级文件进行数据打包;步骤4.机顶盒端升级数据处理。本发明的方法在不修改升级流打包规范的前提下解决传统OTA升级无法支持多flash设备和nandflash坏块处理的问题,实现支持多flash设备,支持nandflash坏块处理。

Description

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

Claims (4)

1.一种多Flash设备的机顶盒软件升级方法,其具体包含以下步骤:
步骤1. 将每个flash设备上的升级数据合并为一个升级文件,合并后的升级文件包含升级文件描述头和N个文件数据,其中升级文件的合并规则为:升级文件描述头+文件1数据+文件2数据…+文件N数据,所述1、2……N对应N个flash设备;
步骤2. 按照步骤1的方式对各个flash设备上的升级数据进行填充;
步骤3.使用填充后升级文件进行数据打包;
步骤4.机顶盒端升级数据处理;
所述升级文件描述头包含以下字段:文件头描述字符串标志、文件头长度、升级数据段个数、每个升级数据段的信息;文件头长度从升级数据段个数开始,到文件头结束;
所述每个升级数据段的信息包括:flash设备号、基于本flash设备的开始地址、数据段长度、数据段CRC校验值、数据段数据在升级文件内的偏移地址。
2.如权利要求1所述的多Flash设备的机顶盒软件升级方法,其特征在于所述步骤2中:当flash为norflash时,将整个norflash设备上的数据或需要升级的部分数据读出,然后按步骤1的方式,将数据填充到新的升级文件中。
3. 如权利要求1所述的多Flash设备的机顶盒软件升级方法,其特征在于所述步骤2中:当flash为nandflash时,nandflash设备数据的升级是基于分区的, nandflash 的升级数据段从分区开头开始,且安全升级数据的大小不超过原始设计的大小。
4. 如权利要求1所述的多Flash设备的机顶盒软件升级方法,其特征在于所述步骤4具体包括:
步骤A.机顶盒端从升级流中将升级数据接收完成后,机顶盒首先需要按照步骤1定义的格式,使用“文件头标志字符串”、“文件头长度”字段将升级数据中的文件头描述剥离出来,并且分析出“升级数据段个数”和各升级数据段的详细信息;其中所述升级数据为按照步骤1合并后的升级文件的数据;
步骤B.根据步骤A分析出的各升级数据段详细信息中的“数据段数据在升级文件内的偏移地址”,获取到升级数据段的升级数据;并根据升级数据段详细信息中的“数据段长度”和“数据段CRC校验值”对升级数据进行正确性校验;校验成功后根据“flash设备号”和“基于本flash设备的开始地址”字段信息将升级数据写入到相应的flash设备的对应地址。
CN2011103359008A 2011-10-31 2011-10-31 一种多flash设备的机顶盒软件升级方法 Pending CN103092634A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN2011103359008A CN103092634A (zh) 2011-10-31 2011-10-31 一种多flash设备的机顶盒软件升级方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN2011103359008A CN103092634A (zh) 2011-10-31 2011-10-31 一种多flash设备的机顶盒软件升级方法

Publications (1)

Publication Number Publication Date
CN103092634A true CN103092634A (zh) 2013-05-08

Family

ID=48205245

Family Applications (1)

Application Number Title Priority Date Filing Date
CN2011103359008A Pending CN103092634A (zh) 2011-10-31 2011-10-31 一种多flash设备的机顶盒软件升级方法

Country Status (1)

Country Link
CN (1) CN103092634A (zh)

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103473067A (zh) * 2013-09-23 2013-12-25 福建三元达软件有限公司 嵌入式Linux分区与数据还原方法、系统及系统开发方法
CN103761095A (zh) * 2014-01-23 2014-04-30 上海斐讯数据通信技术有限公司 一种生成通用的升级文件头部数据信息的方法
WO2017016282A1 (zh) * 2015-07-30 2017-02-02 中兴通讯股份有限公司 软件升级方法及装置、计算机存储介质
WO2017219872A1 (zh) * 2016-06-21 2017-12-28 深圳创维数字技术有限公司 机顶盒的升级、换台方法及系统
CN107977222A (zh) * 2017-12-21 2018-05-01 北京京存技术有限公司 适用于eMMC的升级文件的转换、生成方法及装置
CN109189455A (zh) * 2018-11-02 2019-01-11 四川长虹电器股份有限公司 一种网络数字电视升级方法
CN116679946A (zh) * 2022-11-22 2023-09-01 荣耀终端有限公司 一种固件升级方法及终端

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050286284A1 (en) * 2004-06-29 2005-12-29 Sun-Teck See Method and system for expanding flash storage device capacity
WO2006066466A1 (fr) * 2004-12-23 2006-06-29 Shouheng Yang Element de remplissage pour fixer et faire fusionner ensemble des vertebres cervicales adjacentes
CN1798034A (zh) * 2004-12-31 2006-07-05 中国科学院声学研究所 一种dvb系统中数字终端系统软件的升级方法
CN201571128U (zh) * 2009-10-22 2010-09-01 福建新大陆通信科技有限公司 在机顶盒上实现nand和nor复用的电路

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050286284A1 (en) * 2004-06-29 2005-12-29 Sun-Teck See Method and system for expanding flash storage device capacity
WO2006066466A1 (fr) * 2004-12-23 2006-06-29 Shouheng Yang Element de remplissage pour fixer et faire fusionner ensemble des vertebres cervicales adjacentes
CN1798034A (zh) * 2004-12-31 2006-07-05 中国科学院声学研究所 一种dvb系统中数字终端系统软件的升级方法
CN201571128U (zh) * 2009-10-22 2010-09-01 福建新大陆通信科技有限公司 在机顶盒上实现nand和nor复用的电路

Cited By (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103473067A (zh) * 2013-09-23 2013-12-25 福建三元达软件有限公司 嵌入式Linux分区与数据还原方法、系统及系统开发方法
CN103473067B (zh) * 2013-09-23 2016-08-31 恒鸿达科技有限公司 嵌入式Linux分区与数据还原方法、系统及系统开发方法
CN103761095A (zh) * 2014-01-23 2014-04-30 上海斐讯数据通信技术有限公司 一种生成通用的升级文件头部数据信息的方法
CN103761095B (zh) * 2014-01-23 2020-01-07 上海斐讯数据通信技术有限公司 一种生成通用的升级文件头部数据信息的方法
WO2017016282A1 (zh) * 2015-07-30 2017-02-02 中兴通讯股份有限公司 软件升级方法及装置、计算机存储介质
CN106406922A (zh) * 2015-07-30 2017-02-15 中兴通讯股份有限公司 软件升级方法及装置
WO2017219872A1 (zh) * 2016-06-21 2017-12-28 深圳创维数字技术有限公司 机顶盒的升级、换台方法及系统
CN107977222A (zh) * 2017-12-21 2018-05-01 北京京存技术有限公司 适用于eMMC的升级文件的转换、生成方法及装置
CN109189455A (zh) * 2018-11-02 2019-01-11 四川长虹电器股份有限公司 一种网络数字电视升级方法
CN109189455B (zh) * 2018-11-02 2021-08-06 四川长虹电器股份有限公司 一种网络数字电视升级方法
CN116679946A (zh) * 2022-11-22 2023-09-01 荣耀终端有限公司 一种固件升级方法及终端

Similar Documents

Publication Publication Date Title
CN103092634A (zh) 一种多flash设备的机顶盒软件升级方法
CN102622250B (zh) 一种支持多flash设备的机顶盒软件升级方法
CN103473067B (zh) 嵌入式Linux分区与数据还原方法、系统及系统开发方法
CN103294615B (zh) 一种存储机顶盒用户信息的方法
CN100533380C (zh) 基于dsp的升级系统以及升级方法
US20130185484A1 (en) File programming method and associated device for nand flash
CN102650947A (zh) 一种Android手持设备连续增量的空中升级方法
CN103135941B (zh) 嵌入式存储器的管理方法、嵌入式存储器及电子设备
CN109358882A (zh) 一种电视终端进行固件升级的方法及装置
CN102662715B (zh) 一种嵌入式操作系统启动方法
CN103778964B (zh) 一种NAND Flash烧写数据的处理、使用方法及装置、系统
CN109542495A (zh) 一种软件升级方法及装置
CN102163155A (zh) 存储设备的升级方法及升级控制装置
WO2021158438A1 (en) Systems and methods for booting from nand flash using squashfs to maximize memory
CN102831933A (zh) 一种通过usb自动烧录mac地址的方法
CN102298534B (zh) 软件写入机顶盒的方法
CN107678686A (zh) 基于硬件实现闪存的ftl功能的方法及其数据存储装置
CN103745682B (zh) 一种异步级联的方法
CN101764918A (zh) 一种向机顶盒中烧写mac地址的方法
CN102097079B (zh) 影像显示系统、视频转接设备及方法
CN106028153A (zh) 一种机顶盒的升级、换台方法及系统
CN1512318A (zh) 一种机顶盒软件更新的方法
CN102625178B (zh) 一种机顶盒的升级系统及升级方法
CN103440181A (zh) 一种文件修改的方法及系统
CN103198017B (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
C02 Deemed withdrawal of patent application after publication (patent law 2001)
WD01 Invention patent application deemed withdrawn after publication

Application publication date: 20130508