嵌入式系统的恢复方法、装置、嵌入式设备及存储介质与流程

文档序号:20917292发布日期:2020-05-29 13:41阅读:383来源:国知局
嵌入式系统的恢复方法、装置、嵌入式设备及存储介质与流程

本发明涉及嵌入式设备技术领域,特别是涉及一种嵌入式系统的恢复方法、装置、嵌入式设备及存储介质。



背景技术:

嵌入式技术是一种以应用为中心,以计算机技术为基础,并且软硬件可裁剪,适用于应用系统对功能、可靠性、成本、体积、功耗有严格要求的专用计算机系统技术。近年来,随着嵌入式技术的发展和推广,嵌入式设备也逐渐被应用于工业、农业、教育、国防、科研以及日常生活等各个领域。

在嵌入式设备使用过程中,可能会出现用户误操作而删除了系统启动的重要文件,也可能会出现突然发生异常断电,导致某些文件的损坏,从而导致系统发生崩溃,使得嵌入式设备无法正常开机,因此影响设备的正常使用。当出现上述情况时,一般采用两种处理方法,一种是由厂家进行维修,如用户将损坏的嵌入式设备寄回厂家,由厂家重新烧录固件;另一种是用户自行进行维修,如用户通过安装特定的维修工具,按照相应的一系列操作重新烧录固件。

但是,本发明人在实施本发明的过程中,发现现有技术至少存在以下技术问题:当采用由厂家进行维修的方法时,操作繁琐导致维修时间长,从而影响用户使用;而当采用用户自行进行维修的方法时,由于用户技术水平的差异,在维修过程中可能存在操作不当而导致维修失败,同时也存在维修时间长的问题。



技术实现要素:

本发明的目的是提供一种嵌入式系统的恢复方法、装置、嵌入式设备及存储介质,能够快速地恢复异常的嵌入式设备,缩短维修时间,以确保嵌入式设备的正常使用。

为了解决上述技术问题,本发明提供一种嵌入式系统的恢复方法,嵌入式设备包括主系统和备用系统,所述嵌入式系统的恢复方法包括:

当所述主系统的当前状态为异常状态,且接收到重启指令时,控制所述嵌入式设备重新启动,并检测恢复按键的状态;

当检测到所述恢复按键的状态为长按状态时,切换至所述备用系统,以使所述备用系统获取系统固件,并根据所述系统固件恢复所述主系统。

作为优选方案,所述检测恢复按键的状态,具体包括:

检测所述恢复按键发送的当前信号;

当检测到所述恢复按键发送的当前信号为按下信号时,判断在预设的时间阈值内所述恢复按键发送的当前电平信号是否持续保持为所述按下信号;

当判定在所述时间阈值内所述恢复按键发送的当前信号持续保持为所述按下信号时,确定所述恢复按键的状态为长按状态。

作为优选方案,所述当检测到所述恢复按键的状态为长按状态时,切换至所述备用系统,具体包括:

当检测到所述恢复按键的状态为长按状态时,修改所述嵌入式设备的当前启动参数为第一启动参数,以进入所述备用系统;其中,所述第一启动参数用于指示进入所述备用系统。

作为优选方案,所述备用系统获取系统固件,并根据所述系统固件恢复所述主系统,具体包括:

所述备用系统对所述主系统进行格式化;

在格式化后,挂载所述主系统,并从备份区中获取系统固件的压缩包,将所述系统固件的压缩包解压至所述主系统;

在解压后,取消挂载所述主系统。

作为优选方案,所述嵌入式系统的恢复方法还包括:

在所述嵌入式设备启动后,启动所述主系统。

作为优选方案,所述在所述嵌入式设备启动后,启动所述主系统,具体包括:

在所述嵌入式设备启动后,选择第二启动参数作为所述嵌入式设备的当前启动参数,以启动所述主系统;其中,所述第二启动参数用于指示进入所述主系统。

作为优选方案,所述恢复按键为电源键。

为了解决相同的技术问题,相应地,本发明实施例还提供一种嵌入式系统的恢复装置,包括处理器、存储器以及存储在所述存储器中且被配置为由所述处理器执行的计算机程序,所述处理器执行所述计算机程序时实现上述的嵌入式系统的恢复方法。

为了解决相同的技术问题,本发明实施例还提供一种嵌入式设备,包括上述的嵌入式系统的恢复装置。

为了解决相同的技术问题,本发明实施例还提供一种计算机可读存储介质,所述存储介质上存储有程序,当所述程序运行时,实现上述的车辆诊断方法。

与现有技术相比,本发明提供一种嵌入式系统的恢复方法、装置、嵌入式设备及存储介质,通过在所述主系统的当前状态为异常状态,且所述嵌入式设备重新启动后,当检测到所述恢复按键的状态为长按状态时,切换至所述备用系统,以使所述备用系统获取系统固件,并根据所述系统固件恢复所述主系统,从而实现快速地恢复异常的嵌入式设备,缩短了维修的时间,并确保了嵌入式设备的正常使用。同时,本发明实施例能够避免繁琐的恢复操作,并避免了设备业务的中断,从而提高了用户体验。此外,本发明实施例无需将异常的嵌入式设备寄回厂家维修,降低了厂家的维修成本。

附图说明

图1是本发明实施例提供的嵌入式系统的恢复方法的流程示意图;

图2是本发明实施例提供的嵌入式设备数据存放的示意图;

图3是本发明实施例提供的电源键与嵌入式设备的控制器的连接示意图;

图4是本发明实施例提供的嵌入式系统的恢复装置的结构示意图。

具体实施方式

下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

在本发明实施例中,嵌入式设备包括主系统和备用系统;其中,所述主系统和所述备用系统均是所述嵌入式设备的文件系统。具体地,在所述嵌入式设备中,数据存放按图2所示进行划分,其包括bootloader区11,uimage区12、rootfs-1区13、rootfs-2区14、recovery区15和date区16;其中,所述bootloader区11用于存放设备的bootloader(引导程序),在这里采用的是u-boot套件;所述uimage区12为嵌入式设备使用的linux内核;所述rootfs-1区13和所述rootfs-2区14分别为所述主系统和所述备用系统,所述备用系统开机后会启动恢复程序以恢复所述主系统;所述recovery区15即为备份区,用于存放用来恢复所述主系统的系统固件的压缩包;所述date区16,用于存放用户代码及其数据。

参见图1,是本发明实施例提供的嵌入式系统的恢复方法的流程示意图。

本发明实施例提供的所述嵌入式系统的恢复方法,包括以下步骤s11-s12:

s11、当所述主系统的当前状态为异常状态,且接收到重启指令时,控制所述嵌入式设备重新启动,并检测恢复按键的状态;

具体地,在所述主系统当前处于异常状态的情况下,当接收到用户发送的重启指令时,控制所述嵌入式设备重新启动,以使所述嵌入式设备重新上电,然后检测所述恢复按键的状态;其中,所述恢复按键的状态包括按下状态和松开状态,所述按下状态包括短按状态和长按状态。

需要说明的是,用户可以通过按下嵌入式设备的电源键,从而发送所述重启指令。此外,本实施例可由用户自行判断所述主系统的当前状态是否为异常状态;当然也可以由所述嵌入式设备实时检测所述主系统的状态,以识别所述主系统的当前状态是否为异常状态,本发明对此不做限定。

s12、当检测到所述恢复按键的状态为长按状态时,切换至所述备用系统,以使所述备用系统获取系统固件,并根据所述系统固件恢复所述主系统。

具体地,当检测到所述恢复按键的状态为长按状态时,将所述嵌入式设备的当前系统切换至所述备用系统,即启动所述备用系统,所述备用系统运行时,执行预设的更新主系统脚本,从所述备份区中获取所述系统固件,并根据所述系统固件将处于异常状态的所述主系统恢复至非异常状态。可以理解的,所述系统固件用于恢复所述主系统,其预先存储于所述嵌入式设备中,以确保能够实现快速恢复所述主系统。

进一步地,在所述备用系统获取所述系统固件,并根据所述系统固件恢复所述主系统后,当所述嵌入式设备再次重新启动时,bootloader重新引导到恢复后的所述主系统上运行。

在本发明实施例中,在所述主系统的当前状态为异常状态,且所述嵌入式设备重新启动后,当检测到所述恢复按键的状态为长按状态时,切换至所述备用系统,以使所述备用系统获取系统固件,并根据所述系统固件恢复所述主系统,从而实现快速地恢复异常的嵌入式设备,缩短了维修的时间,并确保了嵌入式设备的正常使用。同时,本发明实施例能够避免繁琐的恢复操作,并避免了设备业务的中断,从而提高了用户体验。此外,本发明实施例无需将异常的嵌入式设备寄回厂家维修,降低了厂家的维修成本。

在本发明实施例中,所述恢复按键的类型可以根据实际使用情况设置,优选地,本实施例中所述恢复按键为电源键。通过所述嵌入式设备中原有的电源键来实现恢复所述主系统,使得无需在所述嵌入式设备中增加硬件结构,因此有效地避免了硬件成本的增加。

在一种优选实施方式中,在步骤s11中,所述检测恢复按键的状态,具体包括以下步骤s111-s113:

s111、检测所述恢复按键发送的当前信号;

s112、当检测到所述恢复按键发送的当前信号为按下信号时,判断在预设的时间阈值内所述恢复按键发送的当前电平信号是否持续保持为所述按下信号;

s113、当判定在所述时间阈值内所述恢复按键发送的当前信号持续保持为所述按下信号时,确定所述恢复按键的状态为长按状态。

下面为方便说明,仅以所述恢复按键为电源键为例对本发明实施例的步骤s11进行详细描述,当然,本发明实施例的恢复按键并不限于所述电源键。

如图3所示,在所述嵌入式设备中,所述电源键22的一端接地,所述电源键22的另一端与所述嵌入式设备的控制器21的一根gpio(general-purposeinput/output,通用型之输入输出)管脚连接,以使所述控制器21接收所述电源键22发送的信号;其中,所述嵌入式设备的控制器21可以是嵌入式cpu(centralprocessingunit,中央处理器)。可以理解的,当所述电源键22按下时,所述电源键22发送的当前信号为低电平信号,即为按下信号;因此,当检测到所述电源键22发送的当前信号为低电平信号时,判断在预设的时间阈值内所述电源键22是否持续发送低电平信号,若是,则确定所述电源键22的状态为长按状态;若否,则确定所述电源键22的状态为短按状态。在另一种实施方式中,所述电源键22的一端与电源的输出端连接,所述电源键22的另一端与所述嵌入式设备的控制器21的一根gpio管脚连接;此时,当所述电源键22按下时,所述电源键22发送的当前信号为高电平信号,即为按下信号;因此,当检测到所述电源键22发送的当前信号为高电平信号时,判断在预设的时间阈值内所述电源键22是否持续发送高电平信号,若是,则确定所述电源键22的状态为长按状态;若否,则确定所述电源键22的状态为短按状态。

此外,需要说明的是,所述预设的时间阈值可以根据实际使用情况设置,本发明不做限制。

在一种优选实施方式中,在步骤s12中,所述当检测到所述恢复按键的状态为长按状态时,切换至所述备用系统,具体包括:

当检测到所述恢复按键的状态为长按状态时,修改所述嵌入式设备的当前启动参数为第一启动参数,以进入所述备用系统;其中,所述第一启动参数用于指示进入所述备用系统。

需要说明的是,在所述嵌入式设备中,bootloader的启动环境变量调用预设的启动脚本来选择相应的启动参数以进入不同的系统,其中脚本调用了checkio函数。

另外,在步骤s12中,所述备用系统获取系统固件,并根据所述系统固件恢复所述主系统,具体包括以下步骤:

所述备用系统对所述主系统进行格式化;

在格式化后,挂载所述主系统,并从备份区中获取系统固件的压缩包,将所述系统固件的压缩包解压至所述主系统;

在解压后,取消挂载所述主系统。

需要说明的是,在进入所述备用系统后,执行预设的更新主系统脚本,以对所述主系统进行格式化、挂载,并将获取的所述系统固件的压缩包解压至所述主系统,最后取消挂载所述主系统,从而实现恢复所述主系统。

在本发明实施例中,所述嵌入式系统的恢复方法还包括以下步骤:

在所述嵌入式设备启动后,启动所述主系统。

可以理解的,当按下所述电源键后,所述嵌入式设备启动,并进入所述主系统;此时,在所述嵌入式设备中,默认从所述主系统启动。

进一步地,所述在所述嵌入式设备启动后,启动所述主系统,具体包括:

在所述嵌入式设备启动后,选择第二启动参数作为所述嵌入式设备的当前启动参数,以启动所述主系统;其中,所述第二启动参数用于指示进入所述主系统。

参见图4,本发明另一实施例对应提供了一种嵌入式系统的恢复装置。

本发明实施例提供的所述嵌入式系统的恢复装置100,包括处理器101、存储器102以及存储在所述存储器102中且被配置为由所述处理器101执行的计算机程序,所述处理器101执行所述计算机程序时实现上述的嵌入式系统的恢复方法。

示例性的,所述计算机程序可以被分割成一个或多个模块/单元,所述一个或者多个模块/单元被存储在所述存储器102中,并由所述处理器101执行,以完成本发明。所述一个或多个模块/单元可以是能够完成特定功能的一系列计算机程序指令段,该指令段用于描述所述计算机程序在所述嵌入式系统的恢复装置100中的执行过程。

所称处理器101可以是中央处理单元(centralprocessingunit,cpu),还可以是其他通用处理器、数字信号处理器(digitalsignalprocessor,dsp)、专用集成电路(applicationspecificintegratedcircuit,asic)、现成可编程门阵列(field-programmablegatearray,fpga)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。

所述存储器102可用于存储所述计算机程序和/或模块,所述处理器101通过运行或执行存储在所述存储器102内的计算机程序和/或模块,以及调用存储在存储器102内的数据,实现所述嵌入式系统的恢复装置100的各种功能。所述存储器102可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序(比如声音播放功能、图像播放功能等)等;存储数据区可存储根据手机的使用所创建的数据(比如音频数据、电话本等)等。此外,存储器可以包括高速随机存取存储器,还可以包括非易失性存储器,例如硬盘、内存、插接式硬盘,智能存储卡(smartmediacard,smc),安全数字(securedigital,sd)卡,闪存卡(flashcard)、至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。

其中,所述嵌入式系统的恢复装置100集成的模块/单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明实现上述实施例方法中的全部或部分流程,也可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一计算机可读存储介质中,该计算机程序在被处理器执行时,可实现上述各个方法实施例的步骤。其中,所述计算机程序包括计算机程序代码,所述计算机程序代码可以为源代码形式、对象代码形式、可执行文件或某些中间形式等。所述计算机可读介质可以包括:能够携带所述计算机程序代码的任何实体或装置、记录介质、u盘、移动硬盘、磁碟、光盘、计算机存储器、只读存储器(rom,read-onlymemory)、随机存取存储器(ram,randomaccessmemory)、电载波信号、电信信号以及软件分发介质等。需要说明的是,所述计算机可读介质包含的内容可以根据司法管辖区内立法和专利实践的要求进行适当的增减,例如在某些司法管辖区,根据立法和专利实践,计算机可读介质不包括电载波信号和电信信号。

需说明的是,以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。另外,本发明提供的装置实施例附图中,模块之间的连接关系表示它们之间具有通信连接,具体可以实现为一条或多条通信总线或信号线。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。

此外,为了解决相同的技术问题,相应地,本发明实施例还提供一种嵌入式设备,包括上述的嵌入式系统的恢复装置。

综上,本发明提供一种嵌入式系统的恢复方法、装置、嵌入式设备及存储介质,通过在所述主系统的工作状态为异常状态,且所述嵌入式设备重新启动后,当检测到所述恢复按键的状态为长按状态时,切换至所述备用系统,以使所述备用系统获取系统固件,并根据所述系统固件恢复所述主系统,从而实现快速地恢复异常的嵌入式设备,缩短了维修的时间,并确保了嵌入式设备的正常使用。同时,本发明实施例能够避免繁琐的恢复操作,并避免了设备业务的中断,从而提高了用户体验。此外,本发明实施例无需将异常的嵌入式设备寄回厂家维修,降低了厂家的维修成本。

以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明技术原理的前提下,还可以做出若干改进和替换,这些改进和替换也应视为本发明的保护范围。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1