CN1295903C - 一种***安全启动方法 - Google Patents

一种***安全启动方法 Download PDF

Info

Publication number
CN1295903C
CN1295903C CNB021488258A CN02148825A CN1295903C CN 1295903 C CN1295903 C CN 1295903C CN B021488258 A CNB021488258 A CN B021488258A CN 02148825 A CN02148825 A CN 02148825A CN 1295903 C CN1295903 C CN 1295903C
Authority
CN
China
Prior art keywords
chip
boot program
logic
bootrom
cpu
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 - Fee Related
Application number
CNB021488258A
Other languages
English (en)
Other versions
CN1501621A (zh
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.)
Huawei Technologies Co Ltd
Original Assignee
Huawei Technologies 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 Huawei Technologies Co Ltd filed Critical Huawei Technologies Co Ltd
Priority to CNB021488258A priority Critical patent/CN1295903C/zh
Publication of CN1501621A publication Critical patent/CN1501621A/zh
Application granted granted Critical
Publication of CN1295903C publication Critical patent/CN1295903C/zh
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Landscapes

  • Stored Programmes (AREA)

Abstract

一种***安全启动方法,涉及通信设备***启动技术领域。将Boot程序同时保存于Bootrom芯片和Flash芯片,逻辑芯片中的***逻辑把CPU的起始地址映射到上述芯片之一,***启动时从该芯片中的Boot程序进入,当该芯片发生故障时,***逻辑把CPU的起始地址重新映射到另外一个芯片,***启动时从该重新映射CPU起始地址的芯片中的Boot程序进入。由于采用了本发明的***安全启动方法,将Boot程序同时设置在Bootrom芯片和Flash芯片中,使得***的安全可靠性提高。

Description

一种***安全启动方法
技术领域
本发明涉及通信领域,尤其涉及通信设备***启动技术领域。
技术背景
通信设备中,***启动从执行BSP程序(操作***,CPU等的初始化程序)开始,BSP程序和其它设备驱动程序一起合称Boot程序。Boot程序通常只存放在一个地方,一般在单板的Bootrom芯片中,也可能和应用程序一起存放在单板的Flash芯片中。随着通信网络的复杂,各种通信手段的应用,运营商要求通信设备提供高可靠性的服务。Boot程序的正常启动和执行,成为通信设备可靠工作的关键之一。
一般通信设备中,Bootrom芯片存放Boot程序,Flash芯片存放应用程序。为了降低成本,有时Boot程序和应用程序都存放于同一片Flash芯片内。当通信设备上网工作后,由于各种情况,Boot程序和应用程序都需要支持可升级。
通信设备中,Boot程序和应用程序的存储位置,都映射于不同的***物理地址。CPU用不同的片选信号(CS)控制对它们的访问。以Motorola的CPUMPC8245为例,对于Boot程序所在的Bootrom芯片,MPC8245通过CS0信号和地址总线经过逻辑译码给其分配物理地址;对于应用程序所在的Flash芯片,MPC8245直接通过CS2信号给其分配物理地址。通常,CPU都有启动地址,MPC8245的起始地址为0xFFF0,0100。
当Bootrom芯片中存放Boot程序,Flash芯片中存放应用程序时,通信设备的CPU***设计如图1。
图1中通信设备的CPU***包括CPU,MPC8245,Logic器件,Bootrom芯片和Flash芯片、看门狗(watchdong)电路。Logic器件可以是现场可编程门阵列(FPGA)、复杂可编程逻辑器件(CPLD)、可擦除可编程逻辑器件(EPLD)等各种的器件。BTCS信号是Bootrom芯片的片选信号,由CSO和地址总线经过地址译码得到。该看门狗电路用于***复位,当***出现故障不能正常启动时,该看门狗电路将***复位,完成重新启动。
现有技术的缺点:
1、Boot程序单一保存。Boot程序单独保存在Bootrom芯片或Flash芯片中,没有备份。当Bootrom芯片或Flash芯片发生损坏时,***无法启动。
2、不能提供Boot程序升级失败后的恢复。在升级Boot程序时,如果出现通信***掉电的情况,Boot程序升级失败,此时除非重新给Bootrom烧入程序,***不能重新启动。
发明内容
本专利的目的就是提供一种***安全启动的方法,以解决在***默认的Boot程序发生故障时,***正常启动的问题。
一种***安全启动的方法,其特征在于将Bootrom程序同时保存于Bootrom芯片和Flash芯片,逻辑芯片中的***逻辑把CPU的起始地址映射到上述芯片之一,***启动时从该芯片中的Bootrom程序进入,当该芯片发生故障时,***重新启动,***逻辑把CPU的起始地址重新映射到另外一个芯片,从该重新映射CPU起始地址的芯片中的Boot程序进入。
所述的***安全启动的方法,逻辑芯片中的***逻辑把CPU的起始地址映射到Bootrom芯片,***启动时从Bootrom芯片中的Bootrom程序进入,当Bootrom芯片发生故障时,***逻辑把CPU的起始地址映射到Flash芯片,***启动时从Flash芯片中的Boot程序进入。
所述的***安全启动方法,当Bootrom芯片发生故障时,***重新启动的步骤。
所述的***安全启动方法,***重新启动后,将Flash芯片中的Boot程序拷贝到Bootrom芯片中。
所述的***安全启动方法,还包括在***逻辑中设置一个寄存器,通过逻辑软件设置,将***启动时进入的Boot程序与所在的芯片建立起对应关系。
所述的逻辑软件设置,是将寄存器上电后的缺省值设置为“0”或“1”,以“0”或“1”为***标识,标识***从Bootrom芯片中的Boot程序启动还是从F1ash芯片中的Boot程序启动。
所述的对应关系为“0”:***从Bootrom芯片中的Boot程序启动;“1”:***从Flash芯片中的Boot程序启动。
所述的***安全启动方法,在***启动时包括以下步骤:
a、***上电,***逻辑启动一计数器,该计数器设置有阈值N1;
b、***从CPU起始地址映射到的芯片中的Boot程序启动;
c、当计数器计数到该阈值N1时,***逻辑将寄存器缺省值设置为“1”,并继续计数;
d、判断Boot程序是否正确执行,如果是,进入步骤e,如果否,进入步骤f;
e、将寄存器缺省值重新设置为“0”,并结束安全启动步骤;
f、启动看门狗电路,重新启动。
所述的***安全启动方法,还设置一个阈值N2,其中,N1<N2,所述的步骤f中,还包括判断计数器计数是否超过N2的步骤,如果超过N2,启动看门狗电路。
由于采用了本发明的***安全启动方法,将Boot程序同时设置在Bootrom芯片和Flash芯片中,使得***安全可靠性高,应用广泛,同时由于逻辑器件只要支持上电设寄存器初值即可,对其它器件没有要求。另外,因为Boot程序的物理地址可以通过逻辑调整,可以方便的放置在Flash芯片的可用空间中。
附图说明
图1是现有技术中通信设备CPU***设计;
图2是本发明通信设备的CPU***;
图3是本发明***启动时的一个流程图;
图4是本发明***逻辑结构图。
具体实施方式
下面结合说明书附图来说明本发明的具体实施方式。
本发明中,将Boot程序同时保存于Bootrom芯片和Flash芯片中。通信设备正常时,逻辑芯片中的***逻辑把CPU的起始地址映射到Bootrom芯片,***从Bootrom芯片中的Boot程序开始启动。当Bootrom芯片损坏或其中的Boot程序因某种原因不能正常工作时,***自动复位,重新启动。此时***逻辑把CPU的起始地址映射到Flash芯片,***从Flash芯片中的Boot程序启动。实际上也可以以相反的方式设置,开始时将***默认的起始地址映射到Flash芯片,当其发生异常时,再调整到Bootrom芯片,道理是一样的。
如图2所示,是本发明中通信设备的CPU***结构图,其中,BTCS信号为Bootrom芯片的片选信号,和图1中该选片信号的意义相同,FCS信号是Flash芯片的片选信号。
当Bootrom芯片损坏或其中的Boot程序不能正常工作时,***从Flash芯片中的Boot程序启动。这时BTCS信号无效,FCS信号工作。FCS信号通过CS0信号和地址总线经过逻辑译码得到。此时通信设备的***启动地址0xFFF0,0100物理上映射到Flash芯片中。***启动后,Flash中的Boot程序将被拷贝到Bootrom芯片中。
当Boot程序执行完后,Flash芯片中的应用程序开始执行,此时FCS信号直接由CS2信号得到。
本发明的关键是除上电过程外,在其它的***复位过程中,***逻辑中和启动相关寄存器不复位。***逻辑中有一个寄存器boot,通过逻辑设计软件(如MAXPLUXII)设置,使boot上电后的缺省值为′0′。
其中,boot的意义做如下设置:
置′0′:***从Bootrom芯片中的Boot程序启动;
置′1′:Bootrom芯片损坏或其中Boot程序不能正常工作,***从Flash芯片中的Boot程序启动。
实际上,上述的设置方式完全可以按照相反的方式设置,比如:
置′1′:***从Bootrom芯片中的Boot程序启动;
置′0′:Bootrom芯片损坏或其中Boot程序不能正常工作,***从Flash芯片中的Boot程序启动。
这只是简单的***设置,在此不必详细描述。本实施例中,还是选择一般***人员通用的设置方式,即前面第一种设置方式,***设置“0”为从Bootrom芯片中的Boot程序启动。
如图4所示,可以看出,本发明在***启动时主要包括以下步骤:
a、***上电,***逻辑启动一计数器,该计数器设置有阈值N1;
当通信设备上电时,寄存器boot中的值为缺省值′0′,表示***应该从Bootrom芯片中的Boot程序启动。伴随***上电过程,***逻辑启动一个计数器count1,开始计数。count1的时钟为***时钟,在本发明中为MPC8245的输入时钟,33MHz。本发明通过该计数器设置一个阈值N1,用来控制***正常启动时间,这里将N1设置为0.1s。
b、***从CPU起始地址映射到的芯片中的Boot程序启动;
c、当计数器计数到该阈值0.1时,***逻辑将寄存器缺省值设置为“1”,并继续计数;
当count1计数到0.1s时,***逻辑置寄存器boot为′1′。
d、判断Boot程序是否正确执行,如果是,进入步骤e,如果否,进入步骤f;
如果通信设备正常,启动后BTCS信号有效,Boot程序执行。
e、将寄存器缺省值重新设置为“0”,并结束安全启动步骤;
Boot程序在***启动后0.1s~1.6s时间内将boot重新清为′0′,表示***顺利工作。Boot程序执行后,由CS2信号产生的FCS信号有效,Flash芯片中的应用程序执行,这是通信设备的正常启动过程。
f、启动看门狗电路,重新启动。
这里还设置一个阈值N2作为看门狗电路的启动时间,可以设置为N2=1.6s,
当***从Bootrom芯片中的Boot程序启动,而Bootrom芯片损坏或其中Boot程序不能正常工作,则到通信设备启动1.6s时,寄存器boot值为′1′。此时watchdog电路启动,***复位。由于boot的值在热复位过程中不改变,***重新复位后boot的值保持为′1′,因此***从Flash芯片中的Boot程序启动。***逻辑相关部分如图4。
本发明的技术方案,与现有技术相比较,有以下技术效果:
1、可靠性高。本发明在解决通信设备***安全启动的同时,没有引入新器件,也没有引入新的输入信号。所有关键器件都为普通通信***所具有。
2、应用广泛。在一般通用的CPU中都可以采用本发明。逻辑器件只要支持上电设寄存器初值即可,对其它器件没有要求。
3、设计灵活。Boot程序的物理地址可以通过逻辑调整,可以方便的放置在Flash芯片的可用空间中。通过软件更换,本发明也可以灵活恢复为一般通行***设计。
以上所述,仅为本发明较佳的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应该以权利要求书的保护范围为准。

Claims (10)

1、一种***安全启动的方法,其特征在于将Boot程序同时保存于Bootrom芯片和Flash芯片,逻辑芯片中的***逻辑把CPU的起始地址映射到上述芯片之一,***启动时从该芯片中的Boot程序进入,当该芯片发生故障时,***重新启动,***逻辑把CPU的起始地址重新映射到另外一个芯片,从该重新映射CPU起始地址的芯片中的Boot程序进入。
2、如权利要求1所述的***安全启动的方法,其特征在于逻辑芯片中的***逻辑把CPU的起始地址映射到Bootrom芯片,***启动时从Bootrom芯片中的Boot程序进入,当Bootrom芯片发生故障时,***逻辑把CPU的起始地址映射到Flash芯片,***启动时从Flash芯片中的Boot程序进入。
3、如权利要求2所述的***安全启动方法,其特征在于,还包括当Bootrom芯片发生故障时,***重新启动的步骤。
4、如权利要求3所述的***安全启动方法,其特征在于所述的Bootrom芯片故障,是指芯片本身的硬件故障或者芯片内加载的程序故障。
5、如权利要求4所述的***安全启动方法,其特征在于***重新启动后,将Flash芯片中的Boot程序拷贝到Bootrom芯片中。
6、如权利要求2、3、4或5所述的***安全启动方法,其特征在于还包括在***逻辑中设置一个寄存器,通过逻辑软件设置,将***启动时进入的Boot程序与所在的芯片建立起对应关系。
7、如权利要求6所述的***安全启动方法,其特征在于所述的逻辑软件设置,是将寄存器上电后的缺省值设置为“0”或“1”,以“0”或“1”为***标识,标识***从Bootrom芯片中的Boot程序启动还是从Flash芯片中的Boot程序启动。
8.如权利要求7所述的***安全启动方法,其特征在于所述的对应关系为“0”:***从Bootrom芯片中的Boot程序启动;“1”:***从Flash芯片中的Boot程序启动。
9、如权利要求8所述的***安全启动方法,其特征在于在***启动时包括以下步骤:
a、***上电,***逻辑启动一计数器,该计数器设置有阈值N1;
b、***从CPU起始地址映射到的芯片中的Boot程序启动;
c、当计数器计数到该阈值N1时,***逻辑将寄存器缺省值设置为“1”,并继续计数;
d、判断Boot程序是否正确执行,如果是,进入步骤e,如果否,进入步骤f;
e、将寄存器缺省值重新设置为“0”,并结束安全启动步骤;
f、启动看门狗电路,重新启动。
10、如权利要求9所述的***安全启动方法,其特征在于还设置一个阈值N2,其中,N1<N2,所述的步骤f中,还包括判断计数器计数是否超过N2的步骤,如果超过N2,启动看门狗电路。
CNB021488258A 2002-11-18 2002-11-18 一种***安全启动方法 Expired - Fee Related CN1295903C (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CNB021488258A CN1295903C (zh) 2002-11-18 2002-11-18 一种***安全启动方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CNB021488258A CN1295903C (zh) 2002-11-18 2002-11-18 一种***安全启动方法

Publications (2)

Publication Number Publication Date
CN1501621A CN1501621A (zh) 2004-06-02
CN1295903C true CN1295903C (zh) 2007-01-17

Family

ID=34233354

Family Applications (1)

Application Number Title Priority Date Filing Date
CNB021488258A Expired - Fee Related CN1295903C (zh) 2002-11-18 2002-11-18 一种***安全启动方法

Country Status (1)

Country Link
CN (1) CN1295903C (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN100511148C (zh) * 2007-11-12 2009-07-08 中兴通讯股份有限公司 一种cpu***的启动方法及***

Families Citing this family (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4769608B2 (ja) * 2006-03-22 2011-09-07 富士通株式会社 起動検証機能を有する情報処理装置
CN101178661B (zh) * 2007-12-14 2010-06-02 华为技术有限公司 Flash集成bootrom的实现方法和装置
CN101499909B (zh) * 2008-02-03 2011-05-11 中兴通讯股份有限公司 单板启动***和方法
CN101329632B (zh) * 2008-04-30 2014-02-19 中兴通讯股份有限公司 一种使用boot启动cpu的方法与装置
CN101894032A (zh) * 2010-06-30 2010-11-24 中兴通讯股份有限公司 启动基站的软件***的方法以及基站和基站中的主控单板
CN103092720B (zh) * 2011-10-31 2016-06-08 深圳市众鸿科技股份有限公司 用于车载终端的核心处理装置以及恢复方法
CN102402447A (zh) * 2011-12-20 2012-04-04 杭州华三通信技术有限公司 设备启动方法和设备
CN102567129A (zh) * 2011-12-30 2012-07-11 深圳市大富科技股份有限公司 一种看门狗的启动方法及装置
CN106325911A (zh) * 2015-07-02 2017-01-11 中兴通讯股份有限公司 一种实现bootrom升级的方法及装置
CN108701036A (zh) * 2016-02-23 2018-10-23 华为技术有限公司 一种启动Boot的方法、CPU及单板
CN106293747A (zh) 2016-08-12 2017-01-04 京东方科技集团股份有限公司 电子设备以及电子设备的驱动方法
CN108021392A (zh) * 2016-11-01 2018-05-11 中芯国际集成电路制造(上海)有限公司 处理器及其操作执行方法
CN112306782B (zh) * 2020-11-24 2022-04-26 中国人民解放军军事科学院国防科技创新研究院 面向调测试的操作***内核引导与加载硬件及方法
CN113377565B (zh) * 2021-06-10 2024-05-28 博流智能科技(南京)有限公司 Bootrom修正***及方法以及芯片

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1264085A (zh) * 1999-01-25 2000-08-23 戴尔美国公司 用于计算机***启动操作的***及方法
CN1321004A (zh) * 2000-04-25 2001-11-07 华为技术有限公司 交换机的主备倒换方法及其实现装置
US6425079B1 (en) * 1999-03-31 2002-07-23 Adaptec, Inc. Universal option ROM BIOS including multiple option BIOS images for multichip support and boot sequence for use therewith
CN1371052A (zh) * 2001-02-20 2002-09-25 技嘉科技股份有限公司 在一计算机***中的bios存储装置的自动安全回复方法

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1264085A (zh) * 1999-01-25 2000-08-23 戴尔美国公司 用于计算机***启动操作的***及方法
US6425079B1 (en) * 1999-03-31 2002-07-23 Adaptec, Inc. Universal option ROM BIOS including multiple option BIOS images for multichip support and boot sequence for use therewith
CN1321004A (zh) * 2000-04-25 2001-11-07 华为技术有限公司 交换机的主备倒换方法及其实现装置
CN1371052A (zh) * 2001-02-20 2002-09-25 技嘉科技股份有限公司 在一计算机***中的bios存储装置的自动安全回复方法

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN100511148C (zh) * 2007-11-12 2009-07-08 中兴通讯股份有限公司 一种cpu***的启动方法及***

Also Published As

Publication number Publication date
CN1501621A (zh) 2004-06-02

Similar Documents

Publication Publication Date Title
CN1295903C (zh) 一种***安全启动方法
CN1269033C (zh) 数据处理***中逻辑分区之断电和/或再启动的方法和仪器
CN100340982C (zh) 一种传输设备单板软件在线升级出错后的恢复方法
CN101056205A (zh) 一种基于atca架构服务器管理方法、***及其装置
CN101047561A (zh) 一种设备自动化升级的方法
CN100337197C (zh) 一种引导程序存储装置及其保障在线升级的方法
CN1808385A (zh) 一种嵌入式***的引导***
CN101042651A (zh) 一种软件升级方法及其***
CN101055533A (zh) 一种多线程处理器动态内存管理***及方法
CN1834909A (zh) 用于远程设备***软件的升级方法
CN1764117A (zh) 向以太网无源光网络中的光网络单元发送升级软件的方法
CN1889041A (zh) 一种软件升级及回退方法
CN1916861A (zh) 修改计算机的配置信息的方法
CN100340983C (zh) 对非易失可编程逻辑器件在线升级的方法及装置
CN1570863A (zh) 远程加载或升级程序的***及其方法
CN1491386A (zh) 在可修复的故障后使群集器***自动投入运行
CN1294488C (zh) 多处理器计算机***的开机切换方法
CN1317846C (zh) 实现内外网络物理隔离的方法及其装置
CN1245686C (zh) 嵌入式***中软件补丁的加载与同步的方法
CN1842025A (zh) 对象补救***及方法
CN103605559A (zh) 一种kvm虚拟化服务***及其数据通信方法
CN1074148C (zh) 具有检错处理功能的数据处理***
CN1946035A (zh) 一种网元数据配置管理的方法及网元
CN1722628A (zh) 通信***中设备的倒换方法及其***
CN101051274A (zh) 实现多cpu加载的***及方法

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
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20070117

Termination date: 20181118

CF01 Termination of patent right due to non-payment of annual fee