CN103092634A - 一种多flash设备的机顶盒软件升级方法 - Google Patents
一种多flash设备的机顶盒软件升级方法 Download PDFInfo
- 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
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设备的机顶盒软件升级方法。
背景技术
随着全球化的数字电视行业发展,数字电视机顶盒的功能已经越来越强大,越来越向计算机靠近,上网、互动游戏也开始在机顶盒上流行,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设备的对应地址。
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)
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)
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复用的电路 |
-
2011
- 2011-10-31 CN CN2011103359008A patent/CN103092634A/zh active Pending
Patent Citations (4)
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)
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 |