CN106776097A - 具有自恢复功能的嵌入式系统以及自恢复方法 - Google Patents

具有自恢复功能的嵌入式系统以及自恢复方法 Download PDF

Info

Publication number
CN106776097A
CN106776097A CN201611248953.5A CN201611248953A CN106776097A CN 106776097 A CN106776097 A CN 106776097A CN 201611248953 A CN201611248953 A CN 201611248953A CN 106776097 A CN106776097 A CN 106776097A
Authority
CN
China
Prior art keywords
signal
memory cell
self
central processor
processor unit
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.)
Withdrawn
Application number
CN201611248953.5A
Other languages
English (en)
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.)
CIG Shanghai Co Ltd
Cambridge Industries Shanghai Co Ltd
Original Assignee
Cambridge Industries Shanghai 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 Cambridge Industries Shanghai Co Ltd filed Critical Cambridge Industries Shanghai Co Ltd
Priority to CN201611248953.5A priority Critical patent/CN106776097A/zh
Publication of CN106776097A publication Critical patent/CN106776097A/zh
Withdrawn legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1415Saving, restoring, recovering or retrying at system level
    • G06F11/1438Restarting or rejuvenating
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0751Error or fault detection not based on redundancy
    • G06F11/0754Error or fault detection not based on redundancy by exceeding limits
    • G06F11/0757Error or fault detection not based on redundancy by exceeding limits by exceeding a time limit, i.e. time-out, e.g. watchdogs

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Stored Programmes (AREA)

Abstract

本发明公开了一种具有自恢复功能的嵌入式系统以及自恢复方法,采用看门狗电路模块、选择模块、中央处理器单元、第一存储单元以及第二存储单元组成具有自恢复功能的嵌入式系统。根据复位信号产生第一启动信号;根据第一启动信号产生包含第一存储单元的接口类型信息的片选信号,选通第一存储单元并采用第一存储单元内的启动装载代码进行系统加载启动;当进行的系统加载启动失败时,根据再次输出的复位信号产生第二启动信号;根据第二启动信号产生包含第二存储单元的接口类型信息的片选信号,选通第二存储单元并采用从第二存储单元进行再次系统加载启动。本发明从硬件、软件双重保证中央处理器单元有机会从失效的运行环境中实现自动恢复。

Description

具有自恢复功能的嵌入式系统以及自恢复方法
技术领域
本发明涉及电子设备的自恢复技术,具体涉及一种具有自恢复功能的嵌入式系统以及自恢复方法。
背景技术
随着信息技术的普及,各种嵌入式系统,例如手持式PDA、手机、AP、交换机、物联网系统以及各种工业嵌入式控制系统等也得到了极大的发展。
上述这些嵌入式系统的架构由于嵌入式系统硬件工作环境严苛,软件病毒的侵袭也无处不在。对设备来说,最严重后果就是加载启动失效,不能引导系统,也不能人工通过命令恢复,导致嵌入式系统完全失效。
现有技术中,嵌入式系统从上电那一刻到应用程序正常运行,其间经历过一系列漫长的过程,下面对主要的步骤简单描述:
a、嵌入式系统上电后,CPU会从存储单元的起始物理地址读取指令开始执行。
存储单元中存放启动装载代码(bootloader代码),于是CPU就会开始运行Bootloader的代码。
b、如果嵌入式系统采用的存储单元是Nor Flash,CPU可以直接运行在Nor Flash上的指令。
如果采用存储单元的是NAND Flash,一种方法是NAND Flash控制器能够把NANDFlash的前4k数据搬到4k的内部RAM中,并设置CPU从这个内部RAM的起始地址开始启动执行。
另一种方法是NAND控制器能够把NAND Flash的前4k数据的地址映射到系统总线的一个地址上,并设定CPU从这个地址开始启动执行。这两种方法都是硬件来完成的。
c、CPU利用bootloader代码完成系统加载启动。
由以上过程可以看出,系统上电后CPU能否有正确的bootloader代码可以执行,是最关键的步骤,如果存放bootloader代码的存储器本身损坏,或是bootloader代码被病毒感染(从古老的CIH,到BIOS bootkits,都是bootloader被病毒侵入),不能引导系统,也不能人工通过命令恢复,嵌入式系统失效,只能人工操作硬件来修复。
发明内容
本发明的目的在于为了解决现有技术中嵌入式系统由于软硬件问题导致加载启动失效,最终导致嵌入式系统完全失效等问题的出现;提供一种具有自恢复功能的嵌入式系统以及自恢复方法。
为了达到上述目的,本发明通过以下技术方案实现:
一种具有自恢复功能的嵌入式系统,所述嵌入式系统包含:看门狗电路模块、选择模块、中央处理器单元、第一存储单元以及第二存储单元;其中,所述第一存储单元、所述第二存储单元内分别设有启动装载代码,所述第一存储单元、所述第二存储单元为具有不同接口类型的存储单元;
看门狗电路模块,适于输出复位信号;
选择模块,适于根据所述复位信号产生第一启动信号;
中央处理器单元,适于根据所述第一启动信号产生包含所述第一存储单元的接口类型信息的片选信号,选通所述第一存储单元并采用所述第一存储单元内的所述启动装载代码进行系统加载启动;
当所述中央处理器单元未发送加载成功信号至所述看门狗电路模块时,判断所述系统加载启动失败:
所述看门狗电路模块,适于再次输出所述复位信号;
所述选择模块,适于根据所述复位信号产生第二启动信号;
中央处理器单元,适于根据所述第二启动信号产生包含所述第二存储单元的接口类型信息的片选信号,选通所述第二存储单元并采用所述第二存储单元内的所述启动装载代码再次进行所述系统加载启动。
较佳地,所述中央处理器单元在根据所述第一启动信号或所述第二启动信号从所述第一存储单元或所述第二存储单元进行所述系统加载启动之前:
所述中央处理器单元还适于根据所述复位信号进行系统复位;
或,所述中央处理器单元未发送所述加载成功信号具体为:
在所述中央处理器单元进行所述系统加载启动后,在设定时间内所述中央处理器单元未向所述看门狗电路模块发送的喂狗信号。
较佳地,当进行的所述再次系统加载启动失败后,所述看门狗电路模块适于输出复位信号;所述选择模块重新适于根据所述复位信号产生第一启动信号。
较佳地,当采用一个所述启动装载代码进行所述系统加载启动时,检测另外一个所述启动装载代码是否存在错误;当所述另外一个启动装载代码存在错误时,根据预置算法恢复所述另外一个启动装载代码。
较佳地,所述选择模块为JK触发器,所述JK触发器包含:
第一数据输入端,适于输入高电平信号;
第二数据输入端,适于输入所述高电平信号;
时钟信号输入端,适于输入所述复位信号;
第一数据输出端,适于输出逻辑信号;
第二数据输出端,适于输出所述逻辑信号的取反信号;
在所述第一数据输入端、所述第二数据输入端均输入所述高电平信号时:当所述时钟信号输入端输入所述复位信号后,所述JK触发器控制所述第一数据输出端、所述第二数据输出端分别输出的两个信号组成所述第一启动信号;当所述时钟信号输入端再次输入所述复位信号,所述JK触发器翻转控制所述第一数据输出端、所述第二数据输出端分别输出的另外两个信号组成所述第二启动信号。
一种用于上述的具有自恢复功能的嵌入式系统的自恢复方法,所述自恢复方法包含:
根据复位信号产生第一启动信号;
根据所述第一启动信号产生包含第一存储单元的接口类型信息的片选信号,选通所述第一存储单元并采用所述第一存储单元内的所述启动装载代码进行系统加载启动;
当未发送加载成功信号,判断进行的系统加载启动失败时,根据再次输出的所述复位信号产生第二启动信号;
根据所述第二启动信号产生包含所述第二存储单元的接口类型的片选信号,选通所述第二存储单元并采用所述第二存储单元内的所述启动装载代码进行再次所述系统加载启动。
较佳地,在根据所述第一启动信号或所述第二启动信号从对应的所述第一存储单元或所述第二存储单元进行所述系统加载启动之前:
根据所述复位信号进行系统复位。
较佳地,所述未发送加载启动信号为:
在进行所述系统加载启动后,设定时间内未发出的喂狗信号。
较佳地,当采用一个所述启动装载代码进行所述系统加载启动时,检测另外一个所述启动装载代码是否存在错误;当所述另外一个启动装载代码存在错误时,根据预置算法恢复所述另外一个启动装载代码。
较佳地。当进行的所述再次系统加载启动失败时,重新执行所述根据复位信号产生第一启动信号。
在符合本领域常识的基础上,上述各优选条件,可任意组合,即得本发明各较佳实例。
本发明的积极进步效果在于:
本发明公开的一种具有自恢复功能的嵌入式系统以及自恢复方法,采用看门狗电路模块、选择模块、中央处理器单元、第一存储单元以及第二存储单元组成具有自恢复功能的嵌入式系统。根据复位信号产生第一启动信号;根据第一启动信号产生包含第一存储单元的接口类型信息的片选信号,选通第一存储单元并采用第一存储单元的启动装载代码进行系统加载启动;当进行的系统加载启动失败时,根据再次输出的复位信号产生第二启动信号;根据第二启动信号产生包含第而存储单元的接口类型信息的片选信号,选通第二存储单元并采用第二存储单元的启动装载代码进行再次系统加载启动。本发明从硬件、软件双重保证中央处理器单元有机会从失效的运行环境中实现自动恢复,提高了嵌入式系统的可靠性。
附图说明
图1为本发明具有自恢复功能的嵌入式系统的整体结构示意图。
图2为本发明具有自恢复功能的嵌入式系统的实施例结构示意图。
图3为本发明用于具有自恢复功能的嵌入式系统的自恢复方法的实施例流程示意图。
具体实施方式
下面通过实施例的方式进一步说明本发明,但并不因此将本发明限制在所述的实施例范围之中。下列实施例中未注明具体条件的实验方法,按照常规方法和条件,或按照商品说明书选择。
实施例1
如图1所示,一种具有自恢复功能的嵌入式系统,包含:看门狗电路模块1、选择模块2、中央处理器单元3、第一存储单元4以及第二存储单元5。其中,第一存储单元4、第二存储单元5内分别设有启动装载代码(bootloader代码),第一存储单元4、第二存储单元5为具有不同接口类型的存储单元。
本实施例中,第一存储单元4、第二存储单元5为具有不同接口类型的存储单元,是指两个存储单元与中央处理器单元3连接的接口具有不同硬件类型和/或通信协议类型。
例如,当第一存储单元4可以采用NOR Flash、NAND Flash中的一种时,对应的第二存储单元5分别可以采用NAND Flash、NOR Flash中的一种。第一存储单元4、第二存储单元5还可以采用安全数码卡(SD卡)、利用USB(Universal Serial Bus,通用串行总线)接口与中央处理器单元3连接的存储单元。
如图1所示,本实施例公开的嵌入式系统还包含一个或多个功能不同的功能单元6。当嵌入式系统完成系统加载启动后,中央处理器单元3控制一个或多个功能不同的功能单元6进行正常运行。
本实施例公开的一种具有自恢复功能的嵌入式系统,具体工作原理如下:
首先,看门狗电路模块1输出复位信号;其次,选择模块2根据复位信号产生第一启动信号;再次,中央处理器单元3根据第一启动信号产生包含第一存储单元4的接口类型信息的片选信号,选通第一存储单元4并采用第一存储单元4内的启动装载代码进行系统加载启动。当系统加载启动成功时,中央处理器单元3控制一个或多个功能不同的功能单元6进行正常运行,中央处理器单元3发送喂狗信号至看门狗电路模块1。
当中央处理器单元3进行的系统加载启动失败后,看门狗电路模块1再次输出复位信号;选择模块2根据复位信号产生第二启动信号;中央处理器单元3根据第二启动信号产生包含第二存储单元5的接口类型信息的片选信号,选通第二存储单元5并采用第二存储单元5内的启动装载代码从第二存储单元5再次进行系统加载启动。
本实施例中,中央处理器单元3根据第一存储单元4或第二存储单元5内的bootloader代码进行系统加载启动。
以上为本发明实施例1提供的具有自恢复功能的嵌入式系统,通过该实施方式,在系统启动时中央处理器单元3会自动循环可以引导的启动装载代码,实现系统加载启动。当任一存储单元硬件或存储单元内的启动装载代码出现错误或损坏导致当次系统加载启动失败时,可以利用另一存储单元内的启动装载代码实现系统加载启动。本实施例能够实现嵌入式系统自动切换启动,避免由于存储单元硬件或存储单元内的启动装载代码的错误或问题导致系统加载启动失败,从而必须通过人工操作介入实现系统加载启动。
实施例2
如图1所示,一种具有自恢复功能的嵌入式系统,包含:看门狗电路模块1、选择模块2、中央处理器单元3、第一存储单元4、第二存储单元5以及功能单元6。
其中,第一存储单元4、第二存储单元5内分别设有启动装载代码(bootloader代码),第一存储单元4、第二存储单元5为具有不同接口类型的存储单元。
本实施例中,第一存储单元4、第二存储单元5为具有不同接口类型的存储单元,是指两个存储单元与中央处理器单元3连接的接口具有不同硬件类型和/或通信协议类型。
例如,当第一存储单元4可以采用NOR Flash、NAND Flash中的一种时,对应的第二存储单元5分别可以采用NAND Flash、NOR Flash中的一种。第一存储单元4、第二存储单元5还可以采用安全数码卡(Secure DigitalMemory Card,SD卡)、利用USB(Universal SerialBus,通用串行总线)接口与中央处理器单元3连接的存储单元。
本实施例公开的一种具有自恢复功能的嵌入式系统,具体工作原理如下:
首先,看门狗电路模块1输出复位信号。其次,选择模块2根据复位信号产生第一启动信号。再次,中央处理器单元3根据复位信号进行复位,并采集第一启动信号。第四,中央处理器单元3根据第一启动信号产生包含第一存储单元4的接口类型信息的片选信号,选通第一存储单元4并采用内的启动装载代码进行系统加载启动。当系统加载启动成功时,中央处理器单元3控制一个或多个功能不同的功能单元6进行正常运行,中央处理器单元3发送喂狗信号至看门狗电路模块1。
在中央处理器单元3进行系统加载启动后,当在设定时间内中央处理器单元3未向看门狗电路模块1发送喂狗信号时,看门狗电路模块1判断中央处理器单元3进行的系统加载启动失败。本实施例中,设定时间可选范围为0-1.6s。
当中央处理器单元3进行的系统加载启动失败后,首先,看门狗电路模块1再次输出复位信号;其次,选择模块2根据复位信号产生第二启动信号;再次,中央处理器单元3根据复位信号进行复位,并采集第二启动信号;最后,中央处理器单元3根据第二启动信号产生包含第二存储单元的接口类型信息的片选信号,选通第二存储单元5并采用第二存储单元5内的启动装载代码再次进行系统加载启动。当系统加载启动成功时,中央处理器单元3控制一个或多个功能不同的功能单元6进行正常运行,中央处理器单元3发送喂狗信号至看门狗电路模块1。
本实施例中,中央处理器单元3根据启动装载代码进行系统加载启动。当采用一个启动装载代码进行系统加载启动时,检测另外一个启动装载代码是否存在错误;当另外一个启动装载代码存在错误时,根据预置算法恢复当另外一个启动装载代码。
本实施例中,当再次进行的系统加载启动失败后,看门狗电路模块1重新发出复位信号,选择模块2根据复位信号产生第一启动信号;中央处理器单元3根据复位信号进行复位,并采集第一启动信号;最后,中央处理器单元3根据第一启动信号产生包含第一存储单元4的接口类型信息的片选信号,选通第一存储单元4并采用第一存储单元4内的启动装载代码进行系统加载启动。
如图1、2所示,本实施例中,中央处理器单元3分别与看门狗电路模块1、选择模块2、第一存储单元4、第二存储单元5进行数据通讯,看门狗电路模块1与选择模块2进行数据通讯。
本实施例中,JK触发器作为选择模块2,该JK触发器包含:第一数据输入端、第二数据输入端、时钟信号输入端、第一数据输出端以及第二数据输出端。
其中,第一数据输入端I1适于输入高电平信号H;第二数据输入端I2适于输入高电平信号H;时钟信号输入端CLOCK适于输入复位信号RST_OUT;第一数据输出端Q1适于输出逻辑信号;第二数据输出端适于输出逻辑信号的取反信号。
根据JK触发器的工作原理可知,在第一数据输入端I1、第二数据输入端I2均输入高电平信号H时:当时钟信号输入端CLOCK输入复位信号RST_OUT后,JK触发器控制第一数据输出端Q1、第二数据输出端分别输出的两个信号组成第一启动信号;当时钟信号输入端再次输入复位信号,JK触发器翻转控制第一数据输出端Q1、第二数据输出端分别输出的两个不同信号组成第二启动信号。
本实施例采用NOR Flash、NAND Flash作为嵌入式系统的两个存储单元。
A.在嵌入式系统初次上电后,看门狗电路模块1的RST OUT输出端输出复位信号RST_OUT。
B.复位信号RST_OUT输入至中央处理器单元3的RST_IN输入端用于复位中央处理器单元3,中央处理器单元3分别通过IN_1输入端和IN_2输入端采样对应的NOR_Bootstrip或NAND_Bootstrip信号,这两个信号在RST_OUT上升沿被采样的值,将决定中央处理器单元3的CS_NOR、CS_NAND哪个信号对应通过中央处理器单元3的NOR_CS输出端或NAND_CS输出端被送出。
本实施例中,利用JK触发器的原理,采用复位信号RST_OUT作为时钟信号,第一数据输入端I1、第二数据输入端I2均输入高电平信号H,JK触发器随机控制两个数据输出端输出一组选通信号(图2中,当第一数据输出端Q1、第二数据输出端输出的两个信号的状态组合为10时,则对应选通NOR Flash,也即输出NOR Bootstrip信号至中央处理器单元3),则该输出选通信号选择的存储单元为第一存储单元4。
C.如果JK触发器输出NOR_Bootstrip信号,则中央处理器单元3被配置为从NORFlash启动,也即NOR Flash作为第一存储单元4,中央处理器单元3输出CS_NOR信号。
D.如果由于NOR FLASH损坏或是NOR FLASH内设的bootloader代码被破坏,系统加载启动没有成功,则看门狗电路模块1的WDI输入端的未在设定时间内获得中央处理单元3的FEED输出端输出的喂狗信号FEED_WD,则看门狗电路模块1会在设定时间之后再次送出RST_OUT信号,此次JK触发器的第一数据输出端Q1、第二数据输出端输出的两个信号的状态组合为01时,也即输出NAND_Bootstrip信号至中央处理器单元3,则NAND Flash作为第二存储单元5,中央处理器单元3输出CS_NAND信号,选择从NAND Flash进行系统加载启动。
E.当任一个启动装载代码正确运行以后,检测另外一个启动装载代码是否存在错误;当另外一个启动装载代码存在错误时,根据预置算法恢复当另外一个启动装载代码。本实施例中的预置算法包括:基于文件特征的文件恢复算法、基于ABFF算法的文件扫描恢复算法、CRC校验恢复算法等方法。
上述为本发明实施例2公开的具有自恢复功能的嵌入式系统的实施方式。本实施例采用自动切换模式,系统上电后,当第一次执行系统加载启动功能由于存储单元硬件或该存储单元内的启动装载代码损坏或错误时,无需人工干预,可自动从另一存储单元内的启动装载代码执行系统加载启动功能,进而恢复整个系统。同时,在采用一个启动装载代码进行系统加载启动时,对另一个启动装载代码进行检测及恢复。综上所述,本发明从硬件、软件双重保证中央处理器单元有机会从失效的运行环境中实现自动恢复,提高了嵌入式系统的可靠性,适用于需要长期可靠工作的应用环境。
实施例3
一种用于如图1所示的具有自恢复功能的嵌入式系统的自恢复方法,其中,该嵌入式系统包含:看门狗电路模块1、选择模块2、中央处理器单元3、第一存储单元4、第二存储单元5以及功能单元6。本实施例的自恢复方法包含:
看门狗电路模块1产生复位信号,选择模块2根据复位信号产生第一启动信号。
中央处理器单元3根据第一启动信号产生包含第一存储单元4的接口类型信息的片选信号,选通第一存储单元4并采用第一存储单元4内的启动装载代码进行系统加载启动。
当进行的系统加载启动失败时,看门狗电路模块1再次输出的复位信号,选择模块2根据再次输出的复位信号产生第二启动信号。
中央处理器单元3根据第二启动信号产生包含第二存储单元5的接口类型信息的片选信号,选通第二存储单元5并采用第二存储单元5内的启动装载代码进行再次系统加载启动。
以上为本发明实施例3提供的用于具有自恢复功能的嵌入式系统的自恢复方法,通过该实施方式,在系统启动时中央处理器单元会自动循环可以引导的启动装载代码,实现系统加载启动。当任一存储单元硬件或存储单元内的启动装载代码出现错误或损坏导致当次系统加载启动失败时,可以利用另一存储单元内的启动装载代码实现系统加载启动。本实施例能够实现嵌入式系统自动切换启动,避免由于存储单元硬件或存储单元内的启动装载代码的错误或问题导致系统加载启动失败,从而必须要求人工操作介入实现系统加载启动。
实施例4
基于上述本发明实施例3公开的一种用于具有自恢复功能的嵌入式系统的自恢复方法,如图1所示,该嵌入式系统包含:看门狗电路模块1、选择模块2、中央处理器单元3、第一存储单元4、第二存储单元5以及功能单元6。
如图3所示,本实施例公开了具体的自恢复方法:
S1,看门狗电路模块1产生复位信号,选择模块2根据复位信号产生第一启动信号。
S2,中央处理器单元3根据第一启动信号产生包含第一存储单元4的接口类型信息的片选信号,选通第一存储单元4并采用第一存储单元4内的启动装载代码进行系统加载启动。
在步骤S2之前,中央处理器单元3根据复位信号进行系统复位。
S3,看门狗电路模块1判断系统加载启动是否成功;当成功时,中央处理器单元3控制功能单元6进行正常运行;当失败时,执行步骤S4。步骤S3具体包含:
当在设定时间内中央处理器单元3未发送喂狗信号至看门狗电路模块1时,看门狗电路模块1判断进行的系统加载启动失败。
S4,看门狗电路模块1再次输出的复位信号,选择模块2根据再次输出的复位信号产生第二启动信号。
S5,中央处理器单元3根据第二启动信号产生包含第二存储单元5的接口类型信息的片选信号,选通第二存储单元5并采用第二存储单元5内的启动装载代码进行再次系统加载启动。
在步骤S5之前,中央处理器单元3根据复位信号进行系统复位。
S6,看门狗电路模块1判断系统加载启动是否成功;当成功时,中央处理器单元3控制功能单元6进行正常运行;当失败时,执行步骤S1。步骤S6具体包含:
当在设定时间内中央处理器单元3未发送喂狗信号至看门狗电路模块1时,看门狗电路模块1判断进行的系统加载启动失败。
本实施例中,在进行步骤S2或S5中,当采用一个启动装载代码进行系统加载启动时,检测另外一个启动装载代码是否存在错误;当另外一个启动装载代码存在错误时,根据预置算法恢复当另外一个启动装载代码。
上述为本发明实施例4公开的一种用于具有自恢复功能的嵌入式系统的自恢复方法的实施方式。本实施例采用自动切换模式,系统上电后,当第一次执行系统加载启动功能由于存储单元硬件或该存储单元内的启动装载代码损坏或错误时,无需人工干预,可自动从另一存储单元内的启动装载代码执行系统加载启动功能,进而恢复整个系统。同时,在采用一个启动装载代码进行系统加载启动时,对另一个启动装载代码进行检测及恢复。综上所述,本发明从硬件、软件双重保证中央处理器单元有机会从失效的运行环境中实现自动恢复,提高了嵌入式系统的可靠性。
虽然以上描述了本发明的具体实施方式,但是本领域的技术人员应当理解,这些仅是举例说明,本发明的保护范围是由所附权利要求书限定的。本领域的技术人员在不背离本发明的原理和实质的前提下,可以对这些实施方式做出多种变更或修改,但这些变更和修改均落入本发明的保护范围。

Claims (10)

1.一种具有自恢复功能的嵌入式系统,其特征在于,所述嵌入式系统包含:看门狗电路模块、选择模块、中央处理器单元、第一存储单元以及第二存储单元;其中,所述第一存储单元、所述第二存储单元内分别设有启动装载代码,所述第一存储单元、所述第二存储单元为具有不同接口类型的存储单元;
看门狗电路模块,适于输出复位信号;
选择模块,适于根据所述复位信号产生第一启动信号;
中央处理器单元,适于根据所述第一启动信号产生包含所述第一存储单元的接口类型信息的片选信号,选通所述第一存储单元并采用所述第一存储单元内的所述启动装载代码进行系统加载启动;
当所述中央处理器单元未发送加载成功信号至所述看门狗电路模块时,判断所述系统加载启动失败:
所述看门狗电路模块,适于再次输出所述复位信号;
所述选择模块,适于根据所述复位信号产生第二启动信号;
中央处理器单元,适于根据所述第二启动信号产生包含所述第二存储单元的接口类型信息的片选信号,选通所述第二存储单元并采用所述第二存储单元内的所述启动装载代码进行再次系统加载启动。
2.如权利要求1所述的具有自恢复功能的嵌入式系统,其特征在于,所述中央处理器单元在根据所述第一启动信号或所述第二启动信号从所述第一存储单元或所述第二存储单元进行所述系统加载启动之前:
所述中央处理器单元还适于根据所述复位信号进行系统复位;
或,
所述中央处理器单元未发送所述加载成功信号具体为:
在所述中央处理器单元进行所述系统加载启动后,在设定时间内所述中央处理器单元未向所述看门狗电路模块发送的喂狗信号。
3.如权利要求1所述的具有自恢复功能的嵌入式系统,其特征在于,当进行的所述再次系统加载启动失败后,所述看门狗电路模块适于输出复位信号;所述选择模块重新适于根据所述复位信号产生第一启动信号。
4.如权利要求1所述的具有自恢复功能的嵌入式系统,其特征在于,当采用一个所述启动装载代码进行所述系统加载启动时,检测另外一个所述启动装载代码是否存在错误;当所述另外一个启动装载代码存在错误时,根据预置算法恢复所述另外一个启动装载代码。
5.如权利要求1所述的具有自恢复功能的嵌入式系统,其特征在于,所述选择模块为JK触发器,所述JK触发器包含:
第一数据输入端,适于输入高电平信号;
第二数据输入端,适于输入所述高电平信号;
时钟信号输入端,适于输入所述复位信号;
第一数据输出端,适于输出逻辑信号;
第二数据输出端,适于输出所述逻辑信号的取反信号;
在所述第一数据输入端、所述第二数据输入端均输入所述高电平信号时:当所述时钟信号输入端输入所述复位信号后,所述JK触发器控制所述第一数据输出端、所述第二数据输出端分别输出的两个信号组成所述第一启动信号;当所述时钟信号输入端再次输入所述复位信号,所述JK触发器翻转控制所述第一数据输出端、所述第二数据输出端分别输出的另外两个信号组成所述第二启动信号。
6.一种用于如权利要求1-5中任意一项所述的具有自恢复功能的嵌入式系统的自恢复方法,其特征在于,所述自恢复方法包含:
根据复位信号产生第一启动信号;
根据所述第一启动信号产生包含第一存储单元的接口类型信息的片选信号,选通所述第一存储单元并采用所述第一存储单元内的所述启动装载代码进行系统加载启动;
当未发送加载成功信号,判断进行的系统加载启动失败时,根据再次输出的所述复位信号产生第二启动信号;
根据所述第二启动信号产生包含所述第二存储单元的接口类型的片选信号,选通所述第二存储单元并采用所述第二存储单元内的所述启动装载代码进行再次所述系统加载启动。
7.如权利要求6所述的用于具有自恢复功能的嵌入式系统的自恢复方法,其特征在于,在根据所述第一启动信号或所述第二启动信号从对应的所述第一存储单元或所述第二存储单元进行所述系统加载启动之前:
根据所述复位信号进行系统复位。
8.如权利要求6所述的用于具有自恢复功能的嵌入式系统的自恢复方法,其特征在于,所述未发送加载启动信号为:
在进行所述系统加载启动后,设定时间内未发出的喂狗信号。
9.如权利要求6所述的用于具有自恢复功能的嵌入式系统的自恢复方法,其特征在于,当采用一个所述启动装载代码进行所述系统加载启动时,检测另外一个所述启动装载代码是否存在错误;当所述另外一个启动装载代码存在错误时,根据预置算法恢复所述另外一个启动装载代码。
10.如权利要求6所述的用于具有自恢复功能的嵌入式系统的自恢复方法,其特征在于,当进行的所述再次系统加载启动失败时,重新执行所述根据复位信号产生第一启动信号。
CN201611248953.5A 2016-12-29 2016-12-29 具有自恢复功能的嵌入式系统以及自恢复方法 Withdrawn CN106776097A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201611248953.5A CN106776097A (zh) 2016-12-29 2016-12-29 具有自恢复功能的嵌入式系统以及自恢复方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201611248953.5A CN106776097A (zh) 2016-12-29 2016-12-29 具有自恢复功能的嵌入式系统以及自恢复方法

Publications (1)

Publication Number Publication Date
CN106776097A true CN106776097A (zh) 2017-05-31

Family

ID=58928218

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201611248953.5A Withdrawn CN106776097A (zh) 2016-12-29 2016-12-29 具有自恢复功能的嵌入式系统以及自恢复方法

Country Status (1)

Country Link
CN (1) CN106776097A (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109684117A (zh) * 2018-11-06 2019-04-26 京信通信系统(中国)有限公司 处理器死机恢复方法和装置

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1490817A (zh) * 2002-10-14 2004-04-21 华为技术有限公司 一种引导程序存储装置及其保障在线升级的方法
CN1725179A (zh) * 2005-05-19 2006-01-25 杭州华为三康技术有限公司 系统安全启动的方法及其装置
CN101814047A (zh) * 2009-02-19 2010-08-25 华为技术有限公司 一种基本bios保护方法及装置

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1490817A (zh) * 2002-10-14 2004-04-21 华为技术有限公司 一种引导程序存储装置及其保障在线升级的方法
CN1725179A (zh) * 2005-05-19 2006-01-25 杭州华为三康技术有限公司 系统安全启动的方法及其装置
CN101814047A (zh) * 2009-02-19 2010-08-25 华为技术有限公司 一种基本bios保护方法及装置

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109684117A (zh) * 2018-11-06 2019-04-26 京信通信系统(中国)有限公司 处理器死机恢复方法和装置
CN109684117B (zh) * 2018-11-06 2022-03-25 京信网络系统股份有限公司 处理器死机恢复方法和装置

Similar Documents

Publication Publication Date Title
CN102135927B (zh) 一种基于nand flash的系统引导方法和装置
CN109189621A (zh) 一种NVMe SSD热插拔的测试方法及系统
CN111007763A (zh) 一种iic总线解锁的控制方法
CN107817981A (zh) 一种嵌入式控制器的控制方法及电子设备
CN103064695A (zh) 现场可编程门阵列的动态加载系统及其加载方法
CN106547636A (zh) 除错系统与方法
CN103810440B (zh) 存取系统及方法
CN106776097A (zh) 具有自恢复功能的嵌入式系统以及自恢复方法
CN102467400B (zh) 多端口网络接口卡的控制方法
CN101169755A (zh) 无测试管脚接触式cpu卡测试方法
CN1391164A (zh) 计算机主机板开关机测试方法
CN203502954U (zh) 电脑装置及其识别装置
CN204189172U (zh) 一种计算机
CN104615387B (zh) 基于xpe系统的车载设备及其设计方法
CN106843022A (zh) 一种提高嵌入式控制系统输出可靠性的方法
CN106709338A (zh) 一种程序检测方法及装置
CN103793250B (zh) 嵌入式系统的快速安全启动装置以及启动方法
CN109427410A (zh) 快闪存储器装置的重新启动方法以及使用该方法的装置
CN107894930A (zh) 死机状态数据被动恢复处理的方法和装置
CN107179911A (zh) 一种重启管理引擎的方法和设备
CN107977278A (zh) 死机状态数据恢复处理的方法和装置
CN107870777A (zh) 一种热补丁实现方法及装置、终端
CN103971038B (zh) 计算机系统
CN106681758B (zh) WiFi热点的开启方法及装置
CN105049562A (zh) 一种用户识别卡的解锁方法及通讯终端

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
WW01 Invention patent application withdrawn after publication

Application publication date: 20170531

WW01 Invention patent application withdrawn after publication