CN101499909B - 单板启动系统和方法 - Google Patents
单板启动系统和方法 Download PDFInfo
- Publication number
- CN101499909B CN101499909B CN2008100061372A CN200810006137A CN101499909B CN 101499909 B CN101499909 B CN 101499909B CN 2008100061372 A CN2008100061372 A CN 2008100061372A CN 200810006137 A CN200810006137 A CN 200810006137A CN 101499909 B CN101499909 B CN 101499909B
- Authority
- CN
- China
- Prior art keywords
- cpu
- chip guide
- startup
- chip
- starts
- 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.)
- Active
Links
Images
Landscapes
- Stored Programmes (AREA)
Abstract
本发明提供一种单板启动系统,包括:第一启动引导芯片,通过芯片插座连接到单板上,用于启动CPU;第二启动引导芯片,位于程序存储器,保存有第一启动引导芯片的版本信息,并通过版本信息来启动CPU;以及切换控制模块,用于在作为主启动引导芯片的第一启动引导芯片或第二启动引导芯片启动CPU失败的情况下,将第一启动引导芯片和第二启动引导芯中的另一个作为从启动引导芯片来启动CPU。此外,本发明还公开了一种单板启动方法。通过使用本发明,能够在CPU正常运行以后灵活地对主、从BOOT进行版本升级维护,降低了版本升级风险,提高系统启动可靠性;并且,本发明实现简单,无需增加额外器件,从而降低了系统的成本。
Description
技术领域
本发明涉及通信领域,并且特别地,涉及一种单板启动系统和方法。
背景技术
目前,大多数系统单板上都有CPU小系统。通常,CPU小系统包括CPU处理器、RAM(内存)、启动引导芯片(BOOT)、程序存储器(FLASH)、可擦除编程逻辑器件(EPLD)等器件,其中CPU是单板运行的大脑,BOOT负责引导CPU系统启动,FLASH中存放CPU运行的软件版本,EPLD则充当地址译码、片选分配、以及配合实现看门狗等功能,通常系统单板CPU小系统结构如图1所示。单板上电时,片选CS0生效,CPU在BOOT引导下开始启动,起动成功后片选CS1生效,从FLASH中读出CPU要运行的软件版本,系统开始正常运行,完成各种功能。
通常,单板上有一个BOOT插座,BOOT芯片烧好版本后再手动插到BOOT插座上,多次插拔会导致插座接触不良,另外BOOT版本在线升级一旦失败,也会导致系统无法正常启动,这些都大大降低了系统可靠性,由此引入了双BOOT方案。
目前,主要采用的双BOOT方案主要有两种:一种是在单板上放两个BOOT插座,即,采用两个BOOT芯片,由EPLD来实现BOOT芯片切换,该方案的缺点是会增加额外的硬件和成本;另外一种是不放置BOOT插座,而时通过将FLASH划分多个BOOT空间来实现,该方案的缺点是在版本初次烧入时需要增加烧结插座,因此烧结时很不方便,并需要开发接口系统,因此实现复杂,并且成本很高。
然而,至今尚未提出能够有效降低BOOT备份成本同时实现简单的技术方案。
发明内容
考虑到上述问题而做出本发明,本发明的主要目的在于提供一种单板启动机制,以解决相关技术中引导芯片备份成本高、实现复杂的问题。
根据本发明的实施例,提供了一种单板启动系统,其中,单板包括CPU和程序存储器。
该系统包括:第一启动引导芯片,通过芯片插座连接到单板上,用于启动CPU;第二启动引导芯片,位于程序存储器,保存有用于启动所述CPU的版本信息;以及切换控制模块,用于在作为主启动引导芯片的第一启动引导芯片或第二启动引导芯片启动CPU失败的情况下,将第一启动引导芯片和第二启动引导芯中的另一个作为从启动引导芯片来启动CPU。
其中,该系统可以进一步包括:切换控制寄存器,其当前标识为对应于主启动引导芯片的第一标识或对应于从启动引导芯片的第二标识,CPU每次上电时,切换控制寄存器将其当前标识设置为第一标识,在主启动引导芯片启动CPU失败的情况下,切换控制寄存器将其当前标识设置为第二标识。
此外,该系统还可以进一步包括:看门狗模块,用于在主启动引导芯片无法启动CPU的情况下复位CPU。
并且,该系统可以进一步包括:切换计时器,用于在主启动引导芯片或从启动引导芯片开始启动CPU时进行计时,在切换计时器超时而CPU未被启动的情况下,判断本次启动失败并且切换计时器清零。
根据本发明的另一实施例,提供了一种单板启动方法,该单板包括CPU和程序存储器。
该方法包括:在CPU上电时,作为主启动引导芯片的第一启动引导芯片或第二启动引导芯片启动CPU;在主启动引导芯片启动CPU失败的情况下,将第一启动引导芯片和第二启动引导芯中的另一个作为从启动引导芯片来启动CPU;其中,第一启动引导芯片通过芯片插座连接到单板上;第二启动引导芯片位于程序存储器,保存有用于启动所述CPU的版本信息。
其中,单板进一步包括切换控制寄存器,其中,切换控制寄存器的当前标识为对应于主启动引导芯片的第一标识或对应于从启动引导芯片的第二标识,方法进一步包括:在CPU每次上电时,切换控制寄存器将存储的当前标识设置为第一标识,在主启动引导芯片启动CPU失败的情况下,切换控制寄存器将其当前标识设置为第二标识。
并且,在主启动引导芯片启动CPU失败的情况下,对CPU进行复位,之后由从启动引导芯片启动CPU。
此外,该方法可进一步包括:设置切换计时器,在主启动引导芯片或从启动引导芯片开始启动CPU时启动切换计时器;在切换计时器超时而CPU未被启动的情况下判断启动失败,并将切换计时器清零。
通过本发明的上述技术方案,可以在CPU正常运行以后灵活地对主、从BOOT进行版本升级维护,降低了版本升级风险,提高系统启动可靠性;并且,本发明实现简单,无需增加额外器件,从而降低了系统的成本。
附图说明
此处所说明的附图用来提供对本发明的进一步理解,构成本申请的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:
图1是根据相关技术的单板小系统的框图。
图2根据本发明系统实施例的单板启动系统的框图;
图3是采用了根据本发明系统实施例的单板启动系统后的单板小系统的框图;
图4是根据本发明系统实施例的单板启动系统在TD-CDMAR08系统中具体应用实例的框图;
图5是在TD-CDMA R08中应用根据本发明系统实施例的单板启动系统后主从双BOOT系统启动的流程图;
图6是根据本发明方法实施例的单板启动方法的流程图;以及
图7是根据本发明方法实施例的单板启动方法的具体应用实例的流程图。
具体实施方式
下面参考附图,详细说明本发明的具体实施方式。
系统实施例
在本实施例中,提供了一种单板启动系统,所述单板包括CPU和程序存储器。
如图2所示,根据本实施例的单板启动系统包括:第一BOOT202,通过芯片插座连接到单板上,用于启动CPU;第二BOOT 204,位于程序存储器,保存有用于启动所述CPU的版本信息;以及切换控制模块206,用于在作为主BOOT的第一BOOT 202或第二BOOT204启动CPU失败的情况下,将第一BOOT 202和第二启动引导芯204中的另一个作为从BOOT来启动CPU。
应当注意,程序存储器中不仅保存有第二BOOT 204的版本信息,还保存有系统运行所需的多种代码和程序。并且,第一BOOT202也保存有其本身的版本信息,用于启动CPU,两个BOOT的版本信息可以是相同的,也可以是不同的,但是都用于启动CPU。
其中,该系统可以进一步包括:切换控制寄存器,其当前标识为对应于主BOOT的第一标识或对应于从BOOT的第二标识,CPU每次上电时,切换控制寄存器将其当前标识设置为第一标识,在主BOOT启动CPU失败的情况下,切换控制寄存器将其当前标识设置为第二标识。
此外,该系统还可以进一步包括:看门狗模块,用于在主BOOT无法启动CPU的情况下复位CPU。
并且,该系统可以进一步包括:切换计时器,用于在主BOOT或从BOOT开始启动CPU时进行计时,在切换计时器超时而CPU未被启动的情况下,判断本次启动失败并且切换计时器清零。
图3是采用了图2所示的单板启动系统后的单板小系统的框图。
下面将结合具体实例描述本发明。
图4示出了TD-SCDMA R08系统的小系统电路。如图4所示,整个小系统包括:MPC852CPU,为FREESCALE 86系列产品;看门狗芯片MAX706,包括手动复位信号(MR)、上电复位信号(PowReset)、看门狗输出信号(WDO)、看门狗输入信号(WDI);EPLD,主要用于完成地址译码、片选分配以及配合实现看门狗,另外切换控制模块也在EPLD中实现,并且,EPLD的一个引脚上拉42k电阻,下拉1uf电容,构成一个RC上电复位信号,用作切换模块的复位信号。
其中,512KB BOOT芯片,在R08上作为主BOOT,其以BOOT插座的形式放置在单板上;而16MB FLASH,存放单板要运行的所有版本,包括CPU版本和FPGA版本,FLASH的最后第二个512KB空间作为从BOOT,以固定存放从BOOT版本;而32MB SDRAM则用于MPC852的运行内存空间。
图5示出了在图4所示的小系统中实现主从双BOOT启动的处理流程图。其步骤如下:
步骤(1),CPU初始上电;
步骤(2),EPLD切换控制模块由RC电路复位,启动成功标志寄存器BOOT_OK置零,切换控制寄存器切换寄存器(BOOT_SW)置为零(即,第一标识,对应于主BOOT);
步骤(3),CPU上电复位,同时复位其它外设;
步骤(4),判断BOOT_SW是否为零,如果为零则切换到步骤四,否则切换到步骤(6);
步骤(5),BOOT_SW为零,CPU从主BOOT引导,BOOT片选M.BOOT_CS选择CPU片选CS0,FLASH片选S.BOOT_CS选择CPU片选CS1,并执行步骤(7);
步骤(6),BOOT_SW为1,CPU从从BOOT引导,BOOT片选M.BOOT_CS置1(即,第二标识,对应于从BOOT),无效。FLASH片选S.BOOT_CS选择CPU片选CS0和CS1相与,即,CS0和CS1均可以访问FLASH,并执行步骤(7);
步骤(7),EPLD切换计时器打开,30S开始计时,并执行步骤(8);
步骤(8),如果CPU在30S启动成功,切换到步骤(9),否则跳转到步骤(12);
步骤(9),启动成功,CPU向EPLD切换控制模块写入启动成功标志,即BOOT_OK寄存器置1,同时关闭计时器,并执行步骤(10);
步骤(10),切换控制模块复位,BOOT_SW置零,BOOT片选M.BOOT_CS选择CPU片选CS0,FLASH片选S.BOOT_CS选择CPU片选CS1,并执行步骤(11);
步骤(11),系统正常运行;
步骤(12),超过30S,切换控制模块通过看门狗复位CPU,同时将BOOT_SW置1,跳转到步骤(3)。
方法实施例
在本实施例中,提供了一种单板启动方法,该单板包括CPU和程序存储器。
如图6所示,根据本发明实施例的单板启动方法包括:步骤S602,在CPU上电时,作为主BOOT的第一BOOT或第二BOOT启动CPU;步骤S604,在主BOOT启动CPU失败的情况下,将第一BOOT和第二启动引导芯中的另一个作为从BOOT来启动CPU;其中,第一BOOT通过芯片插座连接到单板上;第二BOOT位于程序存储器,保存有用于启动所述CPU的版本信息。
其中,单板进一步包括切换控制寄存器,其中,切换控制寄存器的当前标识为对应于主BOOT的第一标识或对应于从BOOT的第二标识,方法进一步包括:在CPU每次上电时,切换控制寄存器将存储的当前标识设置为第一标识,在主BOOT启动CPU失败的情况下,切换控制寄存器将其当前标识设置为第二标识。
并且,在主BOOT启动CPU失败的情况下,对CPU进行复位,之后由从BOOT启动CPU。
此外,该方法可进一步包括:设置切换计时器,在主BOOT或从BOOT开始启动CPU时启动切换计时器;在切换计时器超时而CPU未被启动的情况下判断启动失败,并将切换计时器清零。
图7是根据本实施例的单板启动系统在实际应用中的处理流程图。具体包括以下处理:
步骤(1),CPU初始上电;
步骤(2),切换控制模块复位,BOOT_SW寄存器置零;
步骤(3),CPU上电复位,同时复位其它外设;
步骤(4),判断BOOT_SW是否为零,如果为零则切换到步骤(5),否则切换到步骤(6);
步骤(5),BOOT_SW为零,由主BOOT引导启动CPU,BOOT片选M.BOOT_CS选择CPU片选CS0,FLASH片选S.BOOT_CS选择CPU片选CS1;
步骤(6),BOOT_SW为1,由从BOOT引导启动CPU,BOOT片选M.BOOT_CS置1,无效。FLASH片选S.BOOT_CS选择CPU片选CS0和CS1相与,即,CS0和CS1均可以访问FLASH;
步骤(7),切换计时器打开,开始计时,计时时间为大于CPU正常启动的某个值;
步骤(8),判断在设定时间内,CPU是否启动成功,如果启动成功切换到步骤(9),否则切换到步骤(10);
步骤(9),CPU启动成功,向切换控制模块写入启动成功标志,关闭计时器;
步骤(10),切换控制模块复位,BOOT_SW置零;
步骤(11),系统正常运行;
步骤(12),切换控制模块复位CPU,同时将BOOT_SW置1,切换到步骤(3)。
并且,本发明具有很强的灵活性,即,上述主、从BOOT可以灵活变更,例如,设计者可以根据需要通过修改来将上述主BOOT芯片变成从BOOT,从BOOT也可以变成主BOOT。另外,上述主、从BOOT芯片可以是各种类型的FLASH芯片,或者FLASH芯片的部分空间。
综上所述,本发明以BOOT芯片、以及在存放程序版本的FLASH中划分出一段空间存放BOOT版本,作为系统的主、从BOOT,在主BOOT无法正常启动的情况下,切换控制模块切换片选、复位CPU,由从BOOT来引导CPU启动。
借助于本发明的技术方案,可以在CPU正常运行以后灵活地对主、从BOOT进行版本升级维护,降低了版本升级风险,提高系统启动可靠性;并且,本发明实现简单,无需增加额外器件,从而降低了系统的成本。
以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (6)
1.一种单板启动系统,其中,所述单板包括CPU和程序存储器,其特征在于,所述系统包括:
第一启动引导芯片,通过芯片插座连接到所述单板上,用于启动所述CPU;
第二启动引导芯片,位于所述程序存储器,保存有用于启动所述CPU的版本信息;
切换控制模块,用于在作为主启动引导芯片的所述第一启动引导芯片或所述第二启动引导芯片启动所述CPU失败的情况下,将所述第一启动引导芯片和所述第二启动引导芯中的另一个作为从启动引导芯片来启动所述CPU;
切换计时器,用于在所述主启动引导芯片或所述从启动引导芯片开始启动所述CPU时进行计时,在所述切换计时器超时而所述CPU未被启动的情况下,判断本次启动失败并且所述切换计时器清零。
2.根据权利要求1所述的系统,其特征在于,所述系统进一步包括:
切换控制寄存器,其当前标识为对应于所述主启动引导芯片的第一标识或对应于所述从启动引导芯片的第二标识,所述CPU每次上电时,所述切换控制寄存器将其当前标识设置为所述第一标识,在所述主启动引导芯片启动所述CPU失败的情况下,所述切换控制寄存器将其当前标识设置为所述第二标识。
3.根据权利要求1所述的系统,其特征在于,进一步包括:
看门狗模块,用于在所述主启动引导芯片无法启动所述CPU的情况下复位所述CPU。
4.一种单板启动方法,所述单板包括CPU和程序存储器,其特征在于,所述方法包括:
在所述CPU上电时,作为主启动引导芯片的第一启动引导芯片或第二启动引导芯片启动所述CPU,其中,所述第一启动引导芯片通过芯片插座连接到单板上;所述第二启动引导芯片位于所述程序存储器,保存有用于启动所述CPU的版本信息;
在所述主启动引导芯片启动所述CPU失败的情况下,将所述第一启动引导芯片和所述第二启动引导芯中的另一个作为从启动引导芯片来启动所述CPU,其中,设置切换计时器,在所述主启动引导芯片或所述从启动引导芯片开始启动所述CPU时启动所述切换计时器;在所述切换计时器超时而所述CPU未被启动的情况下判断启动失败,并将所述切换计时器清零。
5.根据权利要求5所述的方法,其特征在于,所述单板进一步包括切换控制寄存器,其中,所述切换控制寄存器的当前标识为对应于所述主启动引导芯片的第一标识或对应于所述从启动引导芯片的第二标识,所述方法进一步包括:
在所述CPU每次上电时,所述切换控制寄存器将存储的当前标识设置为所述第一标识,在所述主启动引导芯片启动所述CPU失败的情况下,所述切换控制寄存器将其当前标识设置为所述第二标识。
6.根据权利要求5所述的方法,其特征在于,在所述主启动引导芯片启动所述CPU失败的情况下,对所述CPU进行复位,之后由所述从启动引导芯片启动所述CPU。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2008100061372A CN101499909B (zh) | 2008-02-03 | 2008-02-03 | 单板启动系统和方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2008100061372A CN101499909B (zh) | 2008-02-03 | 2008-02-03 | 单板启动系统和方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101499909A CN101499909A (zh) | 2009-08-05 |
CN101499909B true CN101499909B (zh) | 2011-05-11 |
Family
ID=40946801
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2008100061372A Active CN101499909B (zh) | 2008-02-03 | 2008-02-03 | 单板启动系统和方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN101499909B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107704258A (zh) * | 2017-10-27 | 2018-02-16 | 深圳市恒扬数据股份有限公司 | Uboot升级方法、系统及终端设备 |
Families Citing this family (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102214113B (zh) * | 2011-06-08 | 2015-02-04 | Tcl集团股份有限公司 | 一种操作系统升级方法、装置及终端 |
CN102736941A (zh) * | 2012-07-03 | 2012-10-17 | 江西省电力公司信息通信分公司 | 一种实现自动双flash启动cpu系统的方法 |
CN104461659B (zh) * | 2014-12-30 | 2017-11-03 | 浙江宇视科技有限公司 | 一种高可靠性的计算机启动方法 |
CN105589713A (zh) * | 2015-09-22 | 2016-05-18 | 杭州华三通信技术有限公司 | 电子设备和用于电子设备的启动方法 |
US10127095B2 (en) * | 2015-11-04 | 2018-11-13 | Quanta Computer Inc. | Seamless automatic recovery of a switch device |
CN108089939A (zh) * | 2018-01-12 | 2018-05-29 | 郑州云海信息技术有限公司 | 一种实现双镜像冗余方法、系统、设备及可读存储设备 |
CN109783148A (zh) * | 2019-01-15 | 2019-05-21 | 湖南泽天智航电子技术有限公司 | 一种U-Boot启动双备份系统 |
CN110597671A (zh) * | 2019-08-23 | 2019-12-20 | 深圳震有科技股份有限公司 | 一种设置独立boot区的flash芯片及系统和方法 |
CN112084064B (zh) * | 2020-08-05 | 2023-03-31 | 锐捷网络股份有限公司 | 主从bios切换方法、板卡及设备 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1425963A (zh) * | 2001-12-11 | 2003-06-25 | 深圳市中兴通讯股份有限公司上海第二研究所 | 嵌入式系统软件加载装置及方法 |
CN1501621A (zh) * | 2002-11-18 | 2004-06-02 | 华为技术有限公司 | 一种系统安全启动方法 |
CN1749963A (zh) * | 2004-09-14 | 2006-03-22 | 华为技术有限公司 | 一种Boot软件升级方法和一种Boot软件恢复方法 |
-
2008
- 2008-02-03 CN CN2008100061372A patent/CN101499909B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1425963A (zh) * | 2001-12-11 | 2003-06-25 | 深圳市中兴通讯股份有限公司上海第二研究所 | 嵌入式系统软件加载装置及方法 |
CN1501621A (zh) * | 2002-11-18 | 2004-06-02 | 华为技术有限公司 | 一种系统安全启动方法 |
CN1749963A (zh) * | 2004-09-14 | 2006-03-22 | 华为技术有限公司 | 一种Boot软件升级方法和一种Boot软件恢复方法 |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107704258A (zh) * | 2017-10-27 | 2018-02-16 | 深圳市恒扬数据股份有限公司 | Uboot升级方法、系统及终端设备 |
Also Published As
Publication number | Publication date |
---|---|
CN101499909A (zh) | 2009-08-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101499909B (zh) | 单板启动系统和方法 | |
CN101329632B (zh) | 一种使用boot启动cpu的方法与装置 | |
CN102200916B (zh) | 电子设备、可配置的部件及该部件的配置信息存储方法 | |
CN101287187A (zh) | 智能手机及其操作系统运行方法 | |
CN100511148C (zh) | 一种cpu系统的启动方法及系统 | |
CN101876962A (zh) | 一种实现主从板热插拔控制的方法及装置 | |
CN101373433A (zh) | 更新bios的方法以及使用该方法的电脑与系统 | |
CN102831173A (zh) | 基于Android系统的内存扩展方法、装置及终端设备 | |
CN101615128B (zh) | 一种单片机在线升级的方法及装置 | |
CN101882097A (zh) | 一种主控板、嵌入式系统及嵌入式系统的备份方法 | |
CN103425592A (zh) | 一种多进程系统中的内存管理方法及装置 | |
CN105049935A (zh) | 一种模块化电视的屏端程序管理方法及系统 | |
CN103077060A (zh) | 主备用bios的切换方法及装置、系统 | |
CN102693144A (zh) | 一种Android移动终端的电容屏固件升级的方法 | |
CN105874428A (zh) | 用于多个操作系统环境中的操作系统转变的技术 | |
CN102486733A (zh) | 引导程序的升级方法和装置 | |
CN101872306B (zh) | 一种实现软件更新和软件备份的嵌入式系统及其实现方法 | |
CN102075710B (zh) | 一种电视机的启动运行方法及电视机 | |
CN102508676A (zh) | 嵌入式系统启动方法及装置 | |
CN109344004A (zh) | 一种内存数据库备份管理方法、装置、终端及存储介质 | |
CN106126277A (zh) | 多个微处理器及外存储器系统的升级方法 | |
CN101369257B (zh) | 一种启动数据处理模块的方法、装置及系统 | |
CN104158709A (zh) | 一种光模块识别的方法及端口扩展设备 | |
CN102841634A (zh) | 服务器主板 | |
KR100605031B1 (ko) | Usb 메모리 장치를 이용한 임베디드 시스템의 장애복구 및 업그레이드 방법 |
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 |