一种通用引导程序的故障处理方法及系统技术方案

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

【技术实现步骤摘要】

本专利技术涉及嵌入式系统领域,尤其涉及一种通用引导程序的故障处理方法及系统
技术介绍
嵌入式系统是一种专用的计算机系统,在社会各领域中都有着广泛的应用。但是由于嵌入式系统的工作环境以及使用者等的多样性,嵌入式系统在实际环境中投入运行后,外部恶劣环境因素、用户错误或恶意擦除存储器中的数据等都会导致系统功能失效,严重的可能导致系统瘫痪,无法启动。对于任何嵌入式系统,系统可靠性是保障系统正常运行和有效工作的基础,简单的讲就是使系统尽可能地少出故障,万一出现故障能在最短的时间里检测到并修复,使系统继续投入正常工作。U-boot(UniversalBootLoader,通用启动引导程序)是一种普遍应用于嵌入式系统上,用于引导Linux、vxwork等多种嵌入式操作系统内核的引导程序。该程序在嵌入式系统上电后最先执行,初始化设备并建立适当的软硬件环境,为最终调用操作系统内核做好准备。因此U-boot软件的可靠性直接关系到嵌入式设备能否正常启动、正常运行。目前在嵌入式系统上,检测U-boot软件可靠性并修复的方式主要有以下三种:一、人工检测并使用烧写器方式恢复损坏的U-boot软件。在该种方式下,维护人员发现嵌入式设备上电后,若U-boot软件无法运行,则需要将设备从机架中取出,然后使用JTAG(JointTestActionGroup,联合测试行动组)烧写器通过相应的硬件编程接口恢复设备的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(CentralProcessingUnit,中央处理器)启动地址是固定的,上电第一条指令肯定先执行主U-boot分区的代码,但当主分区已经完全损坏,一条指令都无法运行时,根本没有办法进行跳转到备用U-boot的操作。
技术实现思路
有鉴于此,本专利技术的目的是提出一种通用引导程序的故障处理方法及系统,以解决现有技术中主U-boot损坏时,无法启动备用U-boot的问题,保证系统启动的稳定性。为实现上述目的,本专利技术采用如下技术方案:一方面,本专利技术实施例提供了一种通用引导程序的故障处理方法,包括:嵌入式系统上电后,处理器通过片选信号切换单元启动主用存储器,作为目标存储器;若主用存储器中的通用引导程序运行正常,则所述处理器向所述片选信号切换单元发送准备就绪信号,所述准备就绪信号表示所述目标存储器中的通用引导程序运行正常;若所述片选信号切换单元在预设时间内未接收到所述准备就绪信号,则将目标存储器切换片选到备用存储器;所述处理器检测到启动的目标存储器为备用存储器,将备用存储器中的通用引导程序拷贝到所述主用存储器中,以修复所述主用存储器中的通用引导程序。进一步的,所述处理器通过片选信号切换单元启动主用存储器包括:所述处理器将预设逻辑地址处理为片选信号传输给所述片选信号切换单元;所述片选信号切换单元根据所述片选信号片选主用存储器。进一步的,判断主用存储器中的通用引导程序是否运行正常包括:所述处理器执行主用存储器中的通用引导程序,检测是否执行到操作系统内核跳转程序;若执行到操作系统内核跳转程序,则判断所述通用引导程序运行正常。进一步的,还包括:若所述片选信号切换单元在所述预设时间内接收到所述准备就绪信号,则正常启动操作系统。进一步的,所述预设时间根据所述通用引导程序启动操作系统内核的时间确定。进一步的,在嵌入式系统上电后,还包括:所述片选信号切换单元启动计时。进一步的,在所述片选信号切换单元将目标存储器切换片选到备用存储器之后,所述处理器检测到启动的目标存储器为备用存储器之前,还包括:所述片选信号切换单元硬复位所述处理器;所述片选信号切换单元根据片选寄存器中的片选信号,启动备用存储器;相应的,所述处理器检测到启动的目标存储器为备用存储器,将备用存储器中的通用引导程序拷贝到所述主用存储器中,包括:所述处理器读取所述片选信号切换单元的片选寄存器中的片选信号;所述处理器根据片选寄存器中的片选信号确定启动的目标存储器是否为备用存储器;所述处理器在确定所述备用存储器启动时,将所述备用存储器中的通用引导程序加载到系统内存中;所述处理器将所述系统内存中的通用引导程序拷贝到所述主用存储器中。进一步的,在所述处理器将备用存储器中的通用引导程序拷贝到所述主用存储器中之后,还包括:所述处理器向所述片选信号切换单元重新写入片选信号,以使所述片选信号切换单元切换片选到所述主用存储器。进一步的,在所述处理器向所述片选信号切换单元重新写入片选信号之后,还包括:所述处理器进行软重启;所述片选信号切换单元根据片选寄存器中的片选信号,启动主用存储器;所述处理器在确定所述主用存储器启动时,将所述主用存储器中的通用引导程序加载到系统内存中,以正常运行所述主用存储器中的通用引导程序。另一方面,本专利技术实施例提供了一种一种通用引导程序的故障处理系统,包括处理器、片选信号切换单元、主用存储器和备用存储器;所述处理器用于在嵌入式系统上电后,通过片选信号切换单元启动主用存储器,作为目标存储器;若主用存储器本文档来自技高网
...

【技术保护点】
一种通用引导程序的故障处理方法,其特征在于,包括:嵌入式系统上电后,处理器通过片选信号切换单元启动主用存储器,作为目标存储器;若主用存储器中的通用引导程序运行正常,则所述处理器向所述片选信号切换单元发送准备就绪信号,所述准备就绪信号表示所述目标存储器中的通用引导程序运行正常;若所述片选信号切换单元在预设时间内未接收到所述准备就绪信号,则将目标存储器切换片选到备用存储器;所述处理器检测到启动的目标存储器为备用存储器,将备用存储器中的通用引导程序拷贝到所述主用存储器中,以修复所述主用存储器中的通用引导程序。

【技术特征摘要】
1.一种通用引导程序的故障处理方法,其特征在于,包括:
嵌入式系统上电后,处理器通过片选信号切换单元启动主用存储器,作为
目标存储器;
若主用存储器中的通用引导程序运行正常,则所述处理器向所述片选信号
切换单元发送准备就绪信号,所述准备就绪信号表示所述目标存储器中的通用
引导程序运行正常;
若所述片选信号切换单元在预设时间内未接收到所述准备就绪信号,则将
目标存储器切换片选到备用存储器;
所述处理器检测到启动的目标存储器为备用存储器,将备用存储器中的通
用引导程序拷贝到所述主用存储器中,以修复所述主用存储器中的通用引导程
序。
2.根据权利要求1所述的方法,其特征在于,所述处理器通过片选信号切
换单元启动主用存储器包括:
所述处理器将预设逻辑地址处理为片选信号传输给所述片选信号切换单
元;
所述片选信号切换单元根据所述片选信号片选主用存储器。
3.根据权利要求1所述的方法,其特征在于,判断主用存储器中的通用引
导程序是否运行正常包括:
所述处理器执行主用存储器中的通用引导程序,检测是否执行到操作系统
内核跳转程序;
若执行到操作系统内核跳转程序,则判断所述通用引导程序运行正常。
4.根据权利要求1所述的方法,其特征在于,还包括:
若所述片选信号切换单元在所述预设时间内接收到所述准备就绪信号,则

\t正常启动操作系统。
5.根据权利要求4所述的方法,其特征在于,所述预设时间根据所述通用
引导程序启动操作系统内核的时间确定。
6.根据权利要求1所述的方法,其特征在于,在嵌入式系统上电后,还包
括:
所述片选信号切换单元启动计时。
7.根据权利要求1所述的方法,其特征在于,在所述片选信号切换单元将
目标存储器切换片选到备用存储器之后,所述处理器检测到启动的目标存储器
为备用存储器之前,还包括:
所述片选信号切换单元硬复位所述处理器;
所述片选信号切换单元根据片选寄存器中的...

【专利技术属性】
技术研发人员:王永飞
申请(专利权)人:北京锐安科技有限公司
类型:发明
国别省市:北京;11

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1