CN105653405B - 一种通用引导程序的故障处理方法及系统 - Google Patents

一种通用引导程序的故障处理方法及系统 Download PDF

Info

Publication number
CN105653405B
CN105653405B CN201511031285.6A CN201511031285A CN105653405B CN 105653405 B CN105653405 B CN 105653405B CN 201511031285 A CN201511031285 A CN 201511031285A CN 105653405 B CN105653405 B CN 105653405B
Authority
CN
China
Prior art keywords
selection signal
chip selection
memory
switch unit
processor
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
Application number
CN201511031285.6A
Other languages
English (en)
Other versions
CN105653405A (zh
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.)
Beijing Ruian Technology Co Ltd
Original Assignee
Beijing Ruian 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 Beijing Ruian Technology Co Ltd filed Critical Beijing Ruian Technology Co Ltd
Priority to CN201511031285.6A priority Critical patent/CN105653405B/zh
Publication of CN105653405A publication Critical patent/CN105653405A/zh
Application granted granted Critical
Publication of CN105653405B publication Critical patent/CN105653405B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

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/16Error detection or correction of the data by redundancy in hardware
    • G06F11/1658Data re-synchronization of a redundant component, or initial sync of replacement, additional or spare unit
    • G06F11/1662Data re-synchronization of a redundant component, or initial sync of replacement, additional or spare unit the resynchronized component or unit being a persistent storage device
    • 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/1666Error detection or correction of the data by redundancy in hardware where the redundant component is memory or memory area

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Retry When Errors Occur (AREA)
  • Hardware Redundancy (AREA)

Abstract

本发明公开了一种通用引导程序的故障处理方法及系统,其中,方法包括:处理器通过片选信号切换单元启动主用存储器,作为目标存储器;若主用存储器中的通用引导程序运行正常,则所述处理器向所述片选信号切换单元发送准备就绪信号,所述准备就绪信号表示所述目标存储器中的通用引导程序运行正常;若所述片选信号切换单元在预设时间内未接收到所述准备就绪信号,则将目标存储器切换片选到备用存储器;所述处理器检测到启动的目标存储器为备用存储器时,将备用存储器中的通用引导程序拷贝到所述主用存储器中,以修复所述主用存储器中的通用引导程序。本发明解决了现有技术中主U‑boot损坏时,无法启动备用U‑boot的问题,保证了系统启动的稳定性。

Description

一种通用引导程序的故障处理方法及系统
技术领域
本发明涉及嵌入式系统领域,尤其涉及一种通用引导程序的故障处理方法及系统。
背景技术
嵌入式系统是一种专用的计算机系统,在社会各领域中都有着广泛的应用。但是由于嵌入式系统的工作环境以及使用者等的多样性,嵌入式系统在实际环境中投入运行后,外部恶劣环境因素、用户错误或恶意擦除存储器中的数据等都会导致系统功能失效,严重的可能导致系统瘫痪,无法启动。对于任何嵌入式系统,系统可靠性是保障系统正常运行和有效工作的基础,简单的讲就是使系统尽可能地少出故障,万一出现故障能在最短的时间里检测到并修复,使系统继续投入正常工作。
U-boot(Universal Boot Loader,通用启动引导程序)是一种普遍应用于嵌入式系统上,用于引导Linux、vxwork等多种嵌入式操作系统内核的引导程序。该程序在嵌入式系统上电后最先执行,初始化设备并建立适当的软硬件环境,为最终调用操作系统内核做好准备。因此U-boot软件的可靠性直接关系到嵌入式设备能否正常启动、正常运行。
目前在嵌入式系统上,检测U-boot软件可靠性并修复的方式主要有以下三种:
一、人工检测并使用烧写器方式恢复损坏的U-boot软件。在该种方式下,维护人员发现嵌入式设备上电后,若U-boot软件无法运行,则需要将设备从机架中取出,然后使用JTAG(Joint Test Action Group,联合测试行动组)烧写器通过相应的硬件编程接口恢复设备的U-boot软件。该过程完成后,再将设备放入机架,重新上电工作。但该种方式需要现场维护人员将设备断电,并从机架中取出,然后插入JTAG烧写器连接设备和PC机进行修复,该过程操作复杂,且对于部署在现场的设备在无维护人员在场的情况下,无法完成。
二、双机热备的方式。该种方式需要两个设备作为主备系统互相备份,当主设备出现启动故障后,备用设备自动升级为主设备,继续完成系统任务。该种方式不需要人工干预,且能应对设备出现的包括启动失败在内的很多严重系统故障,但由于采用独立的两套设备互相备份,因此增加了一定的设计难度和部署成本。
三、通过在同一片闪存上分区存放两个U-boot软件的方式。这种方式的原理是在同一片FLASH上分区存放主备两个U-boot镜像文件。系统上电启动后,默认存放在主分区的U-boot软件先启动,当主分区U-boot启动过程中出现故障时自动跳转到备用U-boot分区启动,当备用分区的U-boot启动成功后,再将主用分区的U-boot恢复。该种方式解决了U-boot软件的备份问题,并且在主用U-boot启动失败后,自动切换的备用U-boot运行,该过程自动检测运行,不需要人工干预,并且还能恢复已经损坏的主用U-boot;但是,由于是在同一片FLASH上划分分区,存放主备U-boot软件,当系统上电后,由于CPU(Central ProcessingUnit,中央处理器)启动地址是固定的,上电第一条指令肯定先执行主U-boot分区的代码,但当主分区已经完全损坏,一条指令都无法运行时,根本没有办法进行跳转到备用U-boot的操作。
发明内容
有鉴于此,本发明的目的是提出一种通用引导程序的故障处理方法及系统,以解决现有技术中主U-boot损坏时,无法启动备用U-boot的问题,保证系统启动的稳定性。
为实现上述目的,本发明采用如下技术方案:
一方面,本发明实施例提供了一种通用引导程序的故障处理方法,包括:
嵌入式系统上电后,处理器通过片选信号切换单元启动主用存储器,作为目标存储器;
若主用存储器中的通用引导程序运行正常,则所述处理器向所述片选信号切换单元发送准备就绪信号,所述准备就绪信号表示所述目标存储器中的通用引导程序运行正常;
若所述片选信号切换单元在预设时间内未接收到所述准备就绪信号,则将目标存储器切换片选到备用存储器;
所述处理器检测到启动的目标存储器为备用存储器,将备用存储器中的通用引导程序拷贝到所述主用存储器中,以修复所述主用存储器中的通用引导程序。
进一步的,所述处理器通过片选信号切换单元启动主用存储器包括:
所述处理器将预设逻辑地址处理为片选信号传输给所述片选信号切换单元;
所述片选信号切换单元根据所述片选信号片选主用存储器。
进一步的,判断主用存储器中的通用引导程序是否运行正常包括:
所述处理器执行主用存储器中的通用引导程序,检测是否执行到操作系统内核跳转程序;
若执行到操作系统内核跳转程序,则判断所述通用引导程序运行正常。
进一步的,还包括:
若所述片选信号切换单元在所述预设时间内接收到所述准备就绪信号,则正常启动操作系统。
进一步的,所述预设时间根据所述通用引导程序启动操作系统内核的时间确定。
进一步的,在嵌入式系统上电后,还包括:
所述片选信号切换单元启动计时。
进一步的,在所述片选信号切换单元将目标存储器切换片选到备用存储器之后,所述处理器检测到启动的目标存储器为备用存储器之前,还包括:
所述片选信号切换单元硬复位所述处理器;
所述片选信号切换单元根据片选寄存器中的片选信号,启动备用存储器;
相应的,所述处理器检测到启动的目标存储器为备用存储器,将备用存储器中的通用引导程序拷贝到所述主用存储器中,包括:
所述处理器读取所述片选信号切换单元的片选寄存器中的片选信号;
所述处理器根据片选寄存器中的片选信号确定启动的目标存储器是否为备用存储器;
所述处理器在确定所述备用存储器启动时,将所述备用存储器中的通用引导程序加载到系统内存中;
所述处理器将所述系统内存中的通用引导程序拷贝到所述主用存储器中。
进一步的,在所述处理器将备用存储器中的通用引导程序拷贝到所述主用存储器中之后,还包括:
所述处理器向所述片选信号切换单元重新写入片选信号,以使所述片选信号切换单元切换片选到所述主用存储器。
进一步的,在所述处理器向所述片选信号切换单元重新写入片选信号之后,还包括:
所述处理器进行软重启;
所述片选信号切换单元根据片选寄存器中的片选信号,启动主用存储器;
所述处理器在确定所述主用存储器启动时,将所述主用存储器中的通用引导程序加载到系统内存中,以正常运行所述主用存储器中的通用引导程序。
另一方面,本发明实施例提供了一种一种通用引导程序的故障处理系统,包括处理器、片选信号切换单元、主用存储器和备用存储器;
所述处理器用于在嵌入式系统上电后,通过片选信号切换单元启动主用存储器,作为目标存储器;若主用存储器中的通用引导程序运行正常,则向所述片选信号切换单元发送准备就绪信号,所述准备就绪信号表示所述目标存储器中的通用引导程序运行正常;在检测到启动的目标存储器为备用存储器时,将备用存储器中的通用引导程序拷贝到所述主用存储器中,以修复所述主用存储器中的通用引导程序;
所述片选信号切换单元用于在嵌入式系统上电后,启动主用存储器;若在预设时间内未接收到所述准备就绪信号,则将目标存储器切换片选到备用存储器。
本发明的有益效果是:本发明提供的一种通用引导程序的故障处理方法及系统,通过主用存储器和备用存储器双备份U-boot,在主用存储器中的U-boot损坏而无法正常运行时,处理器通过片选信号切换单元切换片选到备用存储器,将备用存储器中的U-boot拷贝到主用存储器中,进而修复主用存储器中的U-boot,该方法由片选信号切换单元辅助切换片选可以启动的U-boot,解决了现有技术中主U-boot损坏时,无法启动备用U-boot的问题,保证了系统启动的稳定性。
附图说明
下面将通过参照附图详细描述本发明的示例性实施例,使本领域的普通技术人员更清楚本发明的上述及其他特征和优点,附图中:
图1是本发明实施例一提供的通用引导程序的故障处理方法的流程示意图;
图2是本发明实施例一提供的通用引导程序的故障检测方法的流程示意图;
图3是本发明实施例一提供的通用引导程序的故障修复方法的流程示意图;
图4是本发明实施例二提供的通用引导程序的故障处理方法的流程示意图;
图5是本发明实施例三提供的通用引导程序的故障处理系统的结构框图;
图6是本发明实施例四提供的通用引导程序的故障处理系统的结构框图。
具体实施方式
下面结合附图并通过具体实施方式来进一步说明本发明的技术方案。可以理解的是,此处所描述的具体实施例仅仅用于解释本发明,而非对本发明的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与本发明相关的部分而非全部结构。
实施例一
图1是本发明实施例一提供的通用引导程序的故障处理方法的流程示意图。该方法适用于检测并修复嵌入式系统中通用引导程序故障的情况,该方法可以由通用引导程序的故障处理系统来执行,该系统可以是嵌入式系统,参考图6所示,可以包括处理器、片选信号切换单元、主用存储器和备用存储器。如图1所示,该方法包括:
步骤110、嵌入式系统上电后,处理器通过片选信号切换单元启动主用存储器,作为目标存储器。
本实施例中,片选信号切换单元可以为复杂可编程逻辑器件(ComplexProgrammable Logic Device,CPLD),备份通用引导程序的存储器可包括主用存储器和备用存储器,主用存储器和备用存储器可以为闪存Flash,具体可以为NOR Flash。
嵌入式系统首次上电后,片选信号切换单元会启动默认存储器,作为目标存储器,通常将主用存储器设置为默认存储器。
示例性的,处理器通过片选信号切换单元启动主用存储器可以包括:处理器将预设逻辑地址处理为片选信号传输给片选信号切换单元;片选信号切换单元根据片选信号片选主用存储器。具体的,预设逻辑地址由处理器(Central Processing Unit,CPU)的型号决定,系统上电后,处理器的启动地址是固定的,例如,PowerPC系列处理器启动地址固定为0xfffffffc,该逻辑地址经过处理器处理后,可以通过局部总线Local bus向片选信号切换单元输出一个片选信号,片选信号切换单元根据片选信号中被处理的逻辑地址,向对应的默认存储器(即主用存储器)发送第零片选信号,以启动主用存储器。
步骤120、若主用存储器中的通用引导程序运行正常,则处理器向片选信号切换单元发送准备就绪信号。
其中,准备就绪信号表示目标存储器中的通用引导程序运行正常。
示例性的,处理器读取片选信号切换单元中的片选寄存器存储的片选信号,根据该片选信号可以确定目标存储器为主用存储器,执行主用存储器中的通用引导程序,若主用存储器中的通用引导程序运行正常,则处理器通过Local bus向片选信号切换单元发送准备就绪信号;若主用存储器中的通用引导程序运行失败,则处理器不发送准备就绪信号。
本实施例中,参见图2,判断主用存储器中的通用引导程序是否运行正常包括步骤121和步骤122:
步骤121、处理器执行主用存储器中的通用引导程序,检测是否执行到操作系统内核跳转程序。
步骤122、若执行到操作系统内核跳转程序,则判断通用引导程序运行正常。
其中,操作系统内核跳转程序表示内核启动过程已完成,通用引导程序运行正常。
显然,若处理器执行到操作系统内核跳转程序,则可以判断通用引导程序运行正常,否则,通用引导程序运行失败。
步骤130、若片选信号切换单元在预设时间内未接收到准备就绪信号,则将目标存储器切换片选到备用存储器。
若片选信号切换单元在预设时间内未接收到处理器发送的准备就绪信号,则说明主用存储器中的通用引导程序运行失败,其表明主用存储器中的通用引导程序已经损坏,此时,片选信号切换单元根据备用存储器的地址,向备用存储器的片选端发送第一片选信号,将目标存储器切换片选到备用存储器。
另外,若片选信号切换单元在预设时间内接收到准备就绪信号,则正常启动操作系统。
其中,预设时间根据通用引导程序启动操作系统内核的时间确定,即预设时间由通用引导程序从开始执行到执行到操作系统内核跳转程序的时间确定,例如,若通用引导程序启动操作系统内核的时间为60秒,则预设时间为60秒,此时,若片选信号切换单元在60秒内接收到准备就绪信号,则调用内核,正常启动操作系统。
步骤140、处理器检测到启动的目标存储器为备用存储器,将备用存储器中的通用引导程序拷贝到主用存储器中。
本实施例中的备用存储器用于提供完好无损的通用引导程序,不用于通用引导程序的执行,在主用存储器中的通用引导程序受损时,可将备用存储器中的通用引导程序拷贝到主用存储器中,以修复主用存储器中的通用引导程序。
示例性的,处理器读取片选信号切换单元中的片选寄存器最后存储的片选信号,根据该片选信号可以确定目标存储器为备用存储器,将备用存储器中的通用引导程序拷贝到主用存储器中,覆盖主用存储器中原来的通用引导程序,从而恢复了覆盖主用存储器中的通用引导程序。
本发明实施例一提供的通用引导程序的故障处理方法,通过主用存储器和备用存储器双备份U-boot,在主用存储器中的U-boot损坏而无法正常运行时,处理器通过片选信号切换单元切换片选到备用存储器,将备用存储器中的U-boot拷贝到主用存储器中,进而修复主用存储器中的U-boot,该方法由片选信号切换单元辅助切换片选可以启动的U-boot,解决了现有技术中主U-boot损坏时,无法启动备用U-boot的问题,保证了系统启动的稳定性。
进一步的,在嵌入式系统上电后,还包括:
片选信号切换单元启动计时,以判断是否在预设时间内接收到准备就绪信号。
进一步的,在片选信号切换单元将目标存储器切换片选到备用存储器之后,处理器检测到启动的目标存储器为备用存储器之前,还包括:
片选信号切换单元硬复位处理器。片选信号切换单元发送复位信号到处理器的硬复位管脚,将处理器复位,以清除系统内存中已损坏的通用引导程序,备份备用存储器中的通用引导程序。
片选信号切换单元根据片选寄存器中的片选信号,启动备用存储器;
相应的,参见图3,处理器检测到启动的目标存储器为备用存储器,将备用存储器中的通用引导程序拷贝到主用存储器中,包括:
步骤141、处理器读取片选信号切换单元的片选寄存器中的片选信号。
步骤142、处理器根据片选寄存器中的片选信号确定启动的目标存储器是否为备用存储器。
步骤143、处理器在确定备用存储器启动时,将备用存储器中的通用引导程序加载到系统内存中。
步骤144、处理器将系统内存中的通用引导程序拷贝到主用存储器中。
上述系统内存可以为双倍数据速率(Double Data Rate,DDR)内存。
进一步的,在处理器将备用存储器中的通用引导程序拷贝到主用存储器中之后,还包括:
处理器向片选信号切换单元重新写入片选信号,以使片选信号切换单元将备用存储器切换片选到主用存储器。
进一步的,在处理器向片选信号切换单元重新写入片选信号之后,还包括:
处理器进行软重启,以将主用存储器中修复后的通用引导程序加载到系统内存中;片选信号切换单元根据片选寄存器中的片选信号,启动主用存储器,以执行主用存储器中的通用引导程序;处理器在确定主用存储器启动时,将主用存储器中的通用引导程序加载到系统内存中,以正常运行主用存储器中的通用引导程序。
实施例二
图4是本发明实施例二提供通用引导程序的故障处理方法的流程示意图。本实施例以先进的电信计算平台(Advanced Telecom Computing Architecture,ATCA)接入板卡作为本实例的ATCA嵌入式设备,以PowerPC系列型号为P2020的CPU作为本实例系统的处理器,以两片NOR FLASH分别作为本实施例的主用存储器和备用存储器,以CPLD作为本实施例的片选信号切换单元。如图4所示,本实施例的方法包括以下步骤:
步骤210、嵌入式系统上电。
步骤220、CPLD启动计时。
步骤230、CPU输出片选信号给CPLD。
步骤240、CPLD根据片选寄存器中的片选信号启动目标Flash。
在系统首次上电后,寄存器中的片选信号为被CPU处理的CPU启动指令地址,CPLD根据片选寄存器中的片选信号启动主用Flash。
在CPLD硬复位CPU后,寄存器中的片选信号指示CPLD切换片选到备用Flash。
在CPU进行重启后,寄存器中的片选信号指示CPLD切换片选到主用Flash。
步骤250、CPU检测启动的目标Flash是否为主用Flash;若是则执行步骤260,否则,执行步骤2110。
步骤260、CPU执行主用Flash中通用引导程序。
步骤270、CPLD判断预设时间内是否接收到CPU发送的准备就绪信号;若是,则执行步骤280,否则,执行步骤290。
步骤280、正常启动操作系统,不进行故障修复。
步骤290、CPLD切换片选到备用Flash。
步骤2100、CPLD硬复位CPU,返回步骤240。
步骤2110、CPU从备用Flash中恢复主用Flash中的boot文件。
步骤2120、CPU通知CPLD切换片选到主用Flash。
步骤2130、CPU进行重启,返回步骤240。
本发明实施例二提供的通用引导程序的故障处理方法,通过主用Flash和备用Flash双备份U-boot,在主用Flash中的U-boot损坏而无法正常运行时,CPU通过CPLD将主用Flash切换片选到备用Flash,将备用Flash中的U-boot拷贝到主用Flash中,进而修复主用Flash中的U-boot,该方法由CPLD辅助切换片选可以启动的U-boot,解决了现有技术中主U-boot损坏时,无法启动备用U-boot的问题,保证了系统启动的稳定性。
实施例三
图5是本发明实施例三提供的通用引导程序的故障处理系统的结构框图。如图5所示,该系统包括处理器10、片选信号切换单元20、主用存储器30和备用存储器40。
其中,处理器10用于在嵌入式系统上电后,通过片选信号切换单元20启动主用存储器30,作为目标存储器;若主用存储器30中的通用引导程序运行正常,则向片选信号切换单元20发送准备就绪信号,准备就绪信号表示目标存储器中的通用引导程序运行正常;在检测到启动的目标存储器为备用存储器40时,将备用存储器40中的通用引导程序拷贝到主用存储器30中,以修复主用存储器30中的通用引导程序。
片选信号切换单元20用于在嵌入式系统上电后,启动主用存储器30;若在预设时间内未接收到准备就绪信号,则将目标存储器切换片选到备用存储器40。
参见图5,本实施例的通用引导程序的故障处理系统的工作原理为:在嵌入式系统上电后,处理器10通过局域总线向片选信号切换单元20发送片选信号,片选信号切换单元20根据片选信号输出第零片选信号CS0,启动默认存储器,即主用存储器;在处理器10检测到主用存储器30中的通用引导程序运行正常时,向片选信号切换单元20发送准备就绪信号,操作系统正常启动;若片选信号切换单元20在预设时间内未接收到准备就绪信号,则输出第一片选信号CS1,启动备用存储器40;在处理器10检测到备用存储器40启动时,将备用存储器40中的通用引导程序拷贝到主用存储器30中,以修复主用存储器30中的通用引导程序。
本发明实施例三所提供的通用引导程序的故障处理系统可以用于执行本发明实施例所提供的通用引导程序的故障处理方法,具备相应的功能和有益效果。
实施例四
图6是本发明实施例四提供的通用引导程序的故障处理系统的结构框图。如图6所示,该系统包括处理器10、片选信号切换单元20、主用存储器30、备用存储器40和系统内存50;主用存储器30和备用存储器40都备份有相同U-boot、内核和文件系统。
其中,处理器10用于在嵌入式系统上电后,通过片选信号切换单元20启动主用存储器30,作为目标存储器;若主用存储器30中的通用引导程序运行正常,则向片选信号切换单元20发送准备就绪信号,准备就绪信号表示目标存储器中的通用引导程序运行正常;在检测到启动的目标存储器为备用存储器40时,将备用存储器40中的通用引导程序拷贝到主用存储器30中,以修复主用存储器30中的通用引导程序;读取所述片选信号切换单元的片选寄存器中的片选信号;根据片选寄存器中的片选信号确定启动的目标存储器是否为备用存储器40,在确定备用存储器40启动时,将备用存储器40中的通用引导程序加载到系统内存50中,将系统内存50中的通用引导程序拷贝到主用存储器30中。
片选信号切换单元20用于在嵌入式系统上电后,启动主用存储器30;若在预设时间内未接收到准备就绪信号,则将目标存储器切换片选到备用存储器40;在片选信号切换单元20将目标存储器切换片选到备用存储器40之后,处理器10检测到启动的目标存储器为备用存储器40之前,硬复位处理器10,根据片选寄存器中的片选信号,启动备用存储器40。
系统内存50用于临时存储被处理器10从主用存储器30和备用存储器40加载的U-boot、内核和文件系统。
参见图6,本实施例的通用引导程序的故障处理系统的工作原理为:在嵌入式系统上电后,处理器10通过局域总线向片选信号切换单元20发送片选信号CS,片选信号切换单元20根据片选信号CS输出第零片选信号CS0,启动默认存储器,即主用存储器,处理器10将主用存储器中的通用引导程序加载到系统内存50中;在处理器10检测到主用存储器30中的通用引导程序运行正常时,向片选信号切换单元20发送准备就绪信号,操作系统正常启动;若片选信号切换单元20在预设时间内未接收到准备就绪信号,则切换片选到备用存储器40,硬复位处理器10,输出第一片选信号CS1,启动备用存储器40;在处理器10检测到备用存储器40启动时,将备用存储器40中的通用引导程序加载到系统内存50中,覆盖原有的通用引导程序,将加载到系统内存50中的通用引导程序拷贝到主用存储器30中,以修复主用存储器30中的通用引导程序。
本发明实施例四所提供的通用引导程序的故障处理系统可以用于执行本发明实施例所提供的通用引导程序的故障处理方法,具备相应的功能和有益效果。
注意,上述仅为本发明的较佳实施例及所运用技术原理。本领域技术人员会理解,本发明不限于这里所述的特定实施例,对本领域技术人员来说能够进行各种明显的变化、重新调整和替代而不会脱离本发明的保护范围。因此,虽然通过以上实施例对本发明进行了较为详细的说明,但是本发明不仅仅限于以上实施例,在不脱离本发明构思的情况下,还可以包括更多其他等效实施例,而本发明的范围由所附的权利要求范围决定。

Claims (10)

1.一种通用引导程序的故障处理方法,其特征在于,包括:
嵌入式系统上电后,处理器通过片选信号切换单元启动主用存储器,作为目标存储器;
若主用存储器中的通用引导程序运行正常,则所述处理器向所述片选信号切换单元发送准备就绪信号,所述准备就绪信号表示所述目标存储器中的通用引导程序运行正常;
若所述片选信号切换单元在预设时间内未接收到所述准备就绪信号,则将目标存储器切换片选到备用存储器;
所述处理器检测到启动的目标存储器为备用存储器,将备用存储器中的通用引导程序拷贝到所述主用存储器中,以修复所述主用存储器中的通用引导程序;
在所述主用存储器中的通用引导程序修复完成时,启动主用存储器,以运行主用存储器中的通用引导程序。
2.根据权利要求1所述的方法,其特征在于,所述处理器通过片选信号切换单元启动主用存储器包括:
所述处理器将预设逻辑地址处理为片选信号传输给所述片选信号切换单元;
所述片选信号切换单元根据所述片选信号片选主用存储器。
3.根据权利要求1所述的方法,其特征在于,判断主用存储器中的通用引导程序是否运行正常包括:
所述处理器执行主用存储器中的通用引导程序,检测是否执行到操作系统内核跳转程序;
若执行到操作系统内核跳转程序,则判断所述通用引导程序运行正常。
4.根据权利要求1所述的方法,其特征在于,还包括:
若所述片选信号切换单元在所述预设时间内接收到所述准备就绪信号,则正常启动操作系统。
5.根据权利要求4所述的方法,其特征在于,所述预设时间根据所述通用引导程序启动操作系统内核的时间确定。
6.根据权利要求1所述的方法,其特征在于,在嵌入式系统上电后,还包括:
所述片选信号切换单元启动计时。
7.根据权利要求1所述的方法,其特征在于,在所述片选信号切换单元将目标存储器切换片选到备用存储器之后,所述处理器检测到启动的目标存储器为备用存储器之前,还包括:
所述片选信号切换单元硬复位所述处理器;
所述片选信号切换单元根据片选寄存器中的片选信号,启动备用存储器;
相应的,所述处理器检测到启动的目标存储器为备用存储器,将备用存储器中的通用引导程序拷贝到所述主用存储器中,包括:
所述处理器读取所述片选信号切换单元的片选寄存器中的片选信号;
所述处理器根据片选寄存器中的片选信号确定启动的目标存储器是否为备用存储器;
所述处理器在确定所述备用存储器启动时,将所述备用存储器中的通用引导程序加载到系统内存中;
所述处理器将所述系统内存中的通用引导程序拷贝到所述主用存储器中。
8.根据权利要求7所述的方法,其特征在于,在所述处理器将备用存储器中的通用引导程序拷贝到所述主用存储器中之后,还包括:
所述处理器向所述片选信号切换单元重新写入片选信号,以使所述片选信号切换单元切换片选到所述主用存储器。
9.根据权利要求8所述的方法,其特征在于,在所述处理器向所述片选信号切换单元重新写入片选信号之后,还包括:
所述处理器进行软重启;
所述片选信号切换单元根据片选寄存器中的片选信号,启动主用存储器;
所述处理器在确定所述主用存储器启动时,将所述主用存储器中的通用引导程序加载到系统内存中,以正常运行所述主用存储器中的通用引导程序。
10.一种通用引导程序的故障处理系统,其特征在于,包括处理器、片选信号切换单元、主用存储器和备用存储器;
所述处理器用于在嵌入式系统上电后,通过片选信号切换单元启动主用存储器,作为目标存储器;若主用存储器中的通用引导程序运行正常,则向所述片选信号切换单元发送准备就绪信号,所述准备就绪信号表示所述目标存储器中的通用引导程序运行正常;在检测到启动的目标存储器为备用存储器时,将备用存储器中的通用引导程序拷贝到所述主用存储器中,以修复所述主用存储器中的通用引导程序;在所述主用存储器中的通用引导程序修复完成时,启动主用存储器,以运行主用存储器中的通用引导程序;
所述片选信号切换单元用于在嵌入式系统上电后,启动主用存储器;若在预设时间内未接收到所述准备就绪信号,则将目标存储器切换片选到备用存储器。
CN201511031285.6A 2015-12-31 2015-12-31 一种通用引导程序的故障处理方法及系统 Active CN105653405B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201511031285.6A CN105653405B (zh) 2015-12-31 2015-12-31 一种通用引导程序的故障处理方法及系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201511031285.6A CN105653405B (zh) 2015-12-31 2015-12-31 一种通用引导程序的故障处理方法及系统

Publications (2)

Publication Number Publication Date
CN105653405A CN105653405A (zh) 2016-06-08
CN105653405B true CN105653405B (zh) 2018-12-14

Family

ID=56490297

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201511031285.6A Active CN105653405B (zh) 2015-12-31 2015-12-31 一种通用引导程序的故障处理方法及系统

Country Status (1)

Country Link
CN (1) CN105653405B (zh)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108647114B (zh) * 2018-03-30 2022-03-08 斑马网络技术有限公司 车机操作系统及其启动方法、系统分区更新和恢复方法
CN110322921A (zh) * 2018-03-30 2019-10-11 华为技术有限公司 一种终端及电子设备
CN109582370B (zh) * 2018-11-01 2022-07-19 浙江大华技术股份有限公司 一种nor flash嵌入式设备的启动方法及装置
CN110427286B (zh) * 2019-08-09 2022-11-11 成都千立网络科技有限公司 网关服务器主备系统恢复方法
CN112883384B (zh) * 2021-03-04 2023-05-23 中国航空工业集团公司西安航空计算技术研究所 一种强鲁棒性的嵌入式计算机引导加载程序的保护方法
CN113778756A (zh) * 2021-09-16 2021-12-10 浪潮商用机器有限公司 一种bmc固件的故障恢复方法、装置、设备及介质

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1658161A (zh) * 2004-02-21 2005-08-24 华为技术有限公司 具有主用和备用引导程序的系统及启动方法
CN101017441A (zh) * 2007-02-27 2007-08-15 华为技术有限公司 一种电子设备、电子设备的启动方法及bios升级方法

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1658161A (zh) * 2004-02-21 2005-08-24 华为技术有限公司 具有主用和备用引导程序的系统及启动方法
CN101017441A (zh) * 2007-02-27 2007-08-15 华为技术有限公司 一种电子设备、电子设备的启动方法及bios升级方法

Also Published As

Publication number Publication date
CN105653405A (zh) 2016-06-08

Similar Documents

Publication Publication Date Title
CN105653405B (zh) 一种通用引导程序的故障处理方法及系统
CN101221508B (zh) 一种设备启动方法和装置
CN100492305C (zh) 一种计算机系统的快速恢复方法及设备
CN102520979A (zh) 一种Boot程序的备份方法和设备
CN102439565B (zh) 启动恢复的方法和装置
US20040158702A1 (en) Redundancy architecture of computer system using a plurality of BIOS programs
CN106598780A (zh) 一种系统备份与恢复的方法及装置
CN102906710B (zh) 一种BootRom备份方法和装置
US20030163744A1 (en) Information processing system, and method and program for controlling the same
CN102339227A (zh) 多固件嵌入式系统及其固件更新方法
CN104636217A (zh) 一种根文件系统自动备份和异常恢复方法和分区结构
CN104915226A (zh) 一种网络设备软件启动方法、装置及网络设备
CN106775674B (zh) 一种基于通用引导加载程序的设备及其启动方法
CN111767172A (zh) 一种基于看门狗及bootloader的机顶盒自修复办法
CN102508676A (zh) 嵌入式系统启动方法及装置
CN101739315A (zh) 自动启动备份韧件的系统与方法
CN103034511B (zh) 一种基本输入输出系统间的切换方法及装置
CN112148527A (zh) 服务器断电方法、装置及系统
CN108418707B (zh) 通信系统中双cpld互相在线备份升级方法及业务单板
CN111221683A (zh) 数据中心交换机双flash热备份方法、系统、终端及存储介质
CN101571817A (zh) 主机板及其基本输入输出系统的恢复方法与开机方法
CN201047943Y (zh) 一种计算机系统的快速恢复设备
EP2829974A2 (en) Memory dump method, information processing apparatus and program
CN102955724A (zh) Bios测试治具及使用其进行bios测试的方法
CN109117190A (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
GR01 Patent grant
GR01 Patent grant