本发明专利技术公开了一种Boot程序的备份方法和设备,该方法包括:启动主用Boot程序,并判断所述主用Boot程序是否启动成功;如果所述主用Boot程序启动成功,则确定Boot程序启动完成;如果所述主用Boot程序未启动成功,则启动备用Boot程序,并判断所述备用Boot程序是否启动成功;如果所述备用Boot程序启动成功,则确定Boot程序启动完成。本发明专利技术实施例中,通过主用Boot程序和备用Boot程序的备份机制,实现双Boot程序的备份,能够有效防止Boot程序损坏导致设备不能启动的问题,保证Boot程序启动的可靠性。
【技术实现步骤摘要】
本专利技术涉及通信
,尤其涉及一种Boot程序的备份方法和设备。技术背景现有技术中,设备上的Boot (引导)程序只存储一份在Flash (闪存)芯片中,如图 1所示,为Boot程序的存储示意图,CPU (Central Processing Unit,中央处理器)通过片选信号CSO接入Flash芯片,且Flash芯片上存储有Boot程序和APP (Application,即应用数据)。在实现本专利技术的过程中,专利技术人发现现有技术中至少存在以下问题由于Boot程序只存储一份在Flash芯片中,如果Boot程序发生异常则不能自动恢复, 从而会导致设备不能正常运行,需要通过仿真器或者烧写器来完成Boot程序写入,对设备的维护带来了极大的不便。具体的,Boot程序虽然可靠性较高,通常不用升级,但如果Boot程序本身存在问题或需要添加新需求,则Boot程序需要升级,且升级过程中经常会出现异常(如升级过程设备掉电或者操作者失误等异常)导致升级失败,使设备不能正常运行,给设备的维护带来了极大的不便,降低了设备的可维护性。
技术实现思路
本专利技术实施例提供一种Boot程序的备份方法和设备,以保证Boot程序启动的可靠性。为了达到上述目的,本专利技术实施例提供一种Boot程序的备份方法,包括 启动主用Boot程序,并判断所述主用Boot程序是否启动成功;如果所述主用Boot程序启动成功,则确定Boot程序启动完成; 如果所述主用Boot程序未启动成功,则启动备用Boot程序,并判断所述备用Boot程序是否启动成功;如果所述备用Boot程序启动成功,则确定Boot程序启动完成。本专利技术实施例提供一种Boot程序的备份设备,包括 第一启动模块,用于启动主用Boot程序;第一判断模块,用于判断所述主用Boot程序是否启动成功;第一确定模块,用于当所述主用Boot程序启动成功时,确定Boot程序启动完成;第二启动模块,用于当所述主用Boot程序未启动成功时,启动备用Boot程序;第二判断模块,用于判断所述备用Boot程序是否启动成功;第二确定模块,用于当所述备用Boot程序启动成功时,确定Boot程序启动完成。与现有技术相比,本专利技术实施例至少具有以下优点通过主用Boot程序和备用Boot程序的备份机制,实现双Boot程序的备份,能够有效的防止Boot程序损坏导致设备不能启动的问题,保证Boot程序启动的可靠性。附图说明为了更清楚地说明本专利技术的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本专利技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。图1是现有技术中Boot程序的存储示意图;图2是本专利技术实施例一提供的一种Boot程序的备份方法流程示意图;图3是本专利技术实施例二中硬件电路设计示意图;图4是本专利技术实施例二中主/备用Boot程序存储设计示意图;图5是本专利技术实施例二中Boot程序版本设计示意图;图6是本专利技术实施例二中片选切换时的逻辑芯片设计示意图;图7是本专利技术实施例三提供的一种Boot程序的备份设备结构示意图。具体实施方式下面将结合本专利技术中的附图,对本专利技术中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本专利技术的一部分实施例,而不是全部的实施例。基于本专利技术中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本专利技术保护的范围。实施例一本专利技术实施例一提供一种Boot程序的备份方法,用在需要利用Boot程序启动的设备上,且需要在设备上进行如下设计将主用Boot程序存储在第一 Flash芯片(即存储介质,后续均以Flash芯片为例)的主用Boot区中,将备用Boot程序存储在第二 Flash芯片的备用Boot区中;且,CPU 片选信号 CSO 通过逻辑芯片(如 CPLD (Complex Programmable Logic Device,复杂可编程逻辑器件)、FPGA (Field Programmable Gate Array,现场可编程门阵列)等)接入第一 Flash芯片,CPU片选信号CSl通过逻辑芯片接入第二 Flash芯片;且,在启动主用Boot程序时,通过逻辑芯片控制CPU片选信号CSO接入第一 Flash芯片, 并在启动备用Boot程序时,通过逻辑芯片实现片选切换功能,控制CPU片选信号CSO接入第二 Flash芯片;且,逻辑芯片提供用于检测Boot程序是否启动成功的逻辑定时器,用于表明Boot程序启动成功的禁止逻辑定时器寄存器,用于实现片选切换功能的Boot程序片选切换寄存器。基于上述设计,则在设备上电启动后,如图2所示,该Boot程序的备份方法包括以下步骤步骤201,设备启动主用Boot程序。具体的,设备通过CPU片选信号CSO接入第一 Flash芯片,获得第一 Flash芯片的主用Boot区中所存储的主用Boot程序,以启动主用Boot程序。步骤202,设备判断主用Boot程序是否启动成功。如果主用Boot程序启动成功,则执行步骤203 ;如果主用Boot程序未启动成功, 则执行步骤204。6具体的,在启动主用Boot程序时,设备利用逻辑定时器开始计时;在获知主用Boot程序启动成功时,设备利用禁止逻辑定时器寄存器关闭逻辑定时器, 并确定主用Boot程序启动成功;在指定时间(如3分钟)内如果逻辑定时器未被禁止逻辑定时器寄存器关闭,则设备确定主用Boot程序未启动成功。步骤203,设备确定Boot程序启动完成。步骤204,设备启动备用Boot程序。具体的,设备通过Boot程序片选切换寄存器控制CPU片选信号CSO接入第二 Flash芯片,获得第二 Flash芯片的备用Boot区中所存储的备用Boot程序,以启动备用 Boot程序。步骤205,设备判断备用Boot程序是否启动成功。如果备用Boot程序启动成功,则执行步骤203 ;如果备用Boot程序未启动成功, 则执行步骤206。具体的,在启动备用Boot程序时,设备利用逻辑定时器开始计时;在获知备用Boot程序启动成功时,设备利用禁止逻辑定时器寄存器关闭逻辑定时器, 并确定备用Boot程序启动成功;在指定时间(如3分钟)内如果逻辑定时器未被禁止逻辑定时器寄存器关闭,则设备确定备用Boot程序未启动成功。步骤206,设备确定Boot程序启动失败,后续维护等处理在此不再赘述。本专利技术实施例中,第一 Flash芯片和/或第二 Flash芯片中存储有主用Boot程序版本和备用Boot程序版本;在主用Boot程序启动成功时,设备还需要检测备用Boot区中是否存在备用Boot程序;如果不存在备用Boot程序,则设备利用主用Boot程序在备用Boot区中写入备用Boot 程序;如果存在备用Boot程序,且主用Boot程序版本高于备用Boot程序版本,则设备利用主用Boot程序在备用Boot区中写入备用Boot程序(即更新备用Boot区中的备用Boot程序)。在备用Boot程序启动成功时,设备还需要检测主用Boot区中是否存在主用Boot 程序;如果不存在主用Boot程序,则设备利用备用Boot程序在主用Boot区中写入主用 Boo本文档来自技高网...
【技术保护点】
【技术特征摘要】
【专利技术属性】
技术研发人员:李普军,
申请(专利权)人:大唐移动通信设备有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。