CN1501621A - 一种***安全启动方法 - Google Patents
一种***安全启动方法 Download PDFInfo
- Publication number
- CN1501621A CN1501621A CNA021488258A CN02148825A CN1501621A CN 1501621 A CN1501621 A CN 1501621A CN A021488258 A CNA021488258 A CN A021488258A CN 02148825 A CN02148825 A CN 02148825A CN 1501621 A CN1501621 A CN 1501621A
- 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.)
- Granted
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芯片中,其中,Bootrom芯片一般是E2PROM,存放设备的启动程序。随着通信网络的复杂,各种通信手段的应用,运营商要求通信设备提供高可靠性的服务。Boot程序的正常启动和执行,成为通信设备可靠工作的关键之一。
一般通信设备中,Bootrom芯片存放Boot程序,Flash芯片存放应用程序。为了降低成本,有时Boot程序和应用程序都存放于同一片Flash芯片内。当通信设备上网工作后,由于各种情况,Boot程序和应用程序都需要支持可升级。
通信设备中,Boot程序和应用程序的存储位置,都映射于不同的***物理地址。CPU用不同的片选信号(CS)控制对它们的访问。以Motorola的CPU MPC8245为例,对于Boot程序所在的Bootrom芯片,MPC8245通过CS0信号和地址总线经过逻辑译码给其分配物理地址;对于应用程序所在的Flash芯片,MPC8245直接通过CS2信号给其分配物理地址。通常,CPU都有启动地址,MPC8245的起始地址为0xFFF0,0100。
当Bootrom芯片中存放Boot程序,Flash芯片中存放应用程序时,通信设备的CPU***设计如图1。
图1中通信设备的CPU***包括CPU,MPC8245,Logic器件,Bootrom芯片和Flash芯片、看门狗(watchdog)电路。Logic器件可以是现场可编程门阵列(FPGA)、复杂可编程逻辑器件(CPLD)、可擦除可编程逻辑器件(EPLD)等各种的器件。BTCS信号是Bootrom芯片的片选信号,由CS0和地址总线经过地址译码得到。该看门狗电路用于***复位,当***出现故障不能正常启动时,该看门狗电路将***复位,完成重新启动。
现有技术的缺点:
1、Boot程序单一保存。Boot程序单独保存在Bootrom芯片或Flash芯片中,没有备份。当Bootrom芯片或Flash芯片发生损坏时,***无法启动。
2、不能提供Boot程序升级失败后的恢复。在升级Boot程序时,如果出现通信***掉电的情况,Boot程序升级失败,此时除非重新给Bootrom烧入程序,***不能重新启动。
发明内容
本专利的目的就是提供一种***安全启动的方法,以解决在***默认的Boot程序发生故障时,***正常启动的问题。
一种***安全启动的方法,其特征在于将Boot程序同时保存于Bootrom芯片和Flash芯片,逻辑芯片中的***逻辑把CPU的起始地址映射到上述芯片之一,***启动时从该芯片中的Boot程序进入,当该芯片发生故障时,***逻辑把CPU的起始地址重新映射到另外一个芯片,***启动时从该重新映射CPU起始地址的芯片中的Boot程序进入。
所述的***安全启动的方法,逻辑芯片中的***逻辑把CPU的起始地址映射到Bootrom芯片,***启动时从Bootrom芯片中的Boot程序进入,当Bootrom芯片发生故障时,***逻辑把CPU的起始地址映射到Flash芯片,***启动时从Flash芯片中的Boot程序进入。
所述的***安全启动方法,还包括当Bootrom芯片发生故障时,***重新启动的步骤。
所述的Bootrom芯片故障,是指芯片本身的硬件故障或者芯片内加载的程序故障。
所述的***安全启动方法,***重新启动后,将Flash芯片中的Boot程序拷贝到Bootrom芯片中。
所述的***安全启动方法,还包括在***逻辑中设置一个寄存器,通过逻辑软件设置,将***启动时进入的Boot程序与所在的芯片建立起对应关系。
所述的逻辑软件设置,是将寄存器上电后的缺省值设置为“0”或“1”,以“0”或“1”为***标识,标识***从Bootrom芯片中的Boot程序启动还是从Flash芯片中的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 true CN1501621A (zh) | 2004-06-02 |
CN1295903C 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 (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN100454322C (zh) * | 2006-03-22 | 2009-01-21 | 富士通株式会社 | 具有启动验证功能的信息处理装置 |
CN101178661B (zh) * | 2007-12-14 | 2010-06-02 | 华为技术有限公司 | Flash集成bootrom的实现方法和装置 |
CN101894032A (zh) * | 2010-06-30 | 2010-11-24 | 中兴通讯股份有限公司 | 启动基站的软件***的方法以及基站和基站中的主控单板 |
CN101499909B (zh) * | 2008-02-03 | 2011-05-11 | 中兴通讯股份有限公司 | 单板启动***和方法 |
CN102402447A (zh) * | 2011-12-20 | 2012-04-04 | 杭州华三通信技术有限公司 | 设备启动方法和设备 |
CN102567129A (zh) * | 2011-12-30 | 2012-07-11 | 深圳市大富科技股份有限公司 | 一种看门狗的启动方法及装置 |
CN103092720A (zh) * | 2011-10-31 | 2013-05-08 | 深圳市众鸿科技股份有限公司 | 用于车载终端的核心处理装置以及恢复方法 |
CN101329632B (zh) * | 2008-04-30 | 2014-02-19 | 中兴通讯股份有限公司 | 一种使用boot启动cpu的方法与装置 |
CN106293747A (zh) * | 2016-08-12 | 2017-01-04 | 京东方科技集团股份有限公司 | 电子设备以及电子设备的驱动方法 |
WO2017000567A1 (zh) * | 2015-07-02 | 2017-01-05 | 中兴通讯股份有限公司 | 一种实现bootrom升级的方法及装置 |
CN108021392A (zh) * | 2016-11-01 | 2018-05-11 | 中芯国际集成电路制造(上海)有限公司 | 处理器及其操作执行方法 |
CN108701036A (zh) * | 2016-02-23 | 2018-10-23 | 华为技术有限公司 | 一种启动Boot的方法、CPU及单板 |
CN112306782A (zh) * | 2020-11-24 | 2021-02-02 | 中国人民解放军军事科学院国防科技创新研究院 | 面向调测试的操作***内核引导与加载硬件架构及方法 |
CN113377565A (zh) * | 2021-06-10 | 2021-09-10 | 博流智能科技(南京)有限公司 | Bootrom修正***及方法以及芯片 |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN100511148C (zh) * | 2007-11-12 | 2009-07-08 | 中兴通讯股份有限公司 | 一种cpu***的启动方法及*** |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6347371B1 (en) * | 1999-01-25 | 2002-02-12 | Dell Usa, L.P. | System and method for initiating operation of a computer system |
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 |
CN1109416C (zh) * | 2000-04-25 | 2003-05-21 | 华为技术有限公司 | 交换机的主备倒换方法及其实现装置 |
CN1180346C (zh) * | 2001-02-20 | 2004-12-15 | 技嘉科技股份有限公司 | 在一计算机***中的bios存储装置的自动安全恢复方法 |
-
2002
- 2002-11-18 CN CNB021488258A patent/CN1295903C/zh not_active Expired - Fee Related
Cited By (18)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN100454322C (zh) * | 2006-03-22 | 2009-01-21 | 富士通株式会社 | 具有启动验证功能的信息处理装置 |
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 | 深圳市众鸿科技股份有限公司 | 用于车载终端的核心处理装置以及恢复方法 |
CN103092720A (zh) * | 2011-10-31 | 2013-05-08 | 深圳市众鸿科技股份有限公司 | 用于车载终端的核心处理装置以及恢复方法 |
CN102402447A (zh) * | 2011-12-20 | 2012-04-04 | 杭州华三通信技术有限公司 | 设备启动方法和设备 |
CN102567129A (zh) * | 2011-12-30 | 2012-07-11 | 深圳市大富科技股份有限公司 | 一种看门狗的启动方法及装置 |
WO2017000567A1 (zh) * | 2015-07-02 | 2017-01-05 | 中兴通讯股份有限公司 | 一种实现bootrom升级的方法及装置 |
CN108701036A (zh) * | 2016-02-23 | 2018-10-23 | 华为技术有限公司 | 一种启动Boot的方法、CPU及单板 |
CN106293747A (zh) * | 2016-08-12 | 2017-01-04 | 京东方科技集团股份有限公司 | 电子设备以及电子设备的驱动方法 |
US10453422B2 (en) | 2016-08-12 | 2019-10-22 | Boe Technology Group Co., Ltd. | Electronic apparatus and driving method thereof |
CN108021392A (zh) * | 2016-11-01 | 2018-05-11 | 中芯国际集成电路制造(上海)有限公司 | 处理器及其操作执行方法 |
CN112306782A (zh) * | 2020-11-24 | 2021-02-02 | 中国人民解放军军事科学院国防科技创新研究院 | 面向调测试的操作***内核引导与加载硬件架构及方法 |
CN112306782B (zh) * | 2020-11-24 | 2022-04-26 | 中国人民解放军军事科学院国防科技创新研究院 | 面向调测试的操作***内核引导与加载硬件及方法 |
CN113377565A (zh) * | 2021-06-10 | 2021-09-10 | 博流智能科技(南京)有限公司 | Bootrom修正***及方法以及芯片 |
CN113377565B (zh) * | 2021-06-10 | 2024-05-28 | 博流智能科技(南京)有限公司 | Bootrom修正***及方法以及芯片 |
Also Published As
Publication number | Publication date |
---|---|
CN1295903C (zh) | 2007-01-17 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN1295903C (zh) | 一种***安全启动方法 | |
CN1269033C (zh) | 数据处理***中逻辑分区之断电和/或再启动的方法和仪器 | |
CN100340982C (zh) | 一种传输设备单板软件在线升级出错后的恢复方法 | |
CN101030140A (zh) | 一种对固件程序进行在线升级的装置及其方法 | |
CN101047561A (zh) | 一种设备自动化升级的方法 | |
CN1889041A (zh) | 一种软件升级及回退方法 | |
CN1808385A (zh) | 一种嵌入式***的引导*** | |
CN1701390A (zh) | 跟踪非易失性存储器***中最频繁擦除区块 | |
CN1834909A (zh) | 用于远程设备***软件的升级方法 | |
CN100340983C (zh) | 对非易失可编程逻辑器件在线升级的方法及装置 | |
CN1812332A (zh) | 保证交换机各个单板软件版本一致的方法 | |
CN101056205A (zh) | 一种基于atca架构服务器管理方法、***及其装置 | |
CN1490817A (zh) | 一种引导程序存储装置及其保障在线升级的方法 | |
CN1637737A (zh) | 具有配置初始化功能的内电路配置结构 | |
CN1811725A (zh) | 一种快速存储装置及快速更新数据的方法 | |
CN101482823A (zh) | 一种单板应用版本的实现方法及*** | |
CN102331958A (zh) | Linux***下硬盘启动的方法 | |
CN1976517A (zh) | 移动终端及其备份数据信息的方法 | |
CN1570863A (zh) | 远程加载或升级程序的***及其方法 | |
CN1645354A (zh) | 用于嵌入式可配置逻辑数组的内电路配置结构 | |
CN1092358C (zh) | 带有检测点功能的计算机*** | |
CN1845074A (zh) | 一种网元设备运行方法及网元设备 | |
CN1637736A (zh) | 具有非挥发性配置储存装置的内电路配置结构 | |
CN1245686C (zh) | 嵌入式***中软件补丁的加载与同步的方法 | |
CN1635472A (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 | ||
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 |