CN112148531A - 一种双核芯片及其程序备份和恢复的方法 - Google Patents

一种双核芯片及其程序备份和恢复的方法 Download PDF

Info

Publication number
CN112148531A
CN112148531A CN202011053030.0A CN202011053030A CN112148531A CN 112148531 A CN112148531 A CN 112148531A CN 202011053030 A CN202011053030 A CN 202011053030A CN 112148531 A CN112148531 A CN 112148531A
Authority
CN
China
Prior art keywords
cpu1
program
cpu2
application
flash memory
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
Application number
CN202011053030.0A
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.)
Suzhou Haipeng Technology Co ltd
Original Assignee
Suzhou Haipeng Technology 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 Suzhou Haipeng Technology Co ltd filed Critical Suzhou Haipeng Technology Co ltd
Priority to CN202011053030.0A priority Critical patent/CN112148531A/zh
Publication of CN112148531A publication Critical patent/CN112148531A/zh
Pending legal-status Critical Current

Links

Images

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/1446Point-in-time backing up or restoration of persistent data
    • G06F11/1458Management of the backup or restore process
    • 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/16Error detection or correction of the data by redundancy in hardware
    • G06F11/20Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
    • G06F11/202Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where processing functionality is redundant
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/65Updates
    • G06F8/654Updates using techniques specially adapted for alterable solid state memories, e.g. for EEPROM or flash memories

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Quality & Reliability (AREA)
  • Software Systems (AREA)
  • Computer Security & Cryptography (AREA)
  • Hardware Redundancy (AREA)

Abstract

本发明公开了一种双核芯片及其程序备份和恢复的方法,所述双核芯片,包括:第一中央处理器CPU1,其简称CPU1;第二中央处理器CPU2,其简称CPU2,其通过内部通信总线与第一中央处理器CPU1通信连接;第一闪存模块,其被所述第一中央处理器CPU1操作,其包括CPU1引导加载程序区、CPU1应用程序执行区、CPU1应用程序暂存区和CPU2应用程序备份区;第二闪存模块,其被所述第二中央处理器CPU2操作,其包括CPU2引导加载程序区、CPU2应用程序执行区、CPU2应用程序暂存区和CPU1应用程序备份区;其中,所述双核芯片通过外部通讯总线与外部通讯。综上可知,本发明中的双核芯片通过利用芯片内部Flash空间,简单可靠地实现了程序备份和恢复,提高了整个系统的MTBF,提高了整个嵌入式系统的抗干扰恢复能力。

Description

一种双核芯片及其程序备份和恢复的方法
【技术领域】
本发明涉及嵌入式系统领域,尤其是涉及一种双核芯片及其程序备份和恢复的方法。
【背景技术】
嵌入式系统一旦发生程序更新出错,通常会导致系统宕机,无法再次通过远程升级恢复,只能通过现场维护或者返厂维修,提高了售后维护成本,降低了整个嵌入式系统的使用寿命。
因此,有必要提供一种新的技术方案来克服上述问题。
【发明内容】
本发明要解决的技术问题在于提供一种双核芯片及其程序备份和恢复的方法,其不利用外部存储装置,就可以安全快速的进行交叉备份以及快速恢复。
为了解决上述问题,根据本发明的第一个方面,本发明提供一种双核芯片,其包括:第一中央处理器CPU1,其简称CPU1;第二中央处理器CPU2;第一闪存模块,其被所述第一中央处理器CPU1操作,其包括CPU1引导加载程序区、CPU1应用程序执行区、CPU1应用程序暂存区和CPU2应用程序备份区;第二闪存模块,其被所述第二中央处理器CPU2操作,其包括CPU2引导加载程序区、CPU2应用程序执行区、CPU2应用程序暂存区和CPU1应用程序备份区;内部通讯总线,其用于第一中央处理器CPU1和第二中央处理器CPU2之间通信连接;外部通讯总线,其用于第一中央处理器CPU1、第二中央处理器CPU2与外部通讯。
根据本发明的第二个方面,本发明提供一种双核芯片的程序恢复方法,其包括:所述CPU1检测系统是否正常,如果正常则继续检测,否则,CPU1停止工作;所述CPU1停止工作后通知所述CPU2停止工作;所述CPU2把备份在所述第二闪存模块的CPU1应用程序备份区内的CPU1程序发送给所述CPU1;所述CPU1将接收到的所述CPU1程序写入所述第一闪存模块的CPU1应用程序暂存区;所述CPU1基于存贮于所述第一闪存模块的CPU1应用程序暂存区的所述CPU1程序进行程序恢复。
根据本发明的第三个方面,本发明提供一种双核芯片的程序恢复方法,其包括:所述CPU1接收到程序恢复指令;所述CPU1停止工作;所述CPU1停止工作后,通知所述CPU2停止工作;所述CPU2把备份在所述第二闪存模块中的CPU1应用程序备份区内的CPU1程序发送给所述CPU1;所述CPU1将接收到的所述CPU1程序写入所述第一闪存模块的CPU1应用程序暂存区;所述CPU1把备份在所述第一闪存模块中的CPU2应用程序备份区内的CPU2程序发送给所述CPU2;所述CPU2将接收到的所述CPU2程序写入所述第二闪存模块的CPU2应用程序暂存区;所述CPU1基于存贮于所述第一闪存模块的CPU1应用程序暂存区的所述CPU1程序进行程序恢复,且所述CPU2基于存贮于所述第二闪存模块的CPU2应用程序暂存区的所述CPU2程序进行程序恢复。
根据本发明的第四个方面,本发明提供一种双核芯片的程序备份方法,其包括:所述CPU1接收到程序备份指令;所述CPU2把所述第二闪存模块中的CPU2应用程序执行区内的CPU2程序发送给所述CPU1;所述CPU1将接收到的所述CPU2程序写入所述第一闪存模块的CPU2应用程序备份区;所述CPU1把所述第一闪存模块中的CPU1应用程序执行区内的CPU1程序发送给所述CPU2;所述CPU2将接收到的所述CPU1程序写入所述第二闪存模块的CPU1应用程序备份区。
相对于现有技术,本发明中的双核芯片不利用外部存储装置,就可以安全快速的进行交叉备份以及快速恢复,以防特殊情况下,单一芯片程序出错导致系统无法正常运行,从而延长整个嵌入式系统的使用寿命,和整个系统的抗干扰性。
关于本发明的其他目的,特征以及优点,下面将结合附图在具体实施方式中详细描述。
【附图说明】
结合参考附图及接下来的详细描述,本发明将更容易理解,其中同样的附图标记对应同样的结构部件,其中:
图1为本发明在一个实施例中的双核芯片的结构示意图;
图2为图1所示的双核芯片的程序恢复方法在一个实施例中的流程示意图;
图3为图1所示的双核芯片的程序恢复方法在另一个实施例中的流程示意图;
图4为图1所示的双核芯片的程序备份方法在一个实施例中的流程示意图。
【具体实施方式】
为使本发明的上述目的、特征和优点能够更加明显易懂,下面结合附图和具体实施方式对本发明作进一步详细的说明。
此处所称的“一个实施例”或“实施例”是指与所述实施例相关的特定特征、结构或特性至少可包含于本发明至少一个实现方式中。在本说明书中不同地方出现的“在一个实施例中”并非必须都指同一个实施例,也不必须是与其他实施例互相排斥的单独或选择实施例。本发明中的“多个”、“若干”表示两个或两个以上。本发明中的“和/或”表示“和”或者“或”。
请参考图1所示,其为本发明在一个实施例中的双核芯片的结构示意图。图1所示的双核芯片110包括第一中央处理器(CPU,central processing unit)CPU1、第二中央处理器CPU2、第一闪存模块112(或快闪存储器,flash memory)和第二闪存模块114。
第一中央处理器CPU1通过内部通信总线与第二中央处理器CPU2通信连接;第一闪存模块112被第一中央处理器CPU1操作(或第一中央处理器CPU1对第一闪存模块112进行权限管理);第二闪存模块114被第二中央处理器CPU2操作(或第二中央处理器CPU2对第二闪存模块114进行权限管理)。
为了便于描述,下文中CPU1即为第一中央处理器CPU1,CPU2即为第二中央处理器CPU2。
第一闪存模块112分出四个区域:第一区域为CPU1引导加载程序(BootLoader)区、第二个区域为CPU1应用程序执行区、第三个区域为CPU1应用程序暂存区、第四个区为CPU2应用程序备份区。其中,CPU1引导加载程序(BootLoader)区为固定程序,其用于执行升级;CPU1应用程序执行区用于存储CPU1实际运行的应用程序(或CPU1正常运行的应用程序);CPU1应用程序暂存区用于存储CPU1即将升级的程序;CPU2应用程序备份区用于备份完整的CPU2程序。第二闪存模块114也分出四个区域:第一区域为CPU2引导加载程序(BootLoader)区、第二个区域为CPU2应用程序执行区、第三个区域为CPU2应用程序暂存区、第四个区为CPU1应用程序备份区。其中,CPU2引导加载程序(BootLoader)区为固定程序,其用于执行升级;CPU2应用程序执行区用于存储CPU2实际运行的应用程序(或CPU2正常运行的应用程序);CPU2应用程序暂存区用于存储CPU2即将升级的程序;CPU1应用程序备份区用于备份完整的CPU1程序。也就是说,所述CPU1引导加载程序区和CPU2引导加载程序区分别用于存储与其对应的CPU的引导加载程序,并分别用于接收与其对应的CPU的升级应用程序并执行升级;所述CPU1应用程序执行区和CPU2应用程序执行区分别用于存储与其对应的CPU实际运行的应用程序;所述CPU1应用程序暂存区和CPU2应用程序暂存区分别用于存储与其对应的CPU即将升级的程序;所述CPU1应用程序备份区和CPU2应用程序备份区分别用于备份完整的对方CPU程序,即在CPU1中备份CPU2程序,在CPU2中备份CPU1程序。
在图1所示的具体实施例中,所述第一闪存模块112位于第一中央处理器CPU1内部,即所述第一闪存模块112为第一中央处理器CPU1的内部Flash;所述第二闪存模块114位于第二中央处理器CPU2内部,即所述第二闪存模块114为第二中央处理器CPU2的内部Flash。
与升级相关的有两个外设,一个为内部通讯总线,其连接CPU1和CPU2,用于CPU1和CPU2之间的通讯;一个为外部通讯总线,其可以为I2C、SPI、SCI、CAN等等,其用于双核芯片110和外部通讯装置120通信(或通讯)。
请参考图2所示,其为图1所示的双核芯片的程序恢复方法在一个实施例中的流程示意图。图2所示的双核芯片的程序恢复方法为双核芯片110自身发现程序异常并主动进行恢复,其以CPU1为例,具体介绍了图1所示的双核芯片中CPU1的程序恢复方法,其包括如下步骤。
步骤201、CPU1检测系统是否正常(或CPU1自检程序是否正常),如果正常(为是)则继续检测,如果不正常(为否)则进入步骤2。
步骤202、CPU1停止工作,开始恢复程序。
步骤203、CPU1通过内部通讯总线,通知CPU2停止工作。
步骤204、CPU2把备份在CPU2的FLASH(即第二闪存模块)114中的CPU1应用程序备份区内的CPU1程序通过内部通讯总线发送给CPU1。
步骤205、CPU1开始校验接收到的CPU1程序,如果程序通过校验(为是)则进入步骤208,如果校验不通过(为否)则进入步骤206。
步骤206、判断校验不通过是否超过三次,若超过三次(为是)进入步骤207,若未超过三次(为否)则进入步骤204。
步骤207、通过外部通讯总线,发送恢复失败指令,结束。
步骤208、CPU1将接收到的CPU1程序写入CPU1的FLASH(即第一闪存模块)112的CPU1应用程序暂存区。
步骤209、CPU1置高程序更新标志位。
步骤210、CPU1和CPU2重启进入各自的BootLoader(引导加载程序)。
步骤211、CPU1从其内部FLASH(即第一闪存模块)112的CPU1程序暂存区搬运CPU1程序到CPU1程序执行区.
步骤212、CPU1重置程序更新标志。
步骤213、CPU1和CPU2再次重启进入各自的BootLoader(引导加载程序)。
步骤214、CPU1和CPU2正常运行。具体的,CPU1和CPU2加载各自的应用程序执行区数据,开始正常运行。例如,CPU1加载其内部Flash(即第一闪存模块)112的CPU1程序执行区的数据;CPU2加载其内部Flash(即第二闪存模块)114的CPU1程序执行区的数据。
步骤215、CPU1通过外部通讯总线发送恢复成功指令,结束。
需要说明的是,图1所示的双核芯片中CPU2的程序恢复方法与上述图2所示的双核芯片中CPU1的程序恢复方法相类似,故在此不再赘述。
请参考图3所示,其为图1所示的双核芯片的程序恢复方法在另一个实施例中的流程示意图。图3所示的双核芯片的程序恢复方法为外部通讯发送指令,对CPU1和CPU2进行程序恢复。图3所示的双核芯片的程序恢复方法包括如下步骤。
步骤301、CPU1基于外部通讯总线接收到程序恢复指令,开始执行恢复。
步骤302、CPU1停止工作。
步骤303、CPU1通过内部通讯总线,通知CPU2停止工作。
步骤304、CPU2把备份在CPU2的FLASH(即第二闪存模块)114中的CPU1应用程序备份区内的CPU1程序通过内部通讯总线发送给CPU1。
步骤305、CPU1开始校验接收到的CPU1程序,如果程序通过校验(为是)则进入步骤308,如果校验不通过(为否)则进入步骤306。
步骤306、判断校验不通过是否超过三次,若超过三次(为是)进入步骤307,若未超过三次(为否)则进入步骤304。
步骤307、通过外部通讯总线,发送恢复失败指令,结束。
步骤308、CPU1将接收到的CPU1程序写入CPU1的FLASH(即第一闪存模块)112的CPU1应用程序暂存区。
步骤309、CPU1把备份在CPU1的FLASH(即第一闪存模块)112中的CPU2应用程序备份区内的CPU2程序通过内部通讯总线发送给CPU2。
步骤310、CPU2开始校验接收到的CPU2程序,如果程序通过校验(为是)则进入步骤312,如果校验不通过(为否)则进入步骤311。
步骤311、判断校验不通过是否超过三次,若超过三次(为是)进入步骤307,若未超过三次(为否)则进入步骤309。
步骤312、CPU2将接收到的CPU2程序写入CPU2的FLASH(即第二闪存模块)114的CPU2应用程序暂存区。
步骤313、CPU1和CPU2置高程序更新标志位。
步骤314、CPU1和CPU2重启进入各自的BootLoader(引导加载程序)。
步骤315、CPU1、CPU2从各自内部Flash的程序暂存区搬运(或复制)数据至程序执行区。具体的,CPU1和CPU2判断程序更新标志位为高,开始从各自程序暂存区复制数据到程序执行区。例如,CPU1从其内部Flash(即第一闪存模块)112的CPU1应用程序暂存区复制数据(例如,前述CPU1程序)到CPU1程序执行区;CPU2从其内部Flash(即第二闪存模块)114的CPU2应用程序暂存区复制数据(例如,前述CPU2程序)到CPU2程序执行区。
步骤316、CPU1和CPU2重置程序更新标志。
步骤317、CPU1和CPU2再次重启进入各自的BootLoader(引导加载程序)。
步骤318、CPU1和CPU2正常运行。具体的,CPU1和CPU2加载各自的应用程序执行区数据,开始正常运行。例如,CPU1加载其内部Flash(即第一闪存模块)112的CPU1程序执行区的数据;CPU2加载其内部Flash(即第二闪存模块)114的CPU1程序执行区的数据。
步骤319、CPU1通过外部通讯总线发送恢复成功指令,结束。
请参考图4所示,其为图1所示的双核芯片的程序备份方法在一个实施例中的流程示意图。图4所示的双核芯片的程序备份方法为外部通讯发送指令,对CPU1和CPU2进行程序备份。图4所示的双核芯片的程序备份方法包括如下步骤。
步骤401、CPU1基于外部通讯总线接收到程序备份指令,开始执行备份。
步骤402、CPU2把CPU2内部FLASH(即第二闪存模块)114中的CPU2应用程序执行区的CPU2程序通过内部通讯总线发送给CPU1;
步骤403、CPU1开始校验接收到的CPU2程序,如果程序通过校验(为是)则进入步骤406,如果校验不通过(为否)则进入步骤404。
步骤404、判断校验不通过是否超过三次(或重复三次),若超过三次(为是)进入步骤405,若未超过三次(为否)则进入步骤402。
步骤405、通过外部通讯总线,发送备份失败指令,结束。
步骤406、CPU1将接收到的CPU2程序写入CPU1的FLASH(即第一闪存模块)112的CPU2应用程序备份区。
步骤407、CPU1将CPU1内部FLASH(即第一闪存模块)112中的CPU1应用程序执行区的CPU1程序通过内部通讯总线发送给CPU2;
步骤408、CPU2开始校验接收到的CPU1程序,如果程序通过校验(为是)则进入步骤410,如果校验不通过(为否)则进入步骤409。
步骤409、判断校验不通过是否超过三次(或重复三次),若超过三次(为是)进入步骤405,若未超过三次(为否)则进入步骤407。
步骤410、CPU2将接收到的CPU1程序写入CPU2的FLASH(即第二闪存模块)114的CPU1应用程序备份区。
步骤411、通过外部通讯总线发送备份成功指令,结束。
综上可知,本发明中的双核芯片通过利用芯片内部Flash空间,简单可靠地实现了程序备份和恢复,提高了整个系统的MTBF(平均故障间隔时间),提高了整个嵌入式系统的抗干扰恢复能力。
在本发明中,“连接”、相连、“连”、“接”等表示电性相连或通信连接的词语,如无特别说明,则表示直接或间接的电性或通信连接。本文中的“耦接”是指间接或直接电性的连接,间接的连接可以是经过一个或多个电器件(比如电阻、电容、电感等)电性相连。
上述说明已经充分揭露了本发明的具体实施方式。需要指出的是,熟悉该领域的技术人员对本发明的具体实施方式所做的任何改动均不脱离本发明的权利要求书的范围。相应地,本发明的权利要求的范围也并不仅仅局限于前述具体实施方式。

Claims (14)

1.一种双核芯片,其特征在于,其包括:
第一中央处理器CPU1,其简称CPU1;
第二中央处理器CPU2,其简称CPU2;
第一闪存模块,其被所述第一中央处理器CPU1操作,其包括CPU1引导加载程序区、CPU1应用程序执行区、CPU1应用程序暂存区和CPU2应用程序备份区;
第二闪存模块,其被所述第二中央处理器CPU2操作,其包括CPU2引导加载程序区、CPU2应用程序执行区、CPU2应用程序暂存区和CPU1应用程序备份区;
内部通讯总线,其用于第一中央处理器CPU1和第二中央处理器CPU2之间通信连接;
外部通讯总线,其用于第一中央处理器CPU1、第二中央处理器CPU2与外部通讯。
2.根据权利要求1所述的双核芯片,其特征在于,
所述CPU1引导加载程序区和CPU2引导加载程序区分别用于给对应的CPU执行升级;
所述CPU1应用程序执行区和CPU2应用程序执行区分别用于存储与其对应的CPU实际运行的应用程序;
所述CPU1应用程序暂存区和CPU2应用程序暂存区分别用于存储与其对应的CPU即将升级的程序;
CPU1应用程序备份区用于备份完整的CPU1程序,CPU2应用程序备份区用于备份完整的CPU2程序。
3.根据权利要求1所述的双核芯片其特征在于,
所述第一闪存模块位于所述第一中央处理器CPU1内部;
所述第二闪存模块位于所述第二中央处理器CPU2内部。
4.根据权利要求1-3任一所述的双核芯片,其特征在于,
所述CPU1用于检测系统是否正常,如果正常则继续检测,否则,CPU1停止工作;所述CPU1还用于停止工作后通知所述CPU2停止工作;所述CPU2用于把备份在所述第二闪存模块的CPU1应用程序备份区内的CPU1程序发送给所述CPU1;所述CPU1还用于将接收到的所述CPU1程序写入所述第一闪存模块的CPU1应用程序暂存区;所述CPU1还用于基于存贮于所述第一闪存模块的CPU1应用程序暂存区的所述CPU1程序进行程序恢复,或
所述CPU1用于接收到程序恢复指令并停止工作;所述CPU1还用于在停止工作后,通知所述CPU2停止工作;所述CPU2用于把备份在所述第二闪存模块中的CPU1应用程序备份区内的CPU1程序发送给所述CPU1;所述CPU1还用于将接收到的所述CPU1程序写入所述第一闪存模块的CPU1应用程序暂存区;所述CPU1还用于把备份在所述第一闪存模块中的CPU2应用程序备份区内的CPU2程序发送给所述CPU2;所述CPU2还用于将接收到的所述CPU2程序写入所述第二闪存模块的CPU2应用程序暂存区;所述CPU1还用于基于存贮于所述第一闪存模块的CPU1应用程序暂存区的所述CPU1程序进行程序恢复,且所述CPU2还用于基于存贮于所述第二闪存模块的CPU2应用程序暂存区的所述CPU2程序进行程序恢复,或
所述CPU1用于接收到程序备份指令;所述CPU2用于把所述第二闪存模块中的CPU2应用程序执行区内的CPU2程序发送给所述CPU1;所述CPU1还用于将接收到的所述CPU2程序写入所述第一闪存模块的CPU2应用程序备份区;所述CPU1还用于把所述第一闪存模块中的CPU1应用程序执行区内的CPU1程序发送给所述CPU2;所述CPU2还用于将接收到的所述CPU1程序写入所述第二闪存模块的CPU1应用程序备份区。
5.根据权利要求1-3任一所述的双核芯片的程序恢复方法,其特征在于,其包括:
所述CPU1检测系统是否正常,如果正常则继续检测,否则,CPU1停止工作;
所述CPU1停止工作后通知所述CPU2停止工作;
所述CPU2把备份在所述第二闪存模块的CPU1应用程序备份区内的CPU1程序发送给所述CPU1;
所述CPU1将接收到的所述CPU1程序写入所述第一闪存模块的CPU1应用程序暂存区;
所述CPU1基于存贮于所述第一闪存模块的CPU1应用程序暂存区的所述CPU1程序进行程序恢复。
6.根据权利要求5所述的双核芯片的程序恢复方法,其特征在于,其包括在所述CPU1将接收到的所述CPU1程序写入所述第一闪存模块的CPU1应用程序暂存区前,所述CPU1将接收到的所述CPU1程序进行程序校验的步骤,
所述CPU1将接收到的所述CPU1程序进行程序校验的步骤包括:
所述CPU1开始校验接收到的所述CPU1程序,如果程序通过校验,则进入“所述CPU1将接收到的所述CPU1程序写入所述第一闪存模块的CPU1应用程序暂存区”步骤,否则,判断校验不通过是否超过预定次数;
若超过所述预定次数,则通过外部通讯总线,发送恢复失败指令,否则返回“所述CPU2把备份在所述第二闪存模块的CPU1应用程序备份区内的CPU1程序发送给所述CPU1”步骤。
7.根据权利要求5所述的双核芯片的程序恢复方法,其特征在于,“所述CPU1基于存贮于所述第一闪存模块的CPU1应用程序暂存区的所述CPU1程序进行程序恢复”步骤包括:
所述CPU1置高程序更新标志位;
所述CPU1和CPU2重启进入各自的引导加载程序;
所述CPU1从第一闪存模块的CPU1程序暂存区搬运CPU1程序到CPU1程序执行区;
所述CPU1重置程序更新标志;
所述CPU1和CPU2再次重启进入各自的引导加载程序;
所述CPU1和CPU2加载各自对应的闪存模块中的应用程序执行区的CPU程序,开始正常运行
通过外部通讯总线发送恢复成功指令。
8.根据权利要求1-3任一所述的双核芯片的程序恢复方法,其特征在于,其包括:
所述CPU1接收到程序恢复指令;
所述CPU1停止工作;
所述CPU1停止工作后,通知所述CPU2停止工作;
所述CPU2把备份在所述第二闪存模块中的CPU1应用程序备份区内的CPU1程序发送给所述CPU1;
所述CPU1将接收到的所述CPU1程序写入所述第一闪存模块的CPU1应用程序暂存区;
所述CPU1把备份在所述第一闪存模块中的CPU2应用程序备份区内的CPU2程序发送给所述CPU2;
所述CPU2将接收到的所述CPU2程序写入所述第二闪存模块的CPU2应用程序暂存区;
所述CPU1基于存贮于所述第一闪存模块的CPU1应用程序暂存区的所述CPU1程序进行程序恢复,且所述CPU2基于存贮于所述第二闪存模块的CPU2应用程序暂存区的所述CPU2程序进行程序恢复。
9.根据权利要求8所述的双核芯片的程序恢复方法,其特征在于,其包括在所述CPU1将接收到的所述CPU1程序写入所述第一闪存模块的CPU1应用程序暂存区前,所述CPU1将接收到的所述CPU1程序进行程序校验的步骤,
所述CPU1将接收到的所述CPU1程序进行程序校验的步骤包括:
所述CPU1开始校验接收到的所述CPU1程序,如果程序通过校验,则进入“所述CPU1将接收到的所述CPU1程序写入所述第一闪存模块的CPU1应用程序暂存区”步骤,否则,判断校验不通过是否超过预定次数;
若超过所述预定次数,则通过外部通讯总线,发送恢复失败指令,否则返回“所述CPU2把备份在所述第二闪存模块中的CPU1应用程序备份区内的CPU1程序发送给所述CPU1”步骤。
10.根据权利要求8所述的双核芯片的程序恢复方法,其特征在于,其包括在所述CPU2将接收到的所述CPU2程序写入所述第二闪存模块的CPU2应用程序暂存区前,所述CPU2将接收到的所述CPU2程序进行程序校验的步骤,
所述CPU2将接收到的所述CPU2程序进行程序校验的步骤包括:
所述CPU2开始校验接收到的所述CPU2程序,如果程序通过校验,则进入“所述CPU2将接收到的所述CPU2程序写入所述第二闪存模块的CPU2应用程序暂存区”步骤,否则,判断校验不通过是否超过预定次数;
若超过所述预定次数,则通过外部通讯总线,发送恢复失败指令,否则返回“所述CPU1把备份在所述第一闪存模块中的CPU2应用程序备份区内的CPU2程序发送给所述CPU2”步骤。
11.根据权利要求8所述的双核芯片的程序恢复方法,其特征在于,“所述CPU1基于存贮于所述第一闪存模块的CPU1应用程序暂存区的所述CPU1程序进行程序恢复,且所述CPU2基于存贮于所述第二闪存模块的CPU2应用程序暂存区的所述CPU2程序进行程序恢复”步骤包括:
所述CPU1和CPU2置高程序更新标志位;
所述CPU1和CPU2重启进入各自的引导加载程序;
所述CPU1和CPU2从各自对应的闪存模块中的程序暂存区搬运对应的CPU程序至程序执行区;
所述CPU1和CPU2重置程序更新标志位;
所述CPU1和CPU2再次重启进入各自的引导加载程序;
所述CPU1和CPU2加载各自对应的闪存模块中的应用程序执行区的CPU程序,开始正常运行;
通过外部通讯总线发送升级成功指令。
12.根据权利要求1-3任一所述的双核芯片的程序备份方法,其特征在于,其包括:
所述CPU1接收到程序备份指令;
所述CPU2把所述第二闪存模块中的CPU2应用程序执行区内的CPU2程序发送给所述CPU1;
所述CPU1将接收到的所述CPU2程序写入所述第一闪存模块的CPU2应用程序备份区;
所述CPU1把所述第一闪存模块中的CPU1应用程序执行区内的CPU1程序发送给所述CPU2;
所述CPU2将接收到的所述CPU1程序写入所述第二闪存模块的CPU1应用程序备份区。
13.根据权利要求12所述的双核芯片的程序备份方法,其特征在于,其包括在所述CPU1将接收到的所述CPU2程序写入所述第一闪存模块的CPU2应用程序备份区前,所述CPU1将接收到的所述CPU2程序进行程序校验的步骤,
所述CPU1将接收到的所述CPU2程序进行程序校验的步骤包括:
所述CPU1开始校验接收到的所述CPU2程序,如果程序通过校验,则进入“所述CPU1将接收到的所述CPU2程序写入所述第一闪存模块的CPU2应用程序备份区”步骤,否则,判断校验不通过是否超过预定次数;
若超过所述预定次数,则通过外部通讯总线,发送恢复失败指令,否则返回“所述CPU2把所述第二闪存模块中的CPU2应用程序执行区内的CPU2程序发送给所述CPU1”步骤。
14.根据权利要求12所述的双核芯片的程序备份方法,其特征在于,其包括在所述CPU2将接收到的所述CPU1程序写入所述第二闪存模块的CPU1应用程序备份区前,所述CPU2将接收到的所述CPU1程序进行程序校验的步骤,
所述CPU2将接收到的所述CPU1程序进行程序校验的步骤包括:
所述CPU2开始校验接收到的所述CPU1程序,如果程序通过校验,则进入“所述CPU2将接收到的所述CPU1程序写入所述第二闪存模块的CPU1应用程序备份区”步骤,否则,判断校验不通过是否超过预定次数;
若超过所述预定次数,则通过外部通讯总线,发送恢复失败指令,否则返回“所述CPU1把所述第一闪存模块中的CPU1应用程序执行区内的CPU1程序发送给所述CPU2”步骤。
CN202011053030.0A 2020-09-29 2020-09-29 一种双核芯片及其程序备份和恢复的方法 Pending CN112148531A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202011053030.0A CN112148531A (zh) 2020-09-29 2020-09-29 一种双核芯片及其程序备份和恢复的方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202011053030.0A CN112148531A (zh) 2020-09-29 2020-09-29 一种双核芯片及其程序备份和恢复的方法

Publications (1)

Publication Number Publication Date
CN112148531A true CN112148531A (zh) 2020-12-29

Family

ID=73894322

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202011053030.0A Pending CN112148531A (zh) 2020-09-29 2020-09-29 一种双核芯片及其程序备份和恢复的方法

Country Status (1)

Country Link
CN (1) CN112148531A (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TWI806302B (zh) * 2021-12-22 2023-06-21 大陸商北京集創北方科技股份有限公司 級聯用觸控暨顯示驅動整合晶片、觸控顯示裝置及資訊處理裝置

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TWI806302B (zh) * 2021-12-22 2023-06-21 大陸商北京集創北方科技股份有限公司 級聯用觸控暨顯示驅動整合晶片、觸控顯示裝置及資訊處理裝置

Similar Documents

Publication Publication Date Title
CN106598635B (zh) 基板管理控制器的恢复方法及基板管理控制器
US9158628B2 (en) Bios failover update with service processor having direct serial peripheral interface (SPI) access
US6463550B1 (en) Computer system implementing fault detection and isolation using unique identification codes stored in non-volatile memory
US9846616B2 (en) Boot recovery system
US10303459B2 (en) Electronic system with update control mechanism and method of operation thereof
US20120110378A1 (en) Firmware recovery system and method of baseboard management controller of computing device
US7941658B2 (en) Computer system and method for updating program code
US8341390B2 (en) Computer system and method for backing up BIOS settings
CN101815988A (zh) 固件映像更新和管理
WO2023109880A1 (zh) 一种业务恢复方法、数据处理单元及相关设备
US20230060908A1 (en) Computer system and method for booting up the computer system
US10824517B2 (en) Backup and recovery of configuration files in management device
CN112148339A (zh) 一种双核芯片及其程序更新方法
CN111552592A (zh) 一种双备份启动方法及系统
US10803001B2 (en) Electronic device and operating method thereof
CN111124749A (zh) 紧耦合高性能计算机系统bmc系统自动修复方法及修复系统
CN112148531A (zh) 一种双核芯片及其程序备份和恢复的方法
JP6599725B2 (ja) 情報処理装置およびログ管理方法、並びにコンピュータ・プログラム
CN213751052U (zh) 一种可进行程序备份和恢复的双核芯片
US11740969B2 (en) Detecting and recovering a corrupted non-volatile random-access memory
CN115904831A (zh) 一种服务器固件的启动方法及终端
KR20050120856A (ko) Usb 메모리 장치를 이용한 임베디드 시스템의 장애복구 및 업그레이드 방법
CN113377425A (zh) Bmc固件生成方法和装置、bmc启动方法和装置及存储介质
CN213751050U (zh) 一种双核芯片
CN110727544A (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