[go: up one dir, main page]
More Web Proxy on the site http://driver.im/

CN106325911A - 一种实现bootrom升级的方法及装置 - Google Patents

一种实现bootrom升级的方法及装置 Download PDF

Info

Publication number
CN106325911A
CN106325911A CN201510383157.1A CN201510383157A CN106325911A CN 106325911 A CN106325911 A CN 106325911A CN 201510383157 A CN201510383157 A CN 201510383157A CN 106325911 A CN106325911 A CN 106325911A
Authority
CN
China
Prior art keywords
partition
bootrom
mapping
upgrade
upgraded
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
CN201510383157.1A
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.)
ZTE Corp
Original Assignee
ZTE Corp
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 ZTE Corp filed Critical ZTE Corp
Priority to CN201510383157.1A priority Critical patent/CN106325911A/zh
Priority to PCT/CN2016/074456 priority patent/WO2017000567A1/zh
Publication of CN106325911A publication Critical patent/CN106325911A/zh
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/445Program loading or initiating

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)
  • Stored Programmes (AREA)

Abstract

本发明公开了一种实现BOOTROM升级的方法及装置,包括:当启动运行的无盘启动只读存储器(BOOTROM)在第一分区时,选择第二分区进行BOOTROM升级;第二分区完成BOOTROM升级后,将CPU启动地址由原先的映射至第一分区修改为映射至第二分区,以使所述第二分区根据CPU启动地址的映射启动升级完成的BOOTROM;第二分区为除当前启动运行的BOOTROM所在的第一分区以外的另一分区。本发明方法通过两个分区进行系统升级,避免了FLASH存储空间的浪费;另一方面,在进行BOOTROM升级时,对启动运行的BOOTROM所在分区进行写保护,避免了升级失败后,无法重新选择启动运行升级前的BOOTROM,提高了系统的可靠性。

Description

一种实现BOOTROM升级的方法及装置
技术领域
本发明涉及系统应用升级技术,尤指一种实现BOOTROM升级的方法及装置。
背景技术
电子通信的系统应用由于应用场景的改变、功能的扩展完善和BUG的修正等原因,需要不断的进行升级;在系统应用升级时,也会对系统引导程序无盘启动只读存储器(BOOTROM)的升级。BOOTROM升级的可靠与否对系统应用来说十分关键,若升级失败,可能会直接导致系统无法启动。
BOOTROM一般都存储在闪存(FLASH)存储器中,目前,BOOTROM的升级方法及存在的缺陷分别有:1、直接覆盖FLASH中旧版本的BOOTROM,该方法存在的问题是若升级失败会直接导致系统无法启动;2、将FLASH分成两个分区,一个区保留出厂时的BOOTROM,每次升级只升级另一个分区,该方法存在的问题是若升级失败或系统遭到破坏,用户只能把BOOTROM回退到出厂时的BOOTROM,即无法回退到升级前的BOOTROM。
发明内容
为了解决上述技术问题,本发明提供一种实现BOOTROM升级的方法及装置,能够在合理利用FLASH存储空间前提下进行BOOTROM升级,BOOTROM升级失败时,可以重新启动升级前的BOOTROM。
为了达到本发明目的,本发明提供了一种实现BOOTROM升级的方法,包括:
当启动运行的无盘启动只读存储器BOOTROM在第一分区时,选择第二分区进行BOOTROM升级;
第二分区完成BOOTROM升级后,将CPU启动地址由原先的映射至第一分区修改为映射至第二分区,以使所述第二分区根据CPU启动地址的映射启动升级完成的BOOTROM;
所述第二分区为除当前启动运行的BOOTROM所在的第一分区以外的另一分区。
进一步地,该方法之前还包括:
通过可编程逻辑器件CPLD为第一分区和第二分区预先设定相应的启动标识并赋值相应的取值;以根据启动标识的取值将CPU启动地址映射到启动运行BOOTROM的所述第一分区或修改为映射至升级完成的BOOTROM的所述第二分区。
进一步地,在选择所述第二分区进行BOOTROM升级时,该方法还包括:
对当前启动运行的BOOTROM所在的所述第一分区进行写保护。
进一步地,启动所述升级完成的BOOTROM失败时,该方法还包括:
重新将所述CPU启动地址映射至所述第一分区,以选择启动运行所述第一分区的BOOTROM。
进一步地,第一分区和第二分区为FLASH存储器中存储空间大小相同的分区。
另一方面,本申请还提供一种实现BOOTROM升级的装置,包括:选择单元,映射处理单元;其中,
选择单元,用于当启动运行的BOOTROM在第一分区时,选择第二分区进行BOOTROM升级;
映射处理单元,用于第二分区完成BOOTROM升级后,将CPU启动地址由原先的映射至第一分区修改为映射至第二分区,以使所述第二分区根据CPU启动地址的映射启动升级完成的BOOTROM;
所述第二分区为除当前启动运行的BOOTROM所在的第一分区以外的另一分区。
进一步地,该装置还包括预设单元,
用于通过可编程逻辑器件CPLD为第一分区和第二分区预先设定相应的启动标识并赋值相应的取值;以根据启动标识的取值将CPU启动地址映射到启动运行BOOTROM的所述第一分区或修改为映射至升级完成的BOOTROM的所述第二分区。
进一步地,该装置还包括写保护单元,用于在选择所述第二分区进行BOOTROM升级时,对当前启动运行的BOOTROM所在的所述第一分区进行写保护;
BOOTROM升级完成后,解除写保护。
进一步地,映射处理单元还用于,启动所述升级完成的BOOTROM失败时,重新将所述CPU启动地址映射至所述第一分区,以选择启动运行所述第一分区的BOOTROM。
进一步地,第一分区和第二分区为FLASH存储器中存储空间大小相同的分区。
与现有技术相比,本申请技术方案包括:当启动运行的无盘启动只读存储器BOOTROM在第一分区时,选择第二分区进行BOOTROM升级;第二分区完成BOOTROM升级后,将CPU启动地址由原先的映射至第一分区修改为映射至第二分区,以使所述第二分区根据CPU启动地址的映射启动升级完成的BOOTROM;第二分区为除当前启动运行的BOOTROM所在的第一分区以外的另一分区。本发明方法通过两个分区进行系统升级,避免了FLASH存储空间的浪费;
另一方面,在进行BOOTROM升级时,对启动运行的BOOTROM所在分区进行写保护,避免了升级失败后,无法重新选择启动运行升级前的BOOTROM,提高了系统的可靠性。
附图说明
此处所说明的附图用来提供对本发明的进一步理解,构成本申请的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:
图1为本发明实现BOOTROM升级的方法的流程图;
图2为本发明实现BOOTROM升级的装置的结构程图;
图3为本发明第一实施例的方法流程图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚明白,下文中将结合附图对本发明的实施例进行详细说明。需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互任意组合。
图1为本发明实现BOOTROM升级的方法的流程图,如图1所示,包括:
步骤100、当启动运行的无盘启动只读存储器(BOOTROM)在第一分区时,选择第二分区进行BOOTROM升级;这里,第二分区为除当前启动运行的BOOTROM所在的第一分区以外的另一分区。
本发明方法之前还包括:
通过可编程逻辑器件(CPLD)为第一分区和第二分区预先设定相应的启动标识并赋值相应的取值;以根据启动标识的取值将CPU启动地址映射到启动运行BOOTROM的第一分区或修改为映射至升级完成的BOOTROM的第二分区。
本发明方法中,第一分区和第二分区为FLASH存储器中存储空间大小相同的分区。
步骤101、第二分区完成BOOTROM升级后,将CPU启动地址由原先的映射至第一分区修改为映射至第二分区,以使第二分区根据CPU启动地址的映射启动升级完成的BOOTROM。
在选择第二分区进行BOOTROM升级时,本发明方法还包括:
对当前启动运行的BOOTROM所在的第一分区进行写保护。
启动升级完成的BOOTROM失败时,本发明方法还包括:
重新将CPU启动地址映射至第一分区,以选择启动运行第一分区的BOOTROM。
需要说明的是,如果第二分区启动成功,则启动运行的分区由BOOTROM升级成功的分区替换,即完成BOOTROM升级且启动成功后的分区将变为第一分区,原先启动BOOTROM的分区成为用于BOOTROM升级的第二分区。
本发明方法通过两个分区进行系统升级,避免了FLASH存储空间的浪费;
另一方面,在进行BOOTROM升级时,对启动运行的BOOTROM所在分区进行写保护,避免了升级失败后,无法重新选择启动运行升级前的BOOTROM,提高了系统的可靠性。
图2为本发明实现BOOTROM升级的装置的结构程图,如图2所示,包括:选择单元,映射处理单元;其中,
选择单元,用于当启动运行的BOOTROM在第一分区时,选择第二分区进行BOOTROM升级;
映射处理单元,用于第二分区完成BOOTROM升级后,将CPU启动地址由原先的映射至第一分区修改为映射至第二分区,以使第二分区根据CPU启动地址的映射启动升级完成的BOOTROM;
第二分区为除当前启动运行的BOOTROM所在的第一分区以外的另一分区。
本发明装置还包括预设单元,
用于通过可编程逻辑器件CPLD为第一分区和第二分区预先设定相应的启动标识并赋值相应的取值;以根据启动标识的取值将CPU启动地址映射到启动运行BOOTROM的第一分区或修改为映射至升级完成的BOOTROM的第二分区。
本发明装置还包括写保护单元,用于在选择第二分区进行BOOTROM升级时,对当前启动运行的BOOTROM所在的第一分区进行写保护;
BOOTROM升级完成后,解除写保护。
映射处理单元还用于,启动升级完成的BOOTROM失败时,重新将CPU启动地址映射至第一分区,以选择启动运行第一分区的BOOTROM。
第一分区和第二分区为FLASH存储器中存储空间大小相同的分区。
以下通过具体实施例对本发明方法进行清楚详细的说明,实施例仅用于陈述本发明,并不用于限制本发明方法的保护范围。
实施例1
图3为本发明第一实施例的方法流程图,如图3所示,包括:
步骤300、将FLASH存储器分成大小相同的两个分区;其中,一个分区作为启动运行BOOTROM的分区,另一分区作为升级BOOTROM的分区;一般的,启动运行的BOOTROM分区在升级之前BOOTROM为原厂的BOOTROM,当进行第二次升级。
步骤301、通过可编程逻辑器件为两个分区预先设定相应的启动标识并赋值相应的取值,根据启动标识的取值将CPU启动地址映射到启动运行BOOTROM所在的分区;
这里,升级前,将CPU启动地址映射到启动运行BOOTROM的第一分区,升级后,将CPU启动地址修改为映射至升级完成的BOOTROM的分区。启动标识的取值可以通过一个比特BIT位表示,一般的1代表启动运行该分区的BOOTROM,0代表该分区用于BOOTROM的升级。
需要说明的是,这里,进行CPU启动地址修改是根据启动标识的取值进行,即启动标识取值修改时,进行CPU启动地址映射的修改。
步骤302、当启动运行的BOOTROM在第一分区时,选择第二分区进行BOOTROM升级;这里,第一分区为当前运行的BOOTROM所在的分区。在升级时,本实施例对第一分区进行写保护,即第一分区的数据写入地址禁止数据写入,完成BOOTROM升级后,写保护解除。
步骤303、第二分区完成BOOTROM升级后,将CPU启动地址由原先的映射至第一分区修改为映射至第二分区,以使第二分区根据CPU启动地址的映射启动升级完成的BOOTROM。
若升级完成的BOOTROM启动成功,执行步骤304,;若失败,执行步骤305。
步骤304、升级完成的BOOTROM启动成功后,CPU启动地址在下一次升级成功之前保持映射至升级完成的BOOTROM所在的分区;这里,相当于升级完成并启动成功后,该分区默认作为第一分区使用。
步骤305、升级完成的BOOTROM启动失败时,重新将CPU启动地址映射至先前启动BOOTROM的分区,以选择启动运行该分区的BOOTROM;即启动标识的取值在升级完成的BOOTROM启动失败,重新修改至原先的取值,第一分区不做更改。
综上,本实施例通过将FLASH存储器划分为两个分区,且可编程逻辑器件通过自动读、写启动标识的取值,使得BOOTROM升级在两个分区进行轮换进行,并将当前运行的分区进行写保护,节约FLASH空间成本,提高了BOOTROM升级的可靠性。
虽然本发明所揭露的实施方式如上,但所述的内容仅为便于理解本发明而采用的实施方式,并非用以限定本发明。任何本发明所属领域内的技术人员,在不脱离本发明所揭露的精神和范围的前提下,可以在实施的形式及细节上进行任何的修改与变化,但本发明的专利保护范围,仍须以所附的权利要求书所界定的范围为准。

Claims (10)

1.一种实现BOOTROM升级的方法,其特征在于,包括:
当启动运行的无盘启动只读存储器BOOTROM在第一分区时,选择第二分区进行BOOTROM升级;
第二分区完成BOOTROM升级后,将CPU启动地址由原先的映射至第一分区修改为映射至第二分区,以使所述第二分区根据CPU启动地址的映射启动升级完成的BOOTROM;
所述第二分区为除当前启动运行的BOOTROM所在的第一分区以外的另一分区。
2.根据权利要求1所述的方法,其特征在于,该方法之前还包括:
通过可编程逻辑器件CPLD为第一分区和第二分区预先设定相应的启动标识并赋值相应的取值;以根据启动标识的取值将CPU启动地址映射到启动运行BOOTROM的所述第一分区或修改为映射至升级完成的BOOTROM的所述第二分区。
3.根据权利要求1所述的方法,其特征在于,在选择所述第二分区进行BOOTROM升级时,该方法还包括:
对当前启动运行的BOOTROM所在的所述第一分区进行写保护。
4.根据权利要求1所述的方法,其特征在于,启动所述升级完成的BOOTROM失败时,该方法还包括:
重新将所述CPU启动地址映射至所述第一分区,以选择启动运行所述第一分区的BOOTROM。
5.根据权利要求1所述的方法,其特征在于,所述第一分区和第二分区为FLASH存储器中存储空间大小相同的分区。
6.一种实现BOOTROM升级的装置,其特征在于,包括:选择单元,映射处理单元;其中,
选择单元,用于当启动运行的BOOTROM在第一分区时,选择第二分区进行BOOTROM升级;
映射处理单元,用于第二分区完成BOOTROM升级后,将CPU启动地址由原先的映射至第一分区修改为映射至第二分区,以使所述第二分区根据CPU启动地址的映射启动升级完成的BOOTROM;
所述第二分区为除当前启动运行的BOOTROM所在的第一分区以外的另一分区。
7.根据权利要求6所述的装置,其特征在于,该装置还包括预设单元,
用于通过可编程逻辑器件CPLD为第一分区和第二分区预先设定相应的启动标识并赋值相应的取值;以根据启动标识的取值将CPU启动地址映射到启动运行BOOTROM的所述第一分区或修改为映射至升级完成的BOOTROM的所述第二分区。
8.根据权利要求6所述的装置,其特征在于,该装置还包括写保护单元,用于在选择所述第二分区进行BOOTROM升级时,对当前启动运行的BOOTROM所在的所述第一分区进行写保护;
BOOTROM升级完成后,解除写保护。
9.根据权利要求6所述的装置,其特征在于,映射处理单元还用于,启动所述升级完成的BOOTROM失败时,重新将所述CPU启动地址映射至所述第一分区,以选择启动运行所述第一分区的BOOTROM。
10.根据权利要求6所述的装置,其特征在于,所述第一分区和第二分区为FLASH存储器中存储空间大小相同的分区。
CN201510383157.1A 2015-07-02 2015-07-02 一种实现bootrom升级的方法及装置 Pending CN106325911A (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN201510383157.1A CN106325911A (zh) 2015-07-02 2015-07-02 一种实现bootrom升级的方法及装置
PCT/CN2016/074456 WO2017000567A1 (zh) 2015-07-02 2016-02-24 一种实现bootrom升级的方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201510383157.1A CN106325911A (zh) 2015-07-02 2015-07-02 一种实现bootrom升级的方法及装置

Publications (1)

Publication Number Publication Date
CN106325911A true CN106325911A (zh) 2017-01-11

Family

ID=57607667

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201510383157.1A Pending CN106325911A (zh) 2015-07-02 2015-07-02 一种实现bootrom升级的方法及装置

Country Status (2)

Country Link
CN (1) CN106325911A (zh)
WO (1) WO2017000567A1 (zh)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110031054A (zh) * 2019-03-27 2019-07-19 上海飞奥燃气设备有限公司 燃气表智能控制器及其固件升级启动方法
WO2020094065A1 (zh) * 2018-11-07 2020-05-14 中兴通讯股份有限公司 一种车载Tbox升级的方法、装置、设备以及存储介质
CN112118280A (zh) * 2020-06-19 2020-12-22 上海汉枫电子科技有限公司 一种wi-fi设备ota升级失败后的恢复方法
CN112241340A (zh) * 2020-11-05 2021-01-19 中国航空工业集团公司西安航空计算技术研究所 一种面向在线升级的启动和加载区域数据备份方法

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111324488B (zh) * 2020-02-12 2023-12-08 浙江大华技术股份有限公司 一种程序备份处理方法及装置
CN113377565B (zh) * 2021-06-10 2024-05-28 博流智能科技(南京)有限公司 Bootrom修正系统及方法以及芯片

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20030031734A (ko) * 2001-10-16 2003-04-23 삼성전자주식회사 케이블모뎀의 케이블모뎀 소프트웨어 및 부트롬업그레이드 방법
CN101782859A (zh) * 2010-03-18 2010-07-21 上海乐毅信息科技有限公司 一种嵌入式系统在应用中的升级方法
CN102033790A (zh) * 2010-12-15 2011-04-27 中兴通讯股份有限公司 一种嵌入式系统bootrom的升级方法和装置
CN102486733A (zh) * 2010-12-03 2012-06-06 中兴通讯股份有限公司 引导程序的升级方法和装置
CN102945176A (zh) * 2012-11-09 2013-02-27 青岛海信移动通信技术股份有限公司 终端设备开机、升级方法和设备
CN102981872A (zh) * 2012-11-09 2013-03-20 青岛海信移动通信技术股份有限公司 终端设备开机、升级方法和终端设备

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1295903C (zh) * 2002-11-18 2007-01-17 华为技术有限公司 一种系统安全启动方法

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20030031734A (ko) * 2001-10-16 2003-04-23 삼성전자주식회사 케이블모뎀의 케이블모뎀 소프트웨어 및 부트롬업그레이드 방법
CN101782859A (zh) * 2010-03-18 2010-07-21 上海乐毅信息科技有限公司 一种嵌入式系统在应用中的升级方法
CN102486733A (zh) * 2010-12-03 2012-06-06 中兴通讯股份有限公司 引导程序的升级方法和装置
CN102033790A (zh) * 2010-12-15 2011-04-27 中兴通讯股份有限公司 一种嵌入式系统bootrom的升级方法和装置
CN102945176A (zh) * 2012-11-09 2013-02-27 青岛海信移动通信技术股份有限公司 终端设备开机、升级方法和设备
CN102981872A (zh) * 2012-11-09 2013-03-20 青岛海信移动通信技术股份有限公司 终端设备开机、升级方法和终端设备

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2020094065A1 (zh) * 2018-11-07 2020-05-14 中兴通讯股份有限公司 一种车载Tbox升级的方法、装置、设备以及存储介质
CN111158712A (zh) * 2018-11-07 2020-05-15 中兴通讯股份有限公司 一种车载Tbox升级的方法、装置、设备以及存储介质
CN110031054A (zh) * 2019-03-27 2019-07-19 上海飞奥燃气设备有限公司 燃气表智能控制器及其固件升级启动方法
CN112118280A (zh) * 2020-06-19 2020-12-22 上海汉枫电子科技有限公司 一种wi-fi设备ota升级失败后的恢复方法
CN112241340A (zh) * 2020-11-05 2021-01-19 中国航空工业集团公司西安航空计算技术研究所 一种面向在线升级的启动和加载区域数据备份方法

Also Published As

Publication number Publication date
WO2017000567A1 (zh) 2017-01-05

Similar Documents

Publication Publication Date Title
CN106325911A (zh) 一种实现bootrom升级的方法及装置
CN102033790B (zh) 一种嵌入式系统bootrom的升级方法和装置
CN103559054B (zh) 智能终端多操作系统的实现、删除方法和装置
US8423991B2 (en) Embedded network device and firmware upgrading method
US20110283274A1 (en) Firmware image update and management
WO2013103023A1 (ja) 情報処理装置、情報処理方法、およびコンピュータプログラム
US20150074386A1 (en) Boot method and boot system
CN110780890A (zh) 系统升级方法、装置、电子设备和介质
CN104915226B (zh) 一种网络设备软件启动方法、装置及网络设备
JP2010079440A (ja) ファームウェア更新装置及び方法
CN106909362B (zh) Bmc固件生成的方法和装置、bmc系统启动的方法和装置
WO2015154538A1 (zh) 存储器的启动方法及装置
WO2018024198A1 (zh) 机顶盒的应用程序升级方法、系统及机顶盒
CN109753299A (zh) 一种系统升级方法、装置以及计算机存储介质
CN106020837A (zh) 一种加载机顶盒驱动的方法及系统
CN109408122A (zh) 一种设备启动方法、电子设备和计算机存储介质
CN104063256A (zh) 基于最小操作系统的分区及固件升级方法
US10642623B1 (en) Preserving firmware settings during firmware updates
CN113626059A (zh) 系统升级方法、摄像机及计算机可读存储介质
CN104536841A (zh) 一种Android系统Data分区自修复方法及系统
CN112306368A (zh) 一种emmc扩展用户数据分区的方法及装置
CN115756561A (zh) 软件升级方法、装置、计算机设备以及存储介质
CN112860291B (zh) 固件升级方法及装置
WO2018014687A1 (zh) 一种参数传递方法、装置及计算机存储介质
CN104298618A (zh) 一种智能终端的命令处理方法及装置

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
WD01 Invention patent application deemed withdrawn after publication
WD01 Invention patent application deemed withdrawn after publication

Application publication date: 20170111