CN101546281A - 提高嵌入式***可靠性的方法和装置 - Google Patents
提高嵌入式***可靠性的方法和装置 Download PDFInfo
- Publication number
- CN101546281A CN101546281A CN200810084196A CN200810084196A CN101546281A CN 101546281 A CN101546281 A CN 101546281A CN 200810084196 A CN200810084196 A CN 200810084196A CN 200810084196 A CN200810084196 A CN 200810084196A CN 101546281 A CN101546281 A CN 101546281A
- Authority
- CN
- China
- Prior art keywords
- applications
- upper layer
- layer software
- software
- embedded system
- 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.)
- Pending
Links
Images
Landscapes
- Stored Programmes (AREA)
Abstract
本发明实施例公开了一种提高嵌入式***可靠性的方法和装置,涉及通信领域,为解决现有技术中嵌入式***的复位后启动时间长的问题而设计。本发明实施例提高嵌入式***可靠性的方法,包括:嵌入式***加载上层软件后,备份内存中上层软件的启动初始值;当检测到复位信号,内存进行自刷新;所述嵌入式***复位重启;执行底层软件;恢复上层软件的启动初始值;执行上层软件。采用本发明可以大大缩短复位启动时间。
Description
技术领域
本发明涉及通信领域,特别涉及提高嵌入式***可靠性的方法和装置。
背景技术
随着微电子和软硬件技术的迅猛发展,以微处理器技术为基础的嵌入式***在通信、控制、交通、医疗、消费等领域都得到了广泛的应用。在通信领域,嵌入式***的可靠性是一个重要的指标,它通常用MTBF(Mean Time BetweenFailure平均故障间隔时间)和MTTR(Mean Time To Repair平均维修时间)来表征。MTBF是平均故障间隔时间,表示相邻两次故障的间隔时间;MTTR是平均维修时间,表示设备修复所需的时间。一个设备的可靠性可以通过MTBF和MTTR计算出来,即:
可靠性=MTBF/(MTBF+MTTR)
为了提高可靠性,可以通过提高MTBF、降低MTTR来实现。缩短设备的启动时间是降低MTTR的措施之一。
设备启动包括两个过程:1、执行底层软件,完成对硬件芯片的初始化;2、将闪存、硬盘或后台的服务器存储的上层软件加载到内存中,完成各种业务处理功能。所以设备的启动时间包括:执行底层软件的时间和加载上层软件的时间。
将闪存、硬盘或后台的服务器存储的上层软件加载到内存的过程包括:首先,将存储在闪存、硬盘或后台的服务器中的上层软件加载到预先指定的内存地址;如果文件为压缩文件,接着应该进行解压缩操作;然后,跳转到预先指定的内存地址执行上层软件。上层软件文件大小通常都在数十兆字节以上,所以将存储在闪存、硬盘或后台的服务器中的上层软件加载到预先指定的内存地址所需时间会很长。如果该上层软件为压缩文件,还需要解压缩该软件。这样导致设备的启动时间长,平均维修时间也长,设备可靠性差。
以上所提到的底层软件类似于计算机的BIOS(Basic Input OutputSystem,基本输入输出***),在单板上电或复位后就开始执行,负责完成CPU、桥片等器件的初始化、设备驱动,与具体业务无关,并且为上层软件提供各种子程序和调用接口,底层软件运行完成后CPU(Central Processing Unit,中央处理单元)跳转到上层软件,开始执行与业务相关的各种功能。所述的上层软件也称为业务软件,类似于计算机的应用程序。当底层软件执行完毕后一般会启动操作***并开始执行上层软件,实现与各种具体业务相关的功能,例如呼叫处理、信令处理、计费等功能。上层软件不涉及到底层硬件的细节,只关心各种协议如何实现,而且不同的上层软件可以共用同一个底层软件。
在实现本发明过程中,发明人发现现有技术中至少存在如下问题:每当设备进行复位启动时,都要将存储在闪存、硬盘或后台的服务器的上层软件重新加载。由于上层软件通常都比较大,而且是压缩文件,所以加载及解压缩该软件需要时间较长,这样就使得每次复位启动时间很长,进而导致设备的MTTR很长,影响设备的可靠性。
发明内容
为了解决现有技术中设备的复位启动时间长的问题,本发明的实施例提供了一种提高嵌入式***可靠性的方法及装置。
一种提高嵌入式***可靠性的方法,包括:
所述嵌入式***加载上层软件后,备份内存中上层软件的启动初始值;
当检测到复位信号,内存进行自刷新;
所述嵌入式***复位重启;
执行底层软件;
恢复上层软件的启动初始值;
执行上层软件。
一种提高嵌入式***可靠性的装置,包括:
备份单元:所述嵌入式***加载上层软件后,备份内存中上层软件的启动初始值;
自刷新单元:当检测到复位信号,内存进行自刷新;
复位重启单元:用于所述嵌入式***复位重启;
底层软件执行单元:用于执行底层软件;
恢复单元:用于恢复上层软件的启动初始值;
上层软件执行单元:用于执行上层软件。
本发明实施例提供的提高嵌入式***可靠性的方法及装置,通过启动内存的自刷新模式,使得***在复位启动时,内存中的上层软件不会丢失,从而使得***在复位重启时,可以省去加载上层软件及解压缩的过程,大大缩短了复位启动的时间,缩短了MTTR时间,从而提高了***的可靠性。由于上层软件的启动初始值在上次执行上层软件中会被改动,所以在复位启动时,直接执行上层软件之前,必须通过备份上层软件的启动初始值来恢复上层软件的启动初始值,从而使得上层软件可以正常的运行。
附图说明
图1为本发明的实施例提供的提高嵌入式***可靠性的方法流程图;
图2为本发明实施例嵌入式***加载上层软件后,备份内存中上层软件的启动初始值的步骤流程图;
图3为本发明实施例当检测到复位信号,内存进行自刷新的步骤流程图;
图4本发明实施例提供的一种提高嵌入式***可靠性的装置结构示意图;
图5为本发明实施例提高嵌入式***可靠性的装置中自刷新单元结构示意图;
图6为本发明实施例提高嵌入式***可靠性的方法通过程序指令完成的流程图。
具体实施方式
为了解决现有技术复位启动时间长,嵌入式***的可靠性差的问题,下面结合附图和具体实施例对本发明作详细说明。
如图1所示,为本发明的实施例提供的提高嵌入式***可靠性的方法流程图;本发明的实施例提供一种提高嵌入式***可靠性的方法,包括:
S101:嵌入式***加载上层软件后,备份内存中上层软件的启动初始值;
S102:当检测到复位信号,内存进行自刷新;
S103:所述嵌入式***复位重启;
S104:执行底层软件;
S105:利用备份的上层软件启动初始值,恢复上层软件的启动初始值;
S106:执行上层软件。
下面对上述步骤进行详细说明。
S101:所述嵌入式***加载上层软件后,备份内存中上层软件的启动初始值;此步骤可以分为两种情况:一种是在***上电启动时,加载上层软件后,备份内存中上层软件的启动初始值;另一种是***需要将后台服务器中升级后的上层软件加载到内存后,备份内存中升级后上层软件的启动初始值。
以下对上述两种情况进行详细说明:
一种是在***上电启动时,加载上层软件后,备份内存中上层软件的启动初始值;即在***上电加载上层软件之后,将上层软件的启动初始值拷贝到非易失性存储器中。此处所述的启动初始值是指上层软件数据段中的数据。所述数据段数据是上层软件经过初始化的全局变量。由于上层软件的全局变量在之后的运行过程中会被改变,所以在加载上层软件之后,需要立即将其初始值保存。具体的保存位置可以是NVRAM(Non Volatile Random Access Memory非易失性存储器)或内存中不会丢失改动的区域。
另一种情况为嵌入式***加载升级后上层软件后,备份内存中升级后上层软件的启动初始值;如图2所示,具体步骤如下;
S201:设置标志位,所述内存中的上层软件升级之前,标志位为零;此处的标志位可以通过管理员进行设置,或者在***上电时将标志位清零。在***进行复位重启前,上层软件在后台服务器上已经更新,此时管理员就会根据需要,将标志位设置为0,让***更新内存中的上层软件。
S202:所述嵌入式***复位重启;
S203:执行底层软件;在此步骤中,***通过判断标志位来决定是否需要加载升级上层软件;如果标志位为1,则***将跳过加载上层软件和解压缩的过程,在恢复上层软件启动初始值之后,直接跳转到上层软件的起始地址开始执行;如果标志位为0,则将执行加载升级后的上层软件。
S204:加载升级后的上层软件;
S205:备份升级后的上层软件启动初始值;
S206:将标志位修改为1;
S207:执行升级后上层软件。
本发明实施例在复位启动时,通过判断标识位来决定是否加载上层软件,如果上层软件在后台服务器上已经更新升级,需要将***内存中的上层软件更新升级,管理员就可以将标志位设置为0,在***复位启动时,***将重新加载上层软件,然后备份升级后的启动初始值并通过底层软件将标志位设置为1;最后执行升级后的上层软件。这样,在***复位启动时,***将备份上层软件的启动初始值拷贝回上层软件,直接执行上层软件;从而使得采用本发明,不但可以缩短MTTR时间,提高***可靠性,同时还可以方便的升级***上层软件。
如图3所示,S102:当检测到复位信号,内存进行自刷新;其执行流程如下:
S301:检测复位信号;
S302:将复位信号延时;
S303:向CPU发送中断信号;
S304:CPU向内存发送启动自刷新模式指令;
S305:内存进行自刷新。CPU将内存设置为自刷新模式,使得***在复位启动时,内存可以进行自刷新,将内存中的上层软件保存下来。
以下对步骤S105:恢复上层软件的启动初始值,进行详细说明:
由于上层软件的全局变量的初始值在复位重启之前的运行过程中,已被改变;本发明的复位重启过程与现有技术相比,跳过了加载上层软件的步骤;所以执行底层软件步骤之后,必须将上层软件的全局变量的初始值进行恢复,也就是恢复预先备份的上层软件的启动初始值。
本发明实施例通过启动内存的自刷新模式,使得***在复位启动时,省去加载上层软件的过程,大大缩短了复位启动的时间,缩短了MTTR时间,从而提高了***的可靠性。由于上层软件数据段中的全局变量在上次执行时,可能被改动,所以在复位启动时,直接执行上层软件之前,通过备份上层软件的启动初始值来恢复上层软件的启动初始值,从而使得上层软件可以正常的运行。
如图4所示,本发明实施例提供的一种提高嵌入式***可靠性的装置结构示意图,包括:
备份单元401:所述嵌入式***加载上层软件后,备份内存中上层软件的启动初始值;
自刷新单元402:当检测到复位信号,内存进行自刷新;
复位重启单元403:用于所述嵌入式***复位重启;
底层软件执行单元404:用于执行底层软件;
恢复单元405:用于恢复上层软件的启动初始值;
上层软件执行单元406:用于执行上层软件。
如图5所示,为本发明实施例提高嵌入式***可靠性的装置中自刷新单元结构示意图,所述自刷新单元包括:
检测单元501:用于检测复位信号;
延时单元502:用于将复位信号延时;
中断单元503:用于向CPU发送中断信号;
启动单元504:用于CPU向内存发送启动自刷新模式指令;
刷新单元505:用于内存进行自刷新。
本发明实施例通过检测单元来实时检测复位信号,如果检测到复位信号,则通过延时单元将复位信号延时,并通过中断单元给CPU发送一个中断信号;在复位信号延时期间,启动单元会根据CPU发送的中断启动内存的自刷新模式,从而使得,***在复位重启时,可以将内存中的信息保存下来;这样在复位重启的时候,就可以省去重复加载上层软件及解压缩的时间,从而缩短了***的MTTR时间,提高了***的可靠性;在此基础之上,还可以在底层软件执行单元中增加一个标志位识别单元,用来判断***是否需要加载升级上层软件;如果标志位为0,则需要升级上层软件,当底层软件执行单元执行完底层软件后,将加载升级后的上层软件,然后备份升级后的上层软件的数据段数据,最后,执行上层软件;如果标志位为1,则底层软件执行单元执行底层软件,将恢复上层软件数据段数据,然后,直接跳转执行上层软件。通过标志位的判断选择,使得***在复位启动时,根据实际的情况需要,省去加载上层软件的过程,大大缩短了复位启动的时间,缩短了MTTR时间,从而提高了***的可靠性。同时,也方便了***上层软件升级。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分步骤是可以通过程序指令相关硬件完成,所述的程序可以存储于一个计算机可读取存储的介质中,该程序在执行时,如图6所示,包括如下步骤:
S601:嵌入式***加载上层软件后,备份内存中上层软件的启动初始值;
S602:当检测到复位信号,内存进行自刷新;
S603:执行底层软件;
S604:读取标志位,判断是否需要加载上层软件;如果不需要加载所述上层软件跳转执行步骤S605;如果需要加载所述上层软件跳转执行S606;
S605:利用备份的上层软件启动初始值,恢复上层软件的启动初始值;
S606:加载所述上层软件,备份上层软件的启动初始值;
S607:执行上层软件。
其中,所述的存储介质,如:ROM(Read Only Memory,只读存储器)/RAM(Random Access Memory,随机存取存储器)、磁碟、光盘等。
以上所述,仅为本发明实施例的具体实施方式,但本发明实施例的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明实施例的保护范围应该以权利要求的保护范围为准。
Claims (9)
1、一种提高嵌入式***可靠性的方法,其特征在于,包括:
嵌入式***加载上层软件后,备份内存中上层软件的启动初始值;
当检测到复位信号,内存进行自刷新;
所述嵌入式***复位重启;
执行底层软件;
恢复上层软件的启动初始值;
执行上层软件。
2、根据权利要求1所述的提高嵌入式***可靠性的方法,其特征在于,所述当检测到复位信号,内存进行自刷新的步骤包括:
检测复位信号;
将复位信号延时;
向CPU发送中断信号;
CPU向内存发送启动自刷新模式指令;
内存进行自刷新。
3、根据权利要求1所述的提高嵌入式***可靠性的方法,其特征在于,所述嵌入式***加载上层软件后,备份内存中上层软件的启动初始值的步骤包括:
设置标志位,所述内存中的上层软件升级之前,标志位为零;
所述嵌入式***复位重启;
执行底层软件;
加载升级后的上层软件;
备份升级后的上层软件启动初始值;
将标志位修改为1;
执行升级后上层软件。
4、根据权利要求1所述的提高嵌入式***可靠性的方法,其特征在于:所述上层软件的启动初始值为上层软件数据段中的数据。
5、根据权利要求1所述的提高嵌入式***可靠性的方法,其特征在于:所述上层软件的启动初始值备份在非易失性存储器或不易修改的内存区域。
6、一种提高嵌入式***可靠性的装置,其特征在于,包括:
备份单元:用于在嵌入式***加载上层软件后,备份内存中上层软件的启动初始值;
自刷新单元:用于在检测到复位信号时,内存进行自刷新;
复位重启单元:用于所述嵌入式***复位重启;
底层软件执行单元:用于执行底层软件;
恢复单元:用于恢复上层软件的启动初始值;
上层软件执行单元:用于执行上层软件。
7、根据权利要求6所述的提高嵌入式***可靠性的装置,其特征在于,所述自刷新单元包括:
检测单元:用于检测复位信号;
延时单元:用于将复位信号延时;
中断单元:用于向CPU发送中断信号;
启动单元:用于CPU向内存发送启动自刷新模式指令;
刷新单元:用于内存进行自刷新。
8、根据权利要求6所述的提高嵌入式***可靠性的装置,其特征在于:所述上层软件的启动初始值为上层软件数据段中的数据。
9、根据权利要求6所述的提高嵌入式***可靠性的装置,其特征在于:所述上层软件的启动初始值备份在非易失性存储器或不易修改的内存区域。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN200810084196A CN101546281A (zh) | 2008-03-28 | 2008-03-28 | 提高嵌入式***可靠性的方法和装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN200810084196A CN101546281A (zh) | 2008-03-28 | 2008-03-28 | 提高嵌入式***可靠性的方法和装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN101546281A true CN101546281A (zh) | 2009-09-30 |
Family
ID=41193428
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN200810084196A Pending CN101546281A (zh) | 2008-03-28 | 2008-03-28 | 提高嵌入式***可靠性的方法和装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN101546281A (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103473081A (zh) * | 2012-06-08 | 2013-12-25 | 腾讯科技(深圳)有限公司 | 终端进行***升级后生效的方法及该终端 |
CN104572198A (zh) * | 2014-12-31 | 2015-04-29 | 华为技术有限公司 | 一种业务恢复方法及装置 |
CN106933632A (zh) * | 2017-03-13 | 2017-07-07 | 山东网聪信息科技有限公司 | 基于以太网的fpga功能在线升级方法 |
CN109614126A (zh) * | 2018-10-23 | 2019-04-12 | 北京全路通信信号研究设计院集团有限公司 | 一种嵌入式***在线程序升级方法及装置 |
-
2008
- 2008-03-28 CN CN200810084196A patent/CN101546281A/zh active Pending
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103473081A (zh) * | 2012-06-08 | 2013-12-25 | 腾讯科技(深圳)有限公司 | 终端进行***升级后生效的方法及该终端 |
CN103473081B (zh) * | 2012-06-08 | 2016-10-12 | 腾讯科技(深圳)有限公司 | 终端进行***升级后生效的方法及该终端 |
CN104572198A (zh) * | 2014-12-31 | 2015-04-29 | 华为技术有限公司 | 一种业务恢复方法及装置 |
CN104572198B (zh) * | 2014-12-31 | 2018-04-10 | 华为技术有限公司 | 一种业务恢复方法及装置 |
CN106933632A (zh) * | 2017-03-13 | 2017-07-07 | 山东网聪信息科技有限公司 | 基于以太网的fpga功能在线升级方法 |
CN109614126A (zh) * | 2018-10-23 | 2019-04-12 | 北京全路通信信号研究设计院集团有限公司 | 一种嵌入式***在线程序升级方法及装置 |
CN109614126B (zh) * | 2018-10-23 | 2022-07-01 | 北京全路通信信号研究设计院集团有限公司 | 一种嵌入式***在线程序升级方法及装置 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8468389B2 (en) | Firmware recovery system and method of baseboard management controller of computing device | |
JP4205560B2 (ja) | ディスクレスネットワークブータブルコンピュータにおける不揮発性メモリキャッシュを用いた信頼性の改善 | |
CN101281469B (zh) | 嵌入式***及其启动加载的方法 | |
CN102023908B (zh) | 一种引导程序备份方法及装置 | |
CN103116532B (zh) | 从嵌入式软件***中的堆栈损坏故障中恢复 | |
CN108304282B (zh) | 一种双bios的控制方法及相关装置 | |
US20090217026A1 (en) | Method for changing power states of a computer | |
US7512777B2 (en) | Method and system for maintaining system management BIOS | |
US10579300B2 (en) | Information handling system firmware persistent memory runtime reclaim | |
KR101696490B1 (ko) | 부분 리부팅 복구 장치 및 방법 | |
TW201222554A (en) | Handling errors during device bootup from a non-volatile memory | |
CN104503788A (zh) | 一种缩短安卓操作***启动时间的设置方法 | |
CN102184111B (zh) | 操作***在线升级方法及带操作***的设备 | |
US7818622B2 (en) | Method for recovering data processing system failures | |
CN111506454A (zh) | 基本输入/输出***的恢复及更新的方法及*** | |
JP2010198252A (ja) | 不揮発メモリ装置、不揮発メモリの書込み方法、及び不揮発メモリ書込みプログラム | |
CN104572354A (zh) | 基于恢复服务的操作***备份和恢复的方法及其设备 | |
CN111338698A (zh) | 一种bios准确引导服务器启动的方法及*** | |
JP2014115928A (ja) | Bios復旧制御装置及びその復旧制御方法、情報処理装置、並びにコンピュータ・プログラム | |
CN101546281A (zh) | 提高嵌入式***可靠性的方法和装置 | |
US9250942B2 (en) | Hardware emulation using on-the-fly virtualization | |
KR101576370B1 (ko) | 컴퓨터 시스템의 원격 복원 시스템 및 그 방법, 그리고 기록한 컴퓨터로 읽어 들일 수 있는 기록매체 | |
CN112035171B (zh) | 基于uefi固件的恢复出厂设置方法及*** | |
TW202131170A (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 | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20090930 |
|
RJ01 | Rejection of invention patent application after publication |