CN102104750A - 一种网络电视自动升级的方法 - Google Patents
一种网络电视自动升级的方法 Download PDFInfo
- Publication number
- CN102104750A CN102104750A CN200910189272XA CN200910189272A CN102104750A CN 102104750 A CN102104750 A CN 102104750A CN 200910189272X A CN200910189272X A CN 200910189272XA CN 200910189272 A CN200910189272 A CN 200910189272A CN 102104750 A CN102104750 A CN 102104750A
- Authority
- CN
- China
- Prior art keywords
- backup
- piece
- flash memory
- web
- change step
- 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.)
- Granted
Links
- 238000000034 method Methods 0.000 title claims abstract description 29
- 230000015654 memory Effects 0.000 claims abstract description 27
- 238000005192 partition Methods 0.000 claims description 17
- 230000007613 environmental effect Effects 0.000 claims description 12
- 238000000151 deposition Methods 0.000 claims description 9
- 239000000976 ink Substances 0.000 claims description 7
- 238000004321 preservation Methods 0.000 claims description 4
- 230000004048 modification Effects 0.000 claims description 3
- 238000012986 modification Methods 0.000 claims description 3
- 238000012795 verification Methods 0.000 claims description 3
- 238000007689 inspection Methods 0.000 claims description 2
- 238000012423 maintenance Methods 0.000 abstract 1
- 238000005516 engineering process Methods 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000002950 deficient Effects 0.000 description 1
- 239000000463 material Substances 0.000 description 1
Images
Landscapes
- Stored Programmes (AREA)
Abstract
本发明涉及一种网络电视自动升级的方法,包括以下步骤:S1、在bootloader中设置配备的一个闪存为引导分区用来存放当前使用的主程序,设置另一个闪存为备份分区用来存放当前使用的主程序的备份;S2、升级程序检查当前主程序的版本号,判断是否需要进行升级,是则转步骤S3,否则结束;S3、检查当前备份分区的设备号以及闪存的坏块;S4、对备份分区进行刷写载入升级数据;S5、检查备份分区是否刷写成功,是则转步骤S6,否则转步骤S3;S6、修改bootloader将原来的备份分区作为引导分区。本发明的网络电视自动升级的方法采用双机热备份的模式保证了网络电视能够安全地升级,减少了上门维护的成本。
Description
技术领域
本发明涉及网络电视,更具体地说,涉及一种网络电视自动升级的方法。
背景技术
Nand-flash内存为flash内存的一种,其内部采用非线性宏单元模式,为固态大容量内存的实现提供了廉价有效的解决方案。Nand-flash存储器具有容量较大,改写速度快,适用于大量数据的存储,因而在业界得到了越来越广泛的应用,如嵌入式产品中包括数码相机、MP3随身听记忆卡、体积小巧的U盘等。NAND型闪存以块为单位进行擦除操作。闪存的写入操作必须在空白区域进行,如果目标区域已经有数据,必须先擦除后写入,因此擦除操作是闪存的基本操作。
Nand-flash协议允许Nand-flash在出厂的时候有5%的坏块,同时Nand-flash在不断的刷写中也会产生坏块,所以使用Nand-flash作为系统主存储介质时其可靠性就需要特别关注。而在目前的网络电视中,其自动升级的方法没有充分考虑到Nand-flash内存的坏块问题,导致升级的正确性无法得到保障。
发明内容
本发明要解决的技术问题在于,针对现有网络电视自动升级的方法可靠性不高的缺陷,提供一种双机热备份的网络电视自动升级的方法。
本发明解决其技术问题所采用的技术方案是:构造一种网络电视自动升级的方法,使用两个容量完全一样的闪存,并在bootloader中设置配备的一个闪存为引导分区用来存放当前使用的主程序,设置另一个闪存为备份分区用来存放当前使用的主程序的备份,再对其进行升级,升级完毕后修改bootloader将原来的备份分区作为引导分区。
本发明提供了一种网络电视自动升级的方法,包括以下步骤:
S1、在bootloader中设置配备的一个闪存为引导分区用来存放当前使用的主程序,设置另一个闪存为备份分区用来存放当前使用的主程序的备份;
S2、升级程序检查当前主程序的版本号,判断是否需要进行升级,是则转步骤S3,否则结束;
S3、检查当前备份分区的设备号以及闪存的坏块;
S4、对备份分区进行刷写载入升级数据;
S5、检查备份分区是否刷写成功,是则转步骤S6,否则转步骤S3;
S6、修改bootloader将原来的备份分区作为引导分区。
在本发明所述的网络电视自动升级的方法中,所述步骤S6进一步包括以下步骤:
S61、在闪存的第1块至第5块中存放5份相同的第一阶段引导代码;
S62、修改引导代码程序从闪存的第6块开始寻找第二阶段的引导代码;
S63、进行u-boot启动,判断是否为第一次启动,是则转步骤S64,否则转步骤S65;
S64、进行第一次启动的处理,转步骤S66;
S65、从坏块的记录信息中计算环境变量的启动位置,并读取环境变量至系统,转步骤S66;
S66、从系统的环境变量中取出mtd分区信息,同时读取第0个块,判断第0个块最后一位是否为2,是则转步骤S67,否则转步骤S68;
S67、从第0个分区取得mtdpart信息和启动图片位置信息,转步骤S69;
S68、使用环境变量中的mtdpart信息,转步骤S69;
S69、计算分区信息的变量和大小;
S610、开始正式启动内核。
在本发明所述的网络电视自动升级的方法中,所述步骤S6在第一次启动时还包括位于步骤S69后的步骤S69’:保存mtd分区信息,启动图片位置信息,写验证标志,写应用环境信息,修改第一次的标志为0x34,保存数据到第0个块。
在本发明所述的网络电视自动升级的方法中,所述步骤S63中,通过判断第0个块前4个整数是否为0x01234567,0x89abcdef,0x1c8b9a01,0x98ab0022,是则为第一次启动。
在本发明所述的网络电视自动升级的方法中,所述步骤S64进一步包括:
S641、扫描坏块并进行坏块的记录;
S642、在读数据的最后一位设置为1,以告诉后面的代码系统为第一次启动;
S643、在读的数据的2047最后设置为0x12,以告诉后面的代码系统为第一次启动;
S644、计算u-boot的环境变量保存位置;
S645、把系统的默认环境变量取出进行后面的处理;
S646、保存设置到第0个块。
实施本发明的网络电视自动升级的方法,具有以下有益效果:本发明采用双机热备份的模式提高了网络电视自动升级方法的可靠性,保证了网络电视能够安全地升级,减少了上门维护的成本。
附图说明
下面将结合附图及实施例对本发明作进一步说明,附图中:
图1是本发明优选实施例中网络电视自动升级的方法的流程图;
图2是本发明优选实施例中网络电视自动升级的方法的具体流程图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。
请参阅图1,为本发明优选实施例中网络电视自动升级的方法的流程图。如图1所示,本发明提供的网络电视自动升级的方法包括以下步骤:
首先,开始之后在步骤S1中,采用双机热备份。配置两个容量完全一样的Nand-flash。然后在bootloader中设置配备的一个闪存为引导分区用来存放当前使用的主程序,设置另一个闪存为备份分区用来存放当前使用的主程序的备份。
随后在步骤S2中,升级程序检查当前主程序的版本号,判断是否需要进行升级,是则转步骤S3,否则结束。
如需进行升级则在步骤S3中,检查当前备份分区的设备号以及Nand-flash的坏块。
随后在步骤S4中,对备份分区进行刷写载入升级数据。
随后在步骤S5中,检查备份分区是否刷写成功,是则转步骤S6,否则转步骤S3。
随后在步骤S6中,修改bootloader将原来的备份分区作为引导分区。
请参阅图2,为本发明优选实施例中网络电视自动升级的方法的具体流程图。如图2所示,在修改bootloader的过程中,为保证在升级后能成功引导,采用下面的解决方法:
在步骤S61中,在闪存的第1块至第5块中存放5份相同的第一阶段引导代码ubl(小于16K)。
随后在步骤S62中,修改引导代码程序从闪存的第6块开始寻找第二阶段的引导代码。ubl程序经过修改,从第6块开始,找第二阶段的引导代码(u-boot.bin),每个u-boot.bin占256k(共16个块)。如果u-boot.bin的代码在存放的时候,遇到坏块,则数据往后面的好块存放,ubl进行自动的搜索,找到一个完整的u-boot.Bin。如果其启动第一个u-boot不成功,则启动后面的u-boot,一共4个u-boot。如果系统都启动不成功,则停止系统启动。
随后在步骤S63中,进行u-boot启动,判断是否为第一次启动,是则转步骤S64,否则转步骤S65。首先读入第0个块的数据(nand的生产厂家保证第0个块始终是没有坏块的),读取数据后,判断前4个整数是否是0x01234567,0x89abcdef,0x1c8b9a01,0x98ab0022,如果是,则说明系统已经完成了第一次的启动,否则为第一次启动。
如果是第一次启动则在步骤S64中,进行第一次启动的处理,转步骤S66。
如果不是第一次启动,则在步骤S65中,从坏块的记录信息中计算环境变量的启动位置,并读取环境变量至系统,转步骤S66。
随后在步骤S66中,从系统的环境变量中取出mtd分区信息,同时读取第0个块,判断第0个块最后一位是否为2,是则转步骤S67,否则转步骤S68。
如果第0个块最后一位为2则在步骤S67中,从第0个分区取得mtdpart信息和启动图片位置信息,转步骤S69。
如果第0个块最后一位不为2则在步骤S68中,使用环境变量中的mtdpart信息,转步骤S69。
随后在步骤S69中,计算分区信息的变量和大小。
随后在步骤S610中,开始正式启动内核。
在此,如果是第一次启动时则上述步骤S6还包括位于步骤S69后的步骤S69’:保存mtd分区信息,启动图片位置信息,写验证标志,写应用环境信息,修改第一次的标志为0x34,保存数据到第0个块。
在本发明的优选实施例中,上述步骤S64进行第一次启动的处理的步骤进一步包括:
在步骤S641中,扫描坏块并进行坏块的记录。其中,第5个整数为坏块的数目,第6个整数到4*1024的地方记录的都是坏块的位置信息。
随后在步骤S642中,在读数据的最后一位设置为1,以告诉后面的代码系统为第一次启动。
随后在步骤S643中,在读的数据的2047最后设置为0x12,以告诉后面的代码系统为第一次启动。
随后在步骤S644中,计算u-boot的环境变量保存位置。
随后在步骤S645中,把系统的默认环境变量取出进行后面的处理。
随后在步骤S646中,保存设置到第0个块。
综上所述,本发明的网络电视自动升级的方法采用双机热备份的模式提高了网络电视自动升级方法的可靠性,保证了网络电视能够安全地升级,减少了上门维护的成本。
本发明是根据特定实施例进行描述的,但本领域的技术人员应明白在不脱离本发明范围时,可进行各种变化和等同替换。此外,为适应本发明技术的特定场合或材料,可对本发明进行诸多修改而不脱离其保护范围。因此,本发明并不限于在此公开的特定实施例,而包括所有落入到权利要求保护范围的实施例。
Claims (5)
1.一种网络电视自动升级的方法,其特征在于,包括以下步骤:
S1、在bootloader中设置配备的一个闪存为引导分区用来存放当前使用的主程序,设置另一个闪存为备份分区用来存放当前使用的主程序的备份;
S2、升级程序检查当前主程序的版本号,判断是否需要进行升级,是则转步骤S3,否则结束;
S3、检查当前备份分区的设备号以及闪存的坏块;
S4、对备份分区进行刷写载入升级数据;
S5、检查备份分区是否刷写成功,是则转步骤S6,否则转步骤S3;
S6、修改bootloader将原来的备份分区作为引导分区。
2.根据权利要求1所述的网络电视自动升级的方法,其特征在于,所述步骤S6进一步包括以下步骤:
S61、在闪存的第1块至第5块中存放5份相同的第一阶段引导代码;
S62、修改引导代码程序从闪存的第6块开始寻找第二阶段的引导代码;
S63、进行u-boot启动,判断是否为第一次启动,是则转步骤S64,否则转步骤S65;
S64、进行第一次启动的处理,转步骤S66;
S65、从坏块的记录信息中计算环境变量的启动位置,并读取环境变量至系统,转步骤S66;
S66、从系统的环境变量中取出mtd分区信息,同时读取第0个块,判断第0个块最后一位是否为2,是则转步骤S67,否则转步骤S68;
S67、从第0个分区取得mtdpart信息和启动图片位置信息,转步骤S69;
S68、使用环境变量中的mtdpart信息,转步骤S69;
S69、计算分区信息的变量和大小;
S610、开始正式启动内核。
3.根据权利要求2所述的网络电视自动升级的方法,其特征在于,所述步骤S6在第一次启动时还包括位于步骤S69后的步骤S69’:保存mtd分区信息,启动图片位置信息,写验证标志,写应用环境信息,修改第一次的标志为0x34,保存数据到第0个块。
4.根据权利要求2所述的网络电视自动升级的方法,其特征在于,所述步骤S63中,通过判断第0个块前4个整数是否为0x01234567,0x89abcdef,0x1c8b9a01,0x98ab0022,是则为第一次启动。
5.根据权利要求4所述的网络电视自动升级的方法,其特征在于,所述步骤S64进一步包括:
S641、扫描坏块并进行坏块的记录;
S642、在读数据的最后一位设置为1,以告诉后面的代码系统为第一次启动;
S643、在读的数据的2047最后设置为0x12,以告诉后面的代码系统为第一次启动;
S644、计算u-boot的环境变量保存位置;
S645、把系统的默认环境变量取出进行后面的处理;
S646、保存设置到第0个块。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN200910189272.XA CN102104750B (zh) | 2009-12-22 | 2009-12-22 | 一种网络电视自动升级的方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN200910189272.XA CN102104750B (zh) | 2009-12-22 | 2009-12-22 | 一种网络电视自动升级的方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN102104750A true CN102104750A (zh) | 2011-06-22 |
CN102104750B CN102104750B (zh) | 2015-02-11 |
Family
ID=44157230
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN200910189272.XA Active CN102104750B (zh) | 2009-12-22 | 2009-12-22 | 一种网络电视自动升级的方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN102104750B (zh) |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102394761A (zh) * | 2011-11-02 | 2012-03-28 | 华为技术有限公司 | 计费系统升级方法和装置 |
CN102999436A (zh) * | 2012-11-28 | 2013-03-27 | 华为终端有限公司 | 在Nand闪存中生成动态分区信息的方法和装置 |
CN103595564A (zh) * | 2013-11-12 | 2014-02-19 | 浪潮集团有限公司 | 一种云系统中实现冗余管理单元恢复默认配置的方法 |
CN105516300A (zh) * | 2015-12-04 | 2016-04-20 | 上海斐讯数据通信技术有限公司 | 一种设备版本升级方法及系统 |
WO2016155524A1 (zh) * | 2015-03-27 | 2016-10-06 | 阿里巴巴集团控股有限公司 | 一种系统安全升级的方法和装置 |
CN106933641A (zh) * | 2017-05-16 | 2017-07-07 | 江苏新安电器有限公司 | 一种单片机软件自升级方法和系统 |
CN110264452A (zh) * | 2019-06-18 | 2019-09-20 | 江苏通佑视觉科技有限公司 | 一种工件检测方法、装置、设备及存储介质 |
CN111614764A (zh) * | 2020-05-21 | 2020-09-01 | 四川爱联科技有限公司 | 一种物联网设备的flash坏块自动修复系统及方法 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20020178352A1 (en) * | 2001-05-22 | 2002-11-28 | Lambino John P. | Firmware upgrade using address conversion |
CN1786910A (zh) * | 2004-12-09 | 2006-06-14 | 华为技术有限公司 | 一种bios在线升级方法 |
CN101004691A (zh) * | 2007-01-23 | 2007-07-25 | 北京映翰通网络技术有限公司 | 一种固件程序升级的方法与装置 |
US20080126776A1 (en) * | 2006-11-27 | 2008-05-29 | Fujifilm Corporation | Electronic apparatus |
CN101520735A (zh) * | 2008-12-18 | 2009-09-02 | 康佳集团股份有限公司 | 一种启动闪存内引导程序的方法及其网络电视和机顶盒 |
-
2009
- 2009-12-22 CN CN200910189272.XA patent/CN102104750B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20020178352A1 (en) * | 2001-05-22 | 2002-11-28 | Lambino John P. | Firmware upgrade using address conversion |
CN1786910A (zh) * | 2004-12-09 | 2006-06-14 | 华为技术有限公司 | 一种bios在线升级方法 |
US20080126776A1 (en) * | 2006-11-27 | 2008-05-29 | Fujifilm Corporation | Electronic apparatus |
CN101004691A (zh) * | 2007-01-23 | 2007-07-25 | 北京映翰通网络技术有限公司 | 一种固件程序升级的方法与装置 |
CN101520735A (zh) * | 2008-12-18 | 2009-09-02 | 康佳集团股份有限公司 | 一种启动闪存内引导程序的方法及其网络电视和机顶盒 |
Cited By (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102394761A (zh) * | 2011-11-02 | 2012-03-28 | 华为技术有限公司 | 计费系统升级方法和装置 |
CN102394761B (zh) * | 2011-11-02 | 2014-02-19 | 华为技术有限公司 | 计费系统升级方法和装置 |
CN102999436A (zh) * | 2012-11-28 | 2013-03-27 | 华为终端有限公司 | 在Nand闪存中生成动态分区信息的方法和装置 |
CN102999436B (zh) * | 2012-11-28 | 2015-09-09 | 华为终端有限公司 | 在Nand闪存中生成动态分区信息的方法和装置 |
CN103595564A (zh) * | 2013-11-12 | 2014-02-19 | 浪潮集团有限公司 | 一种云系统中实现冗余管理单元恢复默认配置的方法 |
WO2016155524A1 (zh) * | 2015-03-27 | 2016-10-06 | 阿里巴巴集团控股有限公司 | 一种系统安全升级的方法和装置 |
CN106156626A (zh) * | 2015-03-27 | 2016-11-23 | 阿里巴巴集团控股有限公司 | 一种系统安全升级的方法和装置 |
CN105516300A (zh) * | 2015-12-04 | 2016-04-20 | 上海斐讯数据通信技术有限公司 | 一种设备版本升级方法及系统 |
CN105516300B (zh) * | 2015-12-04 | 2019-05-31 | 上海斐讯数据通信技术有限公司 | 一种设备版本升级方法及系统 |
CN106933641A (zh) * | 2017-05-16 | 2017-07-07 | 江苏新安电器有限公司 | 一种单片机软件自升级方法和系统 |
CN110264452A (zh) * | 2019-06-18 | 2019-09-20 | 江苏通佑视觉科技有限公司 | 一种工件检测方法、装置、设备及存储介质 |
CN110264452B (zh) * | 2019-06-18 | 2023-08-04 | 江苏通佑视觉科技有限公司 | 一种工件检测方法、装置、设备及存储介质 |
CN111614764A (zh) * | 2020-05-21 | 2020-09-01 | 四川爱联科技有限公司 | 一种物联网设备的flash坏块自动修复系统及方法 |
CN111614764B (zh) * | 2020-05-21 | 2023-04-21 | 四川爱联科技股份有限公司 | 一种物联网设备的flash坏块自动修复系统及方法 |
Also Published As
Publication number | Publication date |
---|---|
CN102104750B (zh) | 2015-02-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102104750B (zh) | 一种网络电视自动升级的方法 | |
CN101520735B (zh) | 一种启动闪存内引导程序的方法及其网络电视和机顶盒 | |
CN101650662B (zh) | 一种嵌入式系统的存储器件的固件启动及升级方法 | |
CN100424655C (zh) | 快闪存储器管理方法 | |
US8046528B2 (en) | Data writing method for flash memory, and flash memory controller and storage device thereof | |
CN102629206B (zh) | 一种嵌入式系统软件升级方法及系统 | |
CN101551780B (zh) | 一种电视机及其数据存储方法、装置 | |
US20100064127A1 (en) | Method for updating basic input/output system and method for repairing thereof | |
CN102576332A (zh) | 电力中断管理 | |
CN102270144A (zh) | 嵌入式网络设备及其更新固件的方法 | |
CN101903866A (zh) | 非易失存储介质中的数据存储的方法和系统 | |
CN103279406B (zh) | 一种内存的隔离方法和装置 | |
CN101176074A (zh) | 非易失性存储器件,写入数据的方法,和读出数据的方法 | |
CN105183517A (zh) | 在recovery模式下挂载外部存储设备的方法、装置及电子装置 | |
CN1932778A (zh) | 一种对nand flash存储器进行虚拟空间管理的方法 | |
WO2009017368A2 (en) | Input/output control method and apparatus optimized for flash memory | |
CN101923473A (zh) | 嵌入式电子装置及更新其固件的方法 | |
CN100487648C (zh) | 移动通信终端的文件更新系统和启动管理系统及其方法 | |
CN110502281A (zh) | 一种嵌入式设备启动Linux内核和文件系统的方法 | |
CN102141921A (zh) | 一种终端设备系统升级方法及终端设备 | |
CN101727401B (zh) | 连接表的回复方法 | |
CN103268294A (zh) | 一种存取数据的操作方法和数据处理设备 | |
CN101488093A (zh) | 一种嵌入式计算机系统及其硬件配置方法 | |
CN102662688B (zh) | 一种Nor flash更新方法及装置 | |
CN102033811B (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 | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant |