CN1295903C - 一种***安全启动方法 - Google Patents
一种***安全启动方法 Download PDFInfo
- 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
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,启动看门狗电路。
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)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN100511148C (zh) * | 2007-11-12 | 2009-07-08 | 中兴通讯股份有限公司 | 一种cpu***的启动方法及*** |
Families Citing this family (14)
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)
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存储装置的自动安全回复方法 |
-
2002
- 2002-11-18 CN CNB021488258A patent/CN1295903C/zh not_active Expired - Fee Related
Patent Citations (4)
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)
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 |