CN1214328C - 一种引导存储器的构建方法、引导存储器及驱动方法 - Google Patents
一种引导存储器的构建方法、引导存储器及驱动方法 Download PDFInfo
- Publication number
- CN1214328C CN1214328C CNB021036829A CN02103682A CN1214328C CN 1214328 C CN1214328 C CN 1214328C CN B021036829 A CNB021036829 A CN B021036829A CN 02103682 A CN02103682 A CN 02103682A CN 1214328 C CN1214328 C CN 1214328C
- Authority
- CN
- China
- Prior art keywords
- bootrom
- expansion
- content
- basic
- construction method
- 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.)
- Expired - Lifetime
Links
Images
Landscapes
- Storage Device Security (AREA)
- Stored Programmes (AREA)
Abstract
本发明公开了一种引导存储器的构建方法,该方法将引导存储器(BootRom)按照其地址范围分为两段,分别作为基本BootRom和扩展BootRom,所述基本BootRom采用能够长期保持所存储的内容,并且在其处于工作状态的任意时刻均能读出其内容的存储器,例如ROM;所述扩展BootRom采用能够长期保持所存储的内容,并且在其处于工作状态的任意时刻均能读、写其内容的存储器,例如FLASH;该方法还设置扩展BootRom的有效性标志,用以标识扩展BootRom是否可以在线升级或可用;采用上述方案,使得扩展BootRom的内容可以在线升级、更新和维护,因此可以减少BootRom的升级和维护的成本。
Description
技术领域
本发明涉及计算机、通讯领域中单板设备上的引导存储器(BootRom)的构建方法及引导存储器以及该引导存储器的驱动方法。
背景技术
在计算机、通讯设备中,由于在单板启动时需要完成必要的系统引导、初始化等操作,因此需要在设备单板上设置能够存储基本引导程序的BootRom,为使该芯片所存储的程序和数据能够在单板启动时立即进入工作状态,使得该芯片通常由只读存储器(ROM)构成。而ROM通常具有的特性是内容的不可变更性,一般需用专门的擦写工具擦除和写入,由于需要专门的工具才能写入,因此当需要更新单板启动的引导代码的时候,需要将BootRom芯片从单板上取下来,重新将更新后的代码写入到BootRom中,或者更换新的BootRom芯片。因此设备单板上的BootRom的升级必须到现场拔板和更换芯片,这样增加了维护成本,同时单板拔插可能会影响到整个产品的运行。在单板开发阶段,BootRom的更改也需要重新烧制,这样不仅可能造成芯片的损害,也给开发人员带了不方便。
发明内容
本发明的目的在于提供一种引导存储器的构建方法,使用上述方法构建的BootRom便于升级和维护:本发明同时还提供一种使用该方法构建的引导存储器及其驱动方法。
为达到上述目的,本发明提供的引导存储器的构建方法,包括:
(1)将引导存储器(BootRom)按照其地址范围分为两段,分别作为基本BootRom和扩展BootRom所述基本BootRom采用能够长期保持所存储的内容,并且在其处于工作状态的任意时刻均能读出其内容的存储器:所述扩展BootRom采用能够长期保持所存储的内容,并且在其处于工作状态的任意时刻均能读、写其内容的存储器:
(2)设置扩展BootRom的有效性标志,用以标识扩展BootRom是否可以在线升级或可用;
所述基本BootRom采用快速闪存存储器(FLASH)。
所述扩展BootRom采用电可擦抹只读存储器(EEROM)。
所述扩展BootRom也可以采用快速闪存存储器(FLASH)。
所述方法还包括:设置扩展BootRom的执行标志,用以标识扩展BootRom是处于开始执行还是处于执行完毕的状态。
本发明还提供了一种根据上述方法构建的引导存储器,包括:
基本BootRom采用能够长期保持所存储的内容,并且在其处于工作状态的任意时刻均能读出其内容的存储器,用于存储内容固定的引导程序代码以及系统基本数据;
扩展BootRom,采用能够长期保持所存储的内容,并且在其处于工作状态的任意时刻均能读、写其内容的存储器,用于存储需要升级的程序代码和数据,以方便程序代码和数据的升级。
本发明提供的上述引导存储器的驱动方法,包括:
(A1)执行基本BootRom初始化操作:
(A2)对扩展BootRom的有效性标志进行判断,如果扩展BootRom无效,执行后续的基本BootRom代码,然后结束;如果所述扩展BootRom有效,则进行步骤(A3);
(A3)对扩展BootRom的执行标志进行判断,如果该标志标识扩展BootRom为开始执行的状态,执行后续的基本BootRom代码,然后结束;如果该标志标识扩展BootRom为正常工作状态,则进行步骤(A4);
(A4)设置扩展BootRom的执行标志为开始执行的状态,并执行扩展BootRom的代码:
(A5)在扩展BootRom的代码执行完毕或中止后,判断扩展BootRom是否执行成功,如果成功,设置扩展BootRom的执行标志为执行完毕的状态,然后结束,否则进行告警等操作后结束。
由于本发明将BootRom按照其地址范围分为两段,分别作为基本BootRom和扩展BootRom并且所述扩展BootRom采用能够长期保持所存储的内容,并且在其处于工作状态的任意时刻均能读、写其内容的存储器,例如采用EEROM或FLASH,这样,使得扩展BootRom的内容可以在线升级、更新和维护,可以减少BootRom的升级和维护的成本。
附图说明
图1是本发明的引导存储器的构建方法实施例流程图;
图2是按照图1所述方法构建的引导存储器框图;
图3是本发明的引导存储器的驱动方法实施例流程图。
具体实施方式
下面结合附图和实施例对本发明作进一步详细的描述。
图1是本发明的引导存储器的构建方法实施例流程图。按照图1构建引导存储器共有三个步骤:第1步,将BootRom按照其地址范围分为两段,第一段作为基本BootRom该段BootRom所存储的程序或数据支持的功能较少但稳定可靠,其中的程序和数据通常在出厂时写入,以后不需要再改写和升级,因此基本BootRom采用能够长期保持所存储的内容,并且在其处于工作状态的任意时刻均能读出其内容的存储器,该段存储器通常采用快速闪存存储器FLASH或只读存储器ROM,当然也可以采用紫外线擦抹只读存储器(EPROM)或电可擦抹只读存储器(EEPROM):第二段作为扩展BootRom该段BootRom所存储的程序或数据支持的功能较多,实际中可能要求修改、维护或升级,因此所述扩展BootRom应采用能够长期保持所存储的内容,并且在其处于工作状态的任意时刻均能读、写其内容的存储器,该段存储器采用快速闪存存储器FLASH,也可以采用电可擦抹只读存储器EEROM,在特殊情况下,也可以采用随机存储器RAM实现,当然要为RAM提供稳定的不间断供电电源。
在插有BootRom的单板启动后,由于硬件设置会先执行基本BootRom,以便先执行必要的初始化操作,然后判断扩展BootRom是否可用,如果扩展BootRom可用,就跳到扩展BootRom执行:否则执行基本BootRom的后续代码。通常扩展BootRom可用的条件有两个,一是扩展BootRom里的代码有效,二是上一次启动成功,当上述两个条件都满足时才能说明扩展BootRom稳定可用。同时,为了支持BootRom的升级,在基本BootRom中必须增加扩展BootRom有效性判断、扩展BootRom启动成功标志设置和扩展BOOTROM启动成功标志清除的代码。
因此,在步骤2,设置扩展BootRom的有效性标志,用以标识扩展BootRom是否可以在线升级或可用:在步骤3设置扩展BootRom的执行标志,用以标识扩展BootRom是处于开始执行还是处于执行完毕的状态。
经过上述步骤,即可构建一个方便升级、维护操作的BootRom同时将扩展BootROM的执行标志设置为执行完毕的状态。
还需要说明,所述扩展BootRom的有效性标志以及执行标志可以在BootRom中设置,并且对设置在基本BootRom还是设置在扩展BootRom中没有要求,实际中还可以将该标志设置在系统存储器中。以扩展BootRom有效性标志为例,所述设置扩展BootRom的有效性标志还可以通过设置扩展BootRom的校验和特征值的方式实现。例如,当扩展BootRom有效时,其存储单元的二进制检验和的值是固定的,将该值作为特征值,在每次BootRom启动时,用计算得到的当前扩展BootRom校验和与该特征值进行比较,即可获知当前扩展BootRom是否处于有效状态。与上述同理,所述设置扩展BootRom的有效性标志也可以通过设置扩展BootRom的按某一加密算法特征值的方式机实现,例如信息分类加密算法第5版(MD5)算法。
图2是按照图1所述方法构建的引导存储器框图。图2中的引导存储器1包括:基本BootRom2和扩展BootRom3,其中:
基本BootRom2,采用能够长期保持所存储的内容,并且在其处于工作状态的任意时刻均能读出其内容的存储器,用于存储内容固定的引导程序代码以及系统基本数据;
扩展BootRom3,采用能够长期保持所存储的内容,并且在其处于工作状态的任意时刻均能读、写其内容的存储器,用于存储需要升级的程序代码和数据,以方便程序代码和数据的升级。
图3是本发明的引导存储器的驱动方法实施例流程图。按照图2使用依据图1所述方法构建的BootRom首先在步骤门进行正常的基本BootRom初始化操作,然后在步骤12对扩展BootRom的有效性标志进行判断,如果所述有效性标志标识扩展BootROM无效,说明扩展BootRom可能处于故障状态,无法继续执行,此时进行步骤14,执行后续的基本BootRom代码,然后结束BootROM的启动操作:如果所述有效性标志标识扩展BootRom有效,进行步骤13对扩展BootRom的执行标志进行判断,如果该标志标识扩展BootRom上次未执行成功,即该标志为仍为开始执行的状态,也说明扩展BootRom可能处于故障状态而无法继续执行,此时也进行步骤14执行后续的基本BootRom代码,然后结束BootRom的启动操作:否则,说明扩展BootRom处于正常的工作状态,因此在步骤15设置扩展BootRom的执行标志为开始执行,并在步骤16执行扩展BootRom的代码。在扩展BootRom的代码执行完毕或中止后,在步骤17判断扩展BootRom是否执行成功,如果成功,在步骤18设置扩展BootRom的执行标志为执行成功的状态,即执行完毕的状态,以便下次BootRom重新启动,然后结束BootRom的启动操作,否则在步骤19进行告警操作后结束BootRom的启动操作。在启动操作结束前还可以进行其它操作,例如进行BootRom的升级。如果进行BootRom的升级,首先要判断升级数据使用的加载通道是否正常,如果正常,发出BootRom的升级的升级申请,在得到响应后进行BootRom的升级。
Claims (10)
1、一种引导存储器的构建方法,包括:
(1)将引导存储器(BootRom)按照其地址范围分为两段,分别作为基本BootRom和扩展BootRom,所述基本BootRom采用能够长期保持所存储的内容,并且在其处于工作状态的任意时刻均能读出其内容的存储器;所述扩展BootRom采用能够长期保持所存储的内容,并且在其处于工作状态的任意时刻均能读、写其内容的存储器;
(2)设置扩展BootRom的有效性标志,用以标识扩展BootRom是否可以在线升级或可用;
2、根据权利要求1所述的引导存储器的构建方法,其特征在于:所述基本BootRom采用快速闪存存储器(FLASH)。
3、根据权利要求1所述的引导存储器的构建方法,其特征在于:所述扩展BootRom采用电可擦抹只读存储器(EEROM)。
4、根据权利要求1所述的引导存储器的构建方法,其特征在于:所述扩展BootRom采用快速闪存存储器(FLASH)。
5、根据权利要求1所述的引导存储器的构建方法,其特征在于:所述扩展BootRom的有效性标志在BootRom中设置。
6、根据权利要求5所述的引导存储器的构建方法,其特征在于:所述设置扩展BootRom的有效性标志为设置扩展BootRom的校验和特征值。
7、根据权利要求5所述的引导存储器的构建方法,其特征在于:所述设置扩展BootRom的有效性标志为设置扩展BootRom的信息分类加密算法第5板(MD5)的特征值。
8、根据权利要求1所述的引导存储器的构建方法,其特征在于:所述方法还包括:设置扩展BootRom的执行标志,用以标识扩展BootRom是处于已经开始执行还是处于执行完毕的状态。
9、一种根据权利要求1到8任一权利要求所述方法构建的引导存储器,包括:
基本BootRom采用能够长期保持所存储的内容,并且在其处于工作状态的任意时刻均能读出其内容的存储器,用于存储内容固定的引导程序代码以及系统基本数据;
扩展BootRom,采用能够长期保持所存储的内容,并且在其处于工作状态的任意时刻均能读、写其内容的存储器,用于存储需要升级的程序代码和数据,以方便程序代码和数据的升级。
10、一种权利要求9所述的引导存储器的驱动方法,包括:
(A1)执行基本BootRom初始化操作;
(A2)对扩展BootRom的有效性标志进行判断,如果扩展BootRom无效,执行后续的基本BootRom代码,然后结束;如果所述扩展BootRom有效,则进行步骤(A3);
(A3)对扩展BootRom的执行标志进行判断,如果该标志标识扩展BootRom为开始执行的状态,执行后续的基本BootRom代码,然后结束;如果该标志标识扩展BootRom为正常工作状态,则进行步骤(A4);
(A4)设置扩展BootRom的执行标志为开始执行,并执行扩展BootRom的代码;
(A5)在扩展BootRom的代码执行完毕或中止后,判断扩展BootRom是否执行成功,如果成功,设置扩展BootRom的执行标志为执行完毕的状态,然后结束,否则进行告警操作后结束。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CNB021036829A CN1214328C (zh) | 2002-02-08 | 2002-02-08 | 一种引导存储器的构建方法、引导存储器及驱动方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CNB021036829A CN1214328C (zh) | 2002-02-08 | 2002-02-08 | 一种引导存储器的构建方法、引导存储器及驱动方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN1437113A CN1437113A (zh) | 2003-08-20 |
CN1214328C true CN1214328C (zh) | 2005-08-10 |
Family
ID=27627918
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CNB021036829A Expired - Lifetime CN1214328C (zh) | 2002-02-08 | 2002-02-08 | 一种引导存储器的构建方法、引导存储器及驱动方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN1214328C (zh) |
Families Citing this family (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN100363857C (zh) * | 2004-11-25 | 2008-01-23 | 杭州华三通信技术有限公司 | 系统bootrom安全访问方法 |
CN100382027C (zh) * | 2005-02-01 | 2008-04-16 | 苏州超锐微电子有限公司 | 一种存储及运行大容量pci扩展rom的方法 |
CN100458970C (zh) * | 2005-07-04 | 2009-02-04 | 联咏科技股份有限公司 | 嵌入式存储单元结构以及存储装置的系统结构与操作方法 |
CN100362472C (zh) * | 2005-12-06 | 2008-01-16 | 海信集团有限公司 | 嵌入式设备系统动态引导的方法 |
CN1921578B (zh) * | 2006-09-01 | 2010-04-21 | 海信集团有限公司 | 存储空间扩展电路及具有所述扩展电路的电视机 |
CN102169445B (zh) * | 2011-05-13 | 2013-12-04 | 合肥华云通信技术有限公司 | 一种BootRom的安全升级方法 |
CN106158038B (zh) * | 2015-04-14 | 2021-03-09 | 恩智浦美国有限公司 | 从非易失性存储器读取数据的方法 |
CN114880166B (zh) * | 2022-04-19 | 2024-09-13 | Oppo广东移动通信有限公司 | BootROM的扩展方法、装置、电子设备及存储介质 |
-
2002
- 2002-02-08 CN CNB021036829A patent/CN1214328C/zh not_active Expired - Lifetime
Also Published As
Publication number | Publication date |
---|---|
CN1437113A (zh) | 2003-08-20 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101751273B (zh) | 用于嵌入式系统的安全引导装置及方法 | |
CN101770372B (zh) | 固件更新系统、方法以及固件更新系统的固件建构方法 | |
CN1214328C (zh) | 一种引导存储器的构建方法、引导存储器及驱动方法 | |
CN1200341C (zh) | 嵌入式系统中固件程序在线升级的实现方法 | |
CN103299276A (zh) | 嵌入式装置的软件更新过程 | |
EP1703380A3 (en) | Method of updating firmware in computer server systems | |
CN1398371A (zh) | 在操作系统装载之前更改操作系统启动顺序的系统和方法 | |
CN113641378B (zh) | 光模块程序升级方法、装置、设备及可读存储介质 | |
US7689981B1 (en) | Mobile handset with efficient interruption point detection during a multiple-pass update process | |
US8032788B2 (en) | System and method for managing the restarting of automatic control equipment | |
CN1955925A (zh) | 具有断电保护的电视系统软件更新方法 | |
CN102005245B (zh) | 一种智能卡擦写保护方法 | |
CN101639877B (zh) | 电子装置及其更新基本输入输出系统方法 | |
CN1199108C (zh) | 使用cf卡自动更新嵌入式设备操作系统的方法 | |
CN1266595C (zh) | 一种嵌入式操作系统半开放自动升级的方法 | |
CN1818824A (zh) | 一种可靠性高的个人计算机及操作系统 | |
KR100671046B1 (ko) | Usb를 이용한 응용프로그램 설치 시스템 및 설치방법 | |
CN1294481C (zh) | 引导程序更新恢复系统及其方法 | |
CN101727333A (zh) | 微处理器中固件更新的方法及固件更新系统 | |
CN104850472B (zh) | 系统应用软件备份还原方法和装置 | |
WO2004114129A2 (en) | Embedded device with software registry | |
CN1506822A (zh) | 基于可扩充表单的可复用嵌入式系统的硬件驱动和软件更新方法 | |
CN103713917A (zh) | 开机方法、热键切换开机图形装置方法与电子装置 | |
CN1610894A (zh) | 用于修改版本标识寄存器的内容的方法和装置 | |
CN101566951A (zh) | 电脑系统与其bios结构和开机方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
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 | ||
CX01 | Expiry of patent term |
Granted publication date: 20050810 |
|
CX01 | Expiry of patent term |