CN113485764A - 一种嵌入式系统及其控制方法、装置和存储介质 - Google Patents

一种嵌入式系统及其控制方法、装置和存储介质 Download PDF

Info

Publication number
CN113485764A
CN113485764A CN202110759051.2A CN202110759051A CN113485764A CN 113485764 A CN113485764 A CN 113485764A CN 202110759051 A CN202110759051 A CN 202110759051A CN 113485764 A CN113485764 A CN 113485764A
Authority
CN
China
Prior art keywords
system image
embedded system
embedded
image backup
image file
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
CN202110759051.2A
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.)
Gree Electric Appliances Inc of Zhuhai
Original Assignee
Gree Electric Appliances Inc of Zhuhai
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 Gree Electric Appliances Inc of Zhuhai filed Critical Gree Electric Appliances Inc of Zhuhai
Priority to CN202110759051.2A priority Critical patent/CN113485764A/zh
Publication of CN113485764A publication Critical patent/CN113485764A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/445Program loading or initiating
    • G06F9/44521Dynamic linking or loading; Link editing at or after load time, e.g. Java class loading
    • 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/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/1441Resetting or repowering
    • 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/1448Management of the data involved in backup or backup restore
    • 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
    • G06F11/1469Backup restoration techniques
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/4401Bootstrapping

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Quality & Reliability (AREA)
  • Computer Security & Cryptography (AREA)
  • Stored Programmes (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明提供一种嵌入式系统及其控制方法、装置和存储介质,在所述嵌入式系统的外部存储设备上划分出N个系统镜像备份分区,每个所述系统镜像备份分区中存储一份系统镜像文件;方法包括:在嵌入式系统的启动或复位过程的二级引导程序启动阶段,按照预设顺序将所述N个系统镜像备份分区中当前系统镜像备份分区中的系统镜像文件加载到嵌入式系统的运行内存中,以启动嵌入式系统;若嵌入式系统启动失败,则按照所述预设顺序将下一系统镜像备份分区中的系统镜像文件加载到所述嵌入式系统的运行内存中,以此类推,直到启动成功。本发明提供的方案能够使嵌入式系统自动方便的维护系统启动故障问题。

Description

一种嵌入式系统及其控制方法、装置和存储介质
技术领域
本发明涉及控制领域,尤其涉及一种嵌入式系统及其控制方法、装置和存储介质。
背景技术
随着技术的不断进步,当前工业示教器越来越多的使用嵌入式操作系统,尽管嵌入式操作系统有着诸多的优势,但其由于自身特点,如应用范围多样性和复杂性,导致嵌入式产品维护难度大等问题也更加突出。嵌入式系统在实际环境中投入运行后,掉电等意外灾难、用户错误或恶意地对数据进行修改、删除或一部分无法在开发中充分测试的错误等都会导致功能失效,严重的可能导致系统瘫痪。如果采用人工更新系统的方式,由于安装位置等因素有时会不方便。因此,嵌入式系统的备份与恢复机制是解决这些嵌入式系统启动故障的有效办法。
目前,普遍使用的双系统备份等技术作为实现嵌入式系统高可靠性技术设计方案,由于采用独立的两套系统,因此增加了一定的设计难度和成本,因此如何提供一种低成本可行的方案,使工业示教器具备防止开机启动故障功能来保证其工作运行的稳定性、可靠性及低维护成本,是当前亟待解决的问题。
发明内容
本发明的主要目的在于克服上述现有技术的缺陷,提供一种嵌入式系统及其控制方法、装置和存储介质,以解决现有技术中嵌入式系统因系统文件损坏、丢失等不明原因无法顺利启动的故障问题。
本发明一方面提供了一种嵌入式系统的控制方法,在所述嵌入式系统的外部存储设备上划分出N个系统镜像备份分区,每个所述系统镜像备份分区中存储一份系统镜像文件;所述方法,包括:在所述嵌入式系统的启动或复位过程的二级引导程序启动阶段,按照预设顺序将所述N个系统镜像备份分区中当前系统镜像备份分区中的系统镜像文件加载到所述工业示教器的运行内存中,以启动所述嵌入式系统;若将所述系统镜像文件加载到所述嵌入式系统后,所述嵌入式系统启动失败,则按照所述预设顺序将下一系统镜像备份分区中的系统镜像文件加载到所述工业示教器的运行内存中,以启动所述嵌入式系统,以此类推,直到所述嵌入式系统启动成功。
可选地,在所述嵌入式系统的外部存储设备上还设有判断标志区,所述判断标志区用于存储所述N个系统镜像备份分区中每个所述系统镜像备份分区对应的判断标志位;所述判断标志位,包括:引导标志位、内核成功引导标志位、内核恢复标志位和/或文件系统恢复标志位。
可选地,还包括:在按照预设顺序将所述N个系统镜像备份分区中当前系统镜像备份分区中的系统镜像文件加载到所述工业示教器的运行内存中之前,将所述判断标志位进行初始化处理;和/或,若将所述系统镜像文件加载到所述嵌入式系统后,所述嵌入式系统启动成功,则对所述判断标志区中相应系统镜像备份分区对应的内核成功引导标志位进行相应标记,并对其他标志位进行重置;和/或,若将所述系统镜像文件加载到所述嵌入式系统后,所述嵌入式系统启动失败,则对所述判断标志区中相应系统镜像备份分区对应的各个判断标志位进行相应标记。
可选地,还包括:若将当前系统镜像备份分区中的系统镜像文件加载到所述嵌入式系统后,所述嵌入式系统启动失败,则对所述嵌入式系统进行复位;将下一系统镜像备份分区中的系统镜像文件覆盖至当前系统镜像备份分区中。
可选地,还包括:在所述嵌入式系统的二级引导程序启动阶段添加预设命令,以用于进行人工调试和/或手动备份;所述预设命令,包括:串口打印命令、修改命令和/或保存命令。
可选地,还包括:若将所述N个系统镜像备份分区中每个所述系统镜像备份分区中的系统镜像文件加载到所述工业示教器的运行内存中后,所述嵌入式系统均启动失败,则进入二级引导程序启动阶段命令行模式;在所述二级引导程序启动阶段命令行模式下,接收嵌入式系统升级命令;若接收到所述嵌入式系统升级命令,则接收从外部传输的更新的系统镜像文件;将接收到的所述更新的系统镜像文件覆盖所述N个系统镜像备份分区中每个所述系统镜像备份分区中的系统镜像文件。
本发明另一方面提供了一种嵌入式系统的控制装置,在所述嵌入式系统的外部存储设备上划分出N个系统镜像备份分区,每个所述系统镜像备份分区中存储一份系统镜像文件;所述控制装置,包括:加载单元,用于在所述嵌入式系统的启动或复位过程的二级引导程序启动阶段,按照预设顺序将所述N个系统镜像备份分区中当前系统镜像备份分区中的系统镜像文件加载到所述工业示教器的运行内存中,以启动所述嵌入式系统;若将所述系统镜像文件加载到所述嵌入式系统后,所述嵌入式系统启动失败,则按照所述预设顺序将下一系统镜像备份分区中的系统镜像文件加载到所述工业示教器的运行内存中,以启动所述嵌入式系统,以此类推,直到所述嵌入式系统启动成功。
可选地,在所述嵌入式系统的外部存储设备上还设有判断标志区,所述判断标志区用于存储所述N个系统镜像备份分区中每个所述系统镜像备份分区对应的判断标志位;所述判断标志位,包括:引导标志位、内核成功引导标志位、内核恢复标志位和/或文件系统恢复标志位。
可选地,还包括:初始化处理单元,用于:在按照预设顺序将所述N个系统镜像备份分区中当前系统镜像备份分区中的系统镜像文件加载到所述工业示教器的运行内存中之前,将所述判断标志位进行初始化处理;和/或,若将所述系统镜像文件加载到所述嵌入式系统后,所述嵌入式系统启动成功,则对所述判断标志区中相应系统镜像备份分区对应的内核成功引导标志位进行相应标记,并对其他标志位进行重置;和/或,若将所述系统镜像文件加载到所述嵌入式系统后,所述嵌入式系统启动失败,则对所述判断标志区中相应系统镜像备份分区对应的各个判断标志位进行相应标记。
可选地,还包括:复位单元,用于若所述加载单元将当前系统镜像备份分区中的系统镜像文件加载到所述嵌入式系统后,所述嵌入式系统启动失败,则对所述嵌入式系统进行复位;覆盖单元,用于将下一系统镜像备份分区中的系统镜像文件覆盖至当前系统镜像备份分区中。
可选地,还包括:在所述嵌入式系统的二级引导程序启动阶段添加预设命令,以用于进行人工调试和/或手动备份;所述预设命令,包括:串口打印命令、修改命令和/或保存命令。
可选地,还包括:模式进入单元,用于若将所述N个系统镜像备份分区中每个所述系统镜像备份分区中的系统镜像文件加载到所述工业示教器的运行内存中后,所述嵌入式系统均启动失败,则进入二级引导程序启动阶段命令行模式;命令接收单元,用于在所述二级引导程序启动阶段命令行模式下,接收嵌入式系统升级命令;文件接收单元,用于若所述命令接收单元接收到所述嵌入式系统升级命令,则接收从外部传输的更新的系统镜像文件;文件覆盖单元,用于将接收到的所述更新的系统镜像文件覆盖所述N个系统镜像备份分区中每个所述系统镜像备份分区中的系统镜像文件。
本发明又一方面提供了一种存储介质,其上存储有计算机程序,所述程序被处理器执行时实现前述任一所述方法的步骤。
本发明再一方面提供了一种嵌入式系统,包括处理器、存储器以及存储在存储器上可在处理器上运行的计算机程序,所述处理器执行所述程序时实现前述任一所述方法的步骤。
本发明再一方面提供了一种嵌入式系统,包括前述任一所述的嵌入式系统的控制装置。
根据本发明的技术方案,在嵌入式系统的外部存储设备上划分出多个系统镜像备份分区,并在划分出的多个分区中备份多份系统镜像文件,每次运行一个系统镜像备份分区中的系统镜像文件程序,直到系统成功启动,确保嵌入式系统可以启动。当运行的操作系统出现故障时,触发系统备份恢复机制,使用下一个可用的系统镜像备份分区覆盖掉出现故障的系统镜像备份分区,然后启动一个可用的系统。
当所有系统镜像备份分区的系统镜像启动都出现故障的情况时,采用人工的方式进行更新升级嵌入式系统,建立主机和嵌入式系统(例如工业示教器)之间的网络通信,在主机端准备可用的系统镜像文件,人工发出更新升级指令加载文件到嵌入式系统,将可用的嵌入式系统镜像从主机端通过网络传输并更新备份到嵌入式系统(例如工业示教器)的存储设备中,保证嵌入式系统正常启动。
根据本发明的技术方案,可以使嵌入式系统自动方便的维护系统启动故障问题,特殊情况下可便于开发人员手动调试维护嵌入式系统启动,尤其适用于一些对功能稳定性要求高和维护不方便的嵌入式系统等场合。可有效降低维护成本、提高系统运行稳定性。
附图说明
此处所说明的附图用来提供对本发明的进一步理解,构成本发明的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:
图1是本发明提供的嵌入式系统的控制方法的一实施例的方法示意图;
图2是以嵌入式系统为例的嵌入式系统启动总体实现框图;
图3是本发明提供的嵌入式系统的控制方法的另一实施例的方法示意图;
图4是本发明提供的嵌入式系统的控制方法的又一实施例的方法示意图;
图5是本发明提供的一种嵌入式系统启动备份及恢复流程图;
图6为本发明提供的一种嵌入式系统网络启动升级流程图;
图7是本发明提供的嵌入式系统的控制装置的一实施例的结构框图;
图8是本发明提供的嵌入式系统的控制装置的另一实施例的结构框图;
图9是本发明提供的嵌入式系统的控制装置的又一实施例的结构框图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚,下面将结合本发明具体实施例及相应的附图对本发明技术方案进行清楚、完整地描述。显然,所描述的实施例仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
需要说明的是,本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本发明的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
本发明提供一种嵌入式系统的控制方法。所述嵌入式系统例如包括工业示教器系统。在所述嵌入式系统的外部存储设备上划分出N个系统镜像备份分区,每个所述系统镜像备份分区中存储一份系统镜像文件。所述外部存储设备用于存储系统文件数据。所述外部存储设备例如为NAND Flash存储器。Nand flash是一种断电非易失的外围存储设备,目前被广泛应用于嵌入式系统设备中。
图2是以嵌入式系统为例的嵌入式系统启动总体实现框图。图2示出了嵌入式系统启动的总体实现过程。如图2所示,根据本发明的一个实施例,嵌入式系统包括:SPL、U-Boot、U-Boot Env、Judge-Area、Kernel.img、Rootfs.img,其中:SPL是系统启动的一级引导程序;U-Boot是系统启动的二级引导程序;U-Boot Env是存储内核启动参数;系统镜像文件包括内核镜像文件和文件系统镜像文件,Kernel.img是系统启动的内核镜像文件,Rootfs.img是系统启动的文件系统镜像文件;mtd是同一外部存储设备上划分出来的两个以上不同的分区。
在嵌入式系统的外部存储设备(例如为NAND Flash存储器)上划分出N个分区,作为系统镜像备份分区,每个分区的大小可根据系统镜像文件的大小来确定。如图2所示,I区、II区、III区、IV区、…、X区、…、N区均为系统镜像备份分区,其中,X区表示任一分区;将系统启动用的系统镜像文件备份到划分的每个系统镜像备份分区中。其中,N≥2,也就是说,系统镜像文件在外部存储设备上备份两份以上。目前,运行Linux系统的NAND Flash配置都比较大,而裁剪后的内核和精简的文件系统镜像固件文件实际占用不到20MB容量或者更少。因此,这为实现Linux系统的多重备份提供了可能。
图1是本发明提供的嵌入式系统的控制方法的一实施例的方法示意图。
如图1所示,根据本发明的一个实施例,所述控制方法至少包括步骤S110和步骤S120。
步骤S110,在所述嵌入式系统的启动或复位过程的二级引导程序启动阶段,按照预设顺序将所述N个系统镜像备份分区中当前系统镜像备份分区中的系统镜像文件加载到所述嵌入式系统的运行内存中,以启动所述嵌入式系统。
嵌入式系统上电启动运行或复位,进入系统启动,首先进入系统启动的一级引导程序SPL阶段,随后进入二级引导程序U-Boot启动。二级引导程序U-Boot通过判断Judge-Area中的参数(Judge-Area区域中对各分区都有对应的编号的参数),按顺序启动当前系统镜像备份分区。将工业示教器Nandflash存储器中X区中的系统镜像文件加载到工业示教器运行内存RAM中,然后启动运行系统。
可选地,在所述嵌入式系统的外部存储设备上还设有判断标志区,所述判断标志区用于存储所述N个系统镜像备份分区中每个所述系统镜像备份分区对应的判断标志位。所述判断标志位,包括:引导标志位、内核成功引导标志位、内核恢复标志位和/或文件系统恢复标志位。
如图2所示,Judge-Area为系统的判断标志区,是在外部存储设备上划分出的单独区域,判断标志区内部存储系统备份及恢复的判断标志位等环境参数,该区域类似U-BootEnv区域。判断标志区存储每个系统镜像备份分区对应的判断标志位。如图2所示,b_active_x为X区引导标志位;k_success_x为X区内核成功引导标志位;r_kernel_x为X区内核恢复标志;r_rootfs_x为X区文件系统恢复标志;其中,X表示任一系统镜像备份分区。
在按照预设顺序将所述N个系统镜像备份分区中当前系统镜像备份分区中的系统镜像文件加载到所述工业示教器的运行内存中之前,将所述判断标志位进行初始化处理。
以I区、II区、III区为例,将Judge-Area区域的各标志位进行初始化处理,I区在Judge-Area区判断标志位初始值:b_active_1=yes、k_success_1=no、r_kernel_1=no、r_rootfs_1=no;II区在Judge-Area区域判断标志位初始值:b_active_2=no、k_success_2=no、r_kernel_2=no、r_rootfs_2=no;III区在Judge-Area区域判断标志位初始值:b_active_3=no、k_success_3=no、r_kernel_3=no、r_rootfs_3=no。
可选地,若将所述系统镜像文件加载到所述嵌入式系统后,所述嵌入式系统启动成功,则对所述判断标志区中相应系统镜像备份分区对应的内核成功引导标志位进行相应标记,并对其他标志位进行重置。
具体地,若将所述系统镜像文件加载到所述嵌入式系统后,所述嵌入式系统启动成功,则对所述判断标志区中的内核成功引导标志位k_success_1标记为yes;对其他标志位进行重置,即恢复到初始值。
以I区为例,当系统镜像文件加载到运行内存RAM中成功运行时,将Judge-Area区域的标志位k_success_1标记为“yes”,并且进行Judge-Area参数的重置处理,即将Judge-Area区域所有标志位恢复到初始值,随后嵌入式系统运行结束。
步骤S120,若将所述系统镜像文件加载到所述嵌入式系统后,所述嵌入式系统启动失败,则按照所述预设顺序将下一系统镜像备份分区中的系统镜像文件加载到所述嵌入式系统的运行内存中,以启动所述嵌入式系统,以此类推,直到所述嵌入式系统启动成功。
若依次将所述N个系统镜像备份分区中所有系统镜像备份分区中的系统镜像文件加载到所述嵌入式系统的运行内存中后,均启动失败,则重新按照所述预设顺序将系统镜像备份分区中的系统镜像文件加载到所述嵌入式系统的运行内存中,以启动所述嵌入式系统。例如,外部存储设备上划分出I区、II区、III区三个系统镜像备份分区。首先,从I区中加载系统镜像文件,若系统启动失败,则从II区加载系统镜像文件,若系统仍然启动失败,则从III区加载系统镜像文件启动系统,当III区加载启动失败,再次从I区加载启动,若外部存储设备上划分出的系统镜像备份分区为3个以上,则以此类推,如此循环加载,直到系统启动成功。
可选地,若将所述系统镜像文件加载到所述嵌入式系统后,所述嵌入式系统启动失败,则对所述判断标志区中相应系统镜像备份分区对应的各个判断标志位进行相应标记。
例如,当系统镜像文件加载到工业示教器的运行内存RAM中运行失败时,I区引导标志位b_active_1标记为“yes”、I区内核成功引导标志位k_success_1标记为“no”、I区内核恢复标志位r_kernel_1标记为“yes”、I区文件系统恢复标志位r_rootfs_1标记为“yes”。例如,r_kernel_1、r_rootfs_1为“yes”,表示需要将II区的系统镜像文件(Kernel.img、Rootfs.img)覆盖到I区。
图3是本发明提供的嵌入式系统的控制方法的另一实施例的方法示意图。
如图3所示,根据本发明的另一个实施例,所述控制方法还包括步骤S130和步骤S140。
步骤S130,若将当前系统镜像备份分区中的系统镜像文件加载到所述嵌入式系统后,所述嵌入式系统启动失败,则对所述嵌入式系统进行复位。
步骤S140,将下一系统镜像备份分区中的系统镜像文件覆盖至当前系统镜像备份分区中。
在一种具体实施方式中,通过watchdog复位系统进行嵌入式系统的复位。具体地,当系统运行出现故障时,通过Watchdog机制来使硬件复位。
例如,读取Judge-Area区参数,首先读取到k_success_1为“no”,表示上次引导系统启动失败,并且r_kernel_1为“yes”,r_rootfs_1为“yes”,表示需要将II区的系统镜像文件(Kernel.img和Rootfs.img)覆盖到I区;其次获取Nandflash分区对应II区系统镜像地址位置及容量大小,将II区对应系统镜像文件覆盖到I区。
优选地,在覆盖成功后清除所述判断标志区中当前系统镜像备份分区对应的内核恢复标志位和文件系统恢复标志位。即,覆盖成功后清除被覆盖的系统镜像备份分区的恢复标志r_kernel_1和r_rootfs_1。清除是将对应标记为yes需要覆盖的标记设置为no。在启动镜像成功后将Judege-Area区的全部标志设为初始化状态的操作称为重置。
根据本发明上述实施例,通过二级引导程序启动阶段的自动备份恢复机制,用其他可运行的系统镜像文件备份来覆盖出现故障的系统镜像分区,确保能启动一个可用的系统。
本发明不限于将系统镜像固件文件备份到系统外部存储设备中最优实施方式中已阐述的几个系统分区,可根据外部存储设备容量的大小尽可能多备份。需要指出的是,系统镜像文件备份的数量越多,嵌入式系统启动失败的概率越低。
可选地,在所述嵌入式系统的二级引导程序启动阶段添加预设命令,以用于进行人工调试和/或手动备份;所述预设命令,包括:串口打印命令、修改命令和/或保存命令。
1)串口打印命令—printjudge打印Judge-Area区域的各标志位参数值,便于开发人员查看及调试。
2)修改命令—setjudge人为手动的修改Judge-Area区域的各标志位参数值,如改变Nandflash加载系统镜像各分区的位置等,便于开发人员调试。
3)保存命令—savejudge保存手动设置的Judge-Area区域的各标志位参数,便于开发人员手动调试。
图4是本发明提供的嵌入式系统的控制方法的又一实施例的方法示意图。如图4所示,根据本发明的又一个实施例,所述控制方法还包括步骤S150、步骤S160、步骤S170和步骤S180。
步骤S150,若将所述N个系统镜像备份分区中每个所述系统镜像备份分区中的系统镜像文件加载到所述嵌入式系统的运行内存中后,所述嵌入式系统均启动失败,则进入二级引导程序启动阶段命令行模式。
步骤S160,在所述二级引导程序启动阶段命令行模式下,接收嵌入式系统升级命令。
步骤S170,若接收到所述嵌入式系统升级命令,则接收从外部传输的更新的系统镜像文件。
步骤S180,将接收到的所述更新的系统镜像文件覆盖所述N个系统镜像备份分区中每个所述系统镜像备份分区中的系统镜像文件。
具体地,进入二级引导程序启动阶段命令行模式后,接收主机端发送的嵌入式系统升级命令。例如,若U-Boot引导程序将每个系统镜像备份分区的系统镜像文件加载到工业示教器运行内存中系统均启动失败,此时工业示教器的系统不能成功运行,停留在U-Boot引导系统启动阶段,并且进入U-Boot命令行模式,即开发者模式,等待系统更新升级命令,当开发人员在U-Boot命令行模式下输入更新升级命令时,就可以从外部传输系统镜像文件到工业示教器中。
例如,开发人员可以在主机端准备好可用的嵌入式系统镜像文件,用网线连接主机端和示教器端网口,通过网络将文件从主机传输到示教器端。接收到外部传输的更新的系统镜像文件,更新备份工业示教器中Nandflash主机端的系统文件传输备份到示教器,覆盖Nandflash存储器件中各分区备份的文件。工业示教器从Nandflash中加载系统镜像文件到运行内存中并尝试启动系统。
本发明嵌入式系统启动总体实现流程如下:
1)嵌入式系统上电启动运行或复位,进入系统启动。
2)首先进入系统启动的一级引导程序SPL阶段,随后进入二级引导程序U-Boot启动阶段。
3)工业示教器将系统镜像文件从外部存储设备Nandflash中加载到运行内存RAM,启动系统。
为清楚说明本发明技术方案,下面再以一个具体实施例对本发明提供的嵌入式系统的控制方法的执行流程进行描述。
图5是本发明提供的一种嵌入式系统启动备份及恢复流程图。本发明总体实现方案实施例如图5所示,为了简单的说明本发明的嵌入式系统的控制方,以三重备份的启动为例来说明工业示教器系统总体启动、备份及恢复机制,整个系统镜像分为3个备份区保存在工业示教器Nandflash中,具体过程如下:
1)工业示教器上电启动运行或复位
2)Judge-Area参数初始化处理
将判断标志区域(Judge-Area区域)的各标志位进行初始化处理,例如,I区在Judge-Area区域判断标志位初始值:b_active_1=yes、k_success_1=no、r_kernel_1=no、r_rootfs_1=no;II区在Judge-Area区域判断标志位初始值:b_active_2=no、k_success_2=no、r_kernel_2=no、r_rootfs_2=no;III区在Judge-Area区域判断标志位初始值:b_active_3=no、k_success_3=no、r_kernel_3=no、r_rootfs_3=no。
3)启动系统镜像备份分区X(X表示任一系统镜像备份分区)
将工业示教器系统外部存储设备Nandflash中的X区中的系统镜像文件加载到工业示教器运行内存RAM中,然后启动运行系统。默认情况下工业示教器系统镜像首先会从Nandflash器件中的I区中加载,若启动失败,则从II区加载,仍然启动失败,则从III区加载启动,以此类推,当所有的分区都加载启动失败,再次从I区加载启动,如此循环加载;
4)判断系统启动情况
当系统镜像文件加载到运行内存RAM中成功运行时,将判断标志区(Judge-Area区域)的相应标志位“k_success_x”标记为“yes”,并且进行Judge-Area参数的重置,即将Judge-Area区域所有标志位恢复到初始值,随后工业示教器系统运行结束。
当系统镜像文件加载到运行内存RAM中运行失败时,进行如下几个步骤的流程:
5)Judge-Area参数设置处理
以I区为例,Judge-Area区域的标志位“b_active_1”标记为“yes”、“k_success_1”标记为“no”、“r_kernel_1”标记为“yes”、“r_rootfs_1”标记为“yes”
6)触发watchdog复位系统
工业示教器复位,U-Boot再次启动运行。
7)Judge-Area读取参数,然后对系统镜像恢复处理首先读取到k_success_1为“no”,表示上次引导系统启动失败,并且r_kernel_1、r_rootfs_1为“yes”,表示需要将II区的系统镜像文件(Kernel.img、Rootfs.img)覆盖到I区;其次,获取Nandflash分区对应II区系统镜像地址位置及容量大小,将II区对应系统镜像文件覆盖到I区,覆盖成功后清除恢复标志“r_kernel_1”、“r_rootfs”。
8)U-Boot Env参数设置处理设置U-Boot阶段的启动参数中系统文件的在Nandflash加载的地址为II区所在的位置。
即,当Nandflash中I区中的系统镜像文件程序不能正常启动工业示教器系统时,设置uboot启动参数设置成II区,然后工业示教器系统下次启动就运行II区中的系统镜像文件程序。
当备份的所有的系统镜像固件文件都不能成功引导嵌入式系统启动时,可以参照图6来确保嵌入式系统(工业示教器系统)的成功启动,图6为本发明提供的一种嵌入式系统网络启动升级流程图。
当Nandflash中所有的备份的系统镜像文件都不能成功引导工业示教器系统启动时的情况下,人为手动的通过网络的方式将可用系统镜像文件更新备份到工业示教器的Nandflash存储设备中,从而确保工业示教器系统可以启动。具体流程如下:
1)工业示教器系统上电运行或复位
2)U-Boot引导系统失败
此时工业示教器的系统不能成功运行,停留在U-Boot引导系统启动阶段,并且进入U-Boot命令行模式即开发者模式。
3)等待系统更新升级命令
当开发人员在U-Boot命令行模式下输入更新升级命令时,就可以从外部传输系统镜像文件到工业示教器中。
4)系统镜像传输
在主机端准备好可用的工业示教器系统镜像文件,用网线连接主机端和示教器端网口,通过网络将文件从主机传输到示教器端。
5)更新备份工业示教器中Nandflash
主机端的系统文件传输备份到示教器,覆盖Nandflash存储器件中各系统镜像备份分区备份的文件。
6)工业示教器从Nandflash中加载系统镜像文件到运行内存中并尝试启动系统。
本发明还提供一种嵌入式系统的控制装置。所述嵌入式系统例如包括工业示教器系统。在所述嵌入式系统的外部存储设备上划分出N个系统镜像备份分区,每个所述系统镜像备份分区中存储一份系统镜像文件。所述外部存储设备用于存储系统文件数据。所述外部存储设备例如为NAND Flash存储器。Nand flash是一种断电非易失的外围存储设备,目前被广泛应用于嵌入式系统设备中。
图2是以嵌入式系统为例的嵌入式系统启动总体实现框图。图2示出了嵌入式系统启动的总体实现过程。如图2所示,根据本发明的一个实施例,嵌入式系统包括:SPL、U-Boot、U-Boot Env、Judge-Area、Kernel.img、Rootfs.img,其中:SPL是系统启动的一级引导程序;U-Boot是系统启动的二级引导程序;U-Boot Env是存储内核启动参数;系统镜像文件包括内核镜像文件和文件系统镜像文件,Kernel.img是系统启动的内核镜像文件,Rootfs.img是系统启动的文件系统镜像文件;mtd是同一外部存储设备上划分出来的两个以上不同的分区。
在嵌入式系统的外部存储设备(例如为NAND Flash存储器)上划分出N个分区,作为系统镜像备份分区,每个分区的大小可根据系统镜像文件的大小来确定。如图2所示,I区、II区、III区、IV区、V区、…、N区均为系统镜像备份分区,将系统启动用的系统镜像文件备份到划分的每个系统镜像备份分区中。其中,N≥2,也就是说,系统镜像文件在外部存储设备上备份两份以上。目前,运行Linux系统的NAND Flash配置都比较大,而裁剪后的内核和精简的文件系统镜像固件文件实际占用不到20MB容量或者更少。因此,这为实现Linux系统的多重备份提供了可能。
图7是本发明提供的嵌入式系统的控制装置的一实施例的结构框图。如图7所示,所述嵌入式系统的控制装置100包括加载单元110。
加载单元110,用于在所述嵌入式系统的启动或复位过程的二级引导程序启动阶段,按照预设顺序将所述N个系统镜像备份分区中当前系统镜像备份分区中的系统镜像文件加载到所述嵌入式系统的运行内存中,以启动所述嵌入式系统;若将所述系统镜像文件加载到所述嵌入式系统后,所述嵌入式系统启动失败,则按照所述预设顺序将下一系统镜像备份分区中的系统镜像文件加载到所述嵌入式系统的运行内存中,以启动所述嵌入式系统,以此类推,直到所述嵌入式系统启动成功。
嵌入式系统上电启动运行或复位,进入系统启动,首先进入系统启动的一级引导程序SPL阶段,随后进入二级引导程序U-Boot启动。二级引导程序U-Boot通过判断Judge-Area中的参数(Judge-Area区域中对各分区都有对应的编号的参数),按顺序启动当前系统镜像备份分区。将工业示教器Nandflash存储器中X区中的系统镜像文件加载到工业示教器运行内存RAM中,然后启动运行系统。
可选地,在所述嵌入式系统的外部存储设备上还设有判断标志区,所述判断标志区用于存储所述N个系统镜像备份分区中每个所述系统镜像备份分区对应的判断标志位。所述判断标志位,包括:引导标志位、内核成功引导标志位、内核恢复标志位和/或文件系统恢复标志位。
如图2所示,Judge-Area为系统的判断标志区,是在外部存储设备上划分出的单独区域,判断标志区内部存储系统备份及恢复的判断标志位等环境参数,该区域类似U-BootEnv区域。判断标志区存储每个系统镜像备份分区对应的判断标志位。如图2所示,b_active_x为X区引导标志位;k_success_x为X区内核成功引导标志位;r_kernel_x为X区内核恢复标志;r_rootfs_x为X区文件系统恢复标志;其中,X表示任一系统镜像备份分区。
可选地,所述装置100还包括:初始化处理单元(未图示)。
在一种具体实施方式中,所述初始化处理单元用于在按照预设顺序将所述N个系统镜像备份分区中当前系统镜像备份分区中的系统镜像文件加载到所述工业示教器的运行内存中之前,将所述判断标志位进行初始化处理。
以I区、II区、III区为例,将Judge-Area区域的各标志位进行初始化处理,I区在Judge-Area区判断标志位初始值:b_active_1=yes、k_success_1=no、r_kernel_1=no、r_rootfs_1=no;II区在Judge-Area区域判断标志位初始值:b_active_2=no、k_success_2=no、r_kernel_2=no、r_rootfs_2=no;III区在Judge-Area区域判断标志位初始值:b_active_3=no、k_success_3=no、r_kernel_3=no、r_rootfs_3=no。
在另一种具体实施方式中,所述初始化处理单元用于:若将所述系统镜像文件加载到所述嵌入式系统后,所述嵌入式系统启动成功,则对所述判断标志区中相应系统镜像备份分区对应的内核成功引导标志位进行相应标记,并对其他标志位进行重置。
具体地,若将所述系统镜像文件加载到所述嵌入式系统后,所述嵌入式系统启动成功,则对所述判断标志区中的内核成功引导标志位k_success_1标记为yes;对其他标志位进行重置,即恢复到初始值。
以I区为例,当系统镜像文件加载到运行内存RAM中成功运行时,将Judge-Area区域的标志位k_success_1标记为“yes”,并且进行Judge-Area参数的重置处理,即将Judge-Area区域所有标志位恢复到初始值,随后嵌入式系统运行结束。
若依次将所述N个系统镜像备份分区中所有系统镜像备份分区中的系统镜像文件加载到所述工业示教器的运行内存中后,均启动失败,则所述加载单元110重新按照所述预设顺序将系统镜像备份分区中的系统镜像文件加载到所述工业示教器的运行内存中,以启动所述嵌入式系统。
例如,外部存储设备上划分出I区、II区、III区三个系统镜像备份分区。首先,从I区中加载系统镜像文件,若系统启动失败,则从II区加载系统镜像文件,若系统仍然启动失败,则从III区加载系统镜像文件启动系统,当III区加载启动失败,再次从I区加载启动,若外部存储设备上划分出的系统镜像备份分区为3个以上,则以此类推,如此循环加载,直到系统启动成功。
在另一种具体实施方式中,所述初始化处理单元用于:若所述加载单元110将所述系统镜像文件加载到所述嵌入式系统后,所述嵌入式系统启动失败,则对所述判断标志区中相应系统镜像备份分区对应的各个判断标志位进行相应标记。
例如,当系统镜像文件加载到工业示教器的运行内存RAM中运行失败时,I区引导标志位b_active_1标记为“yes”、I区内核成功引导标志位k_success_1标记为“no”、I区内核恢复标志位r_kernel_1标记为“yes”、I区文件系统恢复标志位r_rootfs_1标记为“yes”。例如,r_kernel_1、r_rootfs_1为“yes”,表示需要将II区的系统镜像文件(Kernel.img、Rootfs.img)覆盖到I区。
图8是本发明提供的嵌入式系统的控制装置的另一实施例的结构框图。如图8所示,所述嵌入式系统的控制装置100还包括复位单元130和覆盖单元140。
复位单元130用于若所述加载单元110将当前系统镜像备份分区中的系统镜像文件加载到所述嵌入式系统后,所述嵌入式系统启动失败,则对所述嵌入式系统进行复位。覆盖单元140,用于将下一系统镜像备份分区中的系统镜像文件覆盖至当前系统镜像备份分区中。
在一种具体实施方式中,通过watchdog复位系统进行嵌入式系统的复位。具体地,当系统运行出现故障时,通过Watchdog机制来使硬件复位。
例如,读取Judge-Area区参数,首先读取到k_success_1为“no”,表示上次引导系统启动失败,并且r_kernel_1为“yes”,r_rootfs_1为“yes”,表示需要将II区的系统镜像文件(Kernel.img和Rootfs.img)覆盖到I区;其次获取Nandflash分区对应II区系统镜像地址位置及容量大小,将II区对应系统镜像文件覆盖到I区。
优选地,在覆盖成功后清除所述判断标志区中当前系统镜像备份分区对应的内核恢复标志位和文件系统恢复标志位。即,覆盖成功后清除被覆盖的系统镜像备份分区的恢复标志r_kernel_1和r_rootfs_1。清除是将对应标记为yes需要覆盖的标记设置为no。在启动镜像成功后将Judege-Area区的全部标志设为初始化状态的操作称为重置。
根据本发明上述实施例,通过二级引导程序启动阶段的自动备份恢复机制,用其他可运行的系统镜像文件备份来覆盖出现故障的系统镜像分区,确保能启动一个可用的系统。
本发明不限于将系统镜像固件文件备份到系统外部存储设备中最优实施方式中已阐述的几个系统分区,可根据外部存储设备容量的大小尽可能多备份。需要指出的是,系统镜像文件备份的数量越多,嵌入式系统启动失败的概率越低。
可选地,在所述嵌入式系统的二级引导程序启动阶段添加预设命令,以用于进行人工调试和/或手动备份;所述预设命令,包括:串口打印命令、修改命令和/或保存命令。
1)串口打印命令—printjudge打印Judge-Area区域的各标志位参数值,便于开发人员查看及调试。
2)修改命令—setjudge人为手动的修改Judge-Area区域的各标志位参数值,如改变Nandflash加载系统镜像各分区的位置等,便于开发人员调试。
3)保存命令—savejudge保存手动设置的Judge-Area区域的各标志位参数,便于开发人员手动调试。
图9是本发明提供的嵌入式系统的控制装置的又一实施例的结构框图。如图9所示,所述嵌入式系统的控制装置100还包括:模式进入单元150、命令接收单元160、文件接收单元170和文件覆盖单元180。
具体地,模式进入单元150用于若将所述N个系统镜像备份分区中每个所述系统镜像备份分区中的系统镜像文件加载到所述工业示教器的运行内存中后,所述嵌入式系统均启动失败,则进入二级引导程序启动阶段命令行模式;命令接收单元,用于在所述二级引导程序启动阶段命令行模式下,接收嵌入式系统升级命令;文件接收单元,用于若所述命令接收单元接收到所述嵌入式系统升级命令,则接收从外部传输的更新的系统镜像文件;文件覆盖单元,用于将接收到的所述更新的系统镜像文件覆盖所述N个系统镜像备份分区中每个所述系统镜像备份分区中的系统镜像文件。
具体地,进入二级引导程序启动阶段命令行模式后,接收主机端发送的嵌入式系统升级命令。例如,若U-Boot引导程序将每个系统镜像备份分区的系统镜像文件加载到工业示教器运行内存中系统均启动失败,此时工业示教器的系统不能成功运行,停留在U-Boot引导系统启动阶段,并且进入U-Boot命令行模式,即开发者模式,等待系统更新升级命令,当开发人员在U-Boot命令行模式下输入更新升级命令时,就可以从外部传输系统镜像文件到工业示教器中。
例如,开发人员可以在主机端准备好可用的嵌入式系统镜像文件,用网线连接主机端和示教器端网口,通过网络将文件从主机传输到示教器端。接收到外部传输的更新的系统镜像文件,更新备份工业示教器中Nandflash主机端的系统文件传输备份到示教器,覆盖Nandflash存储器件中各分区备份的文件。工业示教器从Nandflash中加载系统镜像文件到运行内存中并尝试启动系统。
本发明还提供对应于所述嵌入式系统的控制方法的一种存储介质,其上存储有计算机程序,所述程序被处理器执行时实现前述任一所述方法的步骤。
本发明还提供对应于所述嵌入式系统的控制方法的一种嵌入式系统,包括处理器、存储器以及存储在存储器上可在处理器上运行的计算机程序,所述处理器执行所述程序时实现前述任一所述方法的步骤。所述嵌入式系统例如为工业示教器系统。
本发明还提供对应于所述嵌入式系统的控制装置的一种嵌入式系统,包括前述任一所述的嵌入式系统的控制装置。所述嵌入式系统例如为工业示教器系统。
据此,本发明提供的方案,在工业示教器设备的外部存储设备上划分出多个系统镜像备份分区,并在划分出的多个分区中备份多份系统镜像文件,每次运行一个系统镜像备份分区中的系统镜像文件程序,直到系统成功启动,确保嵌入式系统可以启动。当运行的操作系统出现故障时,触发系统备份恢复机制,使用下一个可用的系统镜像备份分区覆盖掉出现故障的系统镜像备份分区,然后启动一个可用的系统。
当所有系统镜像备份分区的系统镜像启动都出现故障的情况时,采用人工的方式进行更新升级嵌入式系统,建立主机和工业示教器之间的网络通信,在主机端准备可用的系统镜像文件,人工发出更新升级指令加载文件到工业示教器,将可用的嵌入式系统镜像从主机端通过网络传输并更新备份到工业示教器的存储设备中,保证嵌入式系统正常启动。
根据本发明的技术方案,可以使嵌入式系统自动方便的维护系统启动故障问题,特殊情况下可便于开发人员手动调试维护嵌入式系统启动,尤其适用于一些对功能稳定性要求高和维护不方便的嵌入式系统等场合。可有效降低维护成本、提高系统运行稳定性。
本文中所描述的功能可在硬件、由处理器执行的软件、固件或其任何组合中实施。如果在由处理器执行的软件中实施,那么可将功能作为一或多个指令或代码存储于计算机可读媒体上或经由计算机可读媒体予以传输。其它实例及实施方案在本发明及所附权利要求书的范围及精神内。举例来说,归因于软件的性质,上文所描述的功能可使用由处理器、硬件、固件、硬连线或这些中的任何者的组合执行的软件实施。此外,各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。
在本申请所提供的几个实施例中,应该理解到,所揭露的技术内容,可通过其它的方式实现。其中,以上所描述的装置实施例仅仅是示意性的,例如所述单元的划分,可以为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,单元或模块的间接耦合或通信连接,可以是电性或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为控制装置的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可为个人计算机、服务器或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、移动硬盘、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述仅为本发明的实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的权利要求范围之内。

Claims (15)

1.一种嵌入式系统的控制方法,其特征在于,在所述嵌入式系统的外部存储设备上划分出N个系统镜像备份分区,每个所述系统镜像备份分区中存储一份系统镜像文件;
所述方法,包括:
在所述嵌入式系统的启动或复位过程的二级引导程序启动阶段,按照预设顺序将所述N个系统镜像备份分区中当前系统镜像备份分区中的系统镜像文件加载到所述嵌入式系统的运行内存中,以启动所述嵌入式系统;
若将所述系统镜像文件加载到所述嵌入式系统后,所述嵌入式系统启动失败,则按照所述预设顺序将下一系统镜像备份分区中的系统镜像文件加载到所述嵌入式系统的运行内存中,以启动所述嵌入式系统,以此类推,直到所述嵌入式系统启动成功。
2.根据权利要求1所述的控制方法,其特征在于,在所述嵌入式系统的外部存储设备上还设有判断标志区,所述判断标志区用于存储所述N个系统镜像备份分区中每个所述系统镜像备份分区对应的判断标志位;
所述判断标志位,包括:引导标志位、内核成功引导标志位、内核恢复标志位和/或文件系统恢复标志位。
3.根据权利要求2所述的控制方法,其特征在于,还包括:
在按照预设顺序将所述N个系统镜像备份分区中当前系统镜像备份分区中的系统镜像文件加载到所述工业示教器的运行内存中之前,将所述判断标志位进行初始化处理;
和/或,
若将所述系统镜像文件加载到所述嵌入式系统后,所述嵌入式系统启动成功,则对所述判断标志区中相应系统镜像备份分区对应的内核成功引导标志位进行相应标记,并对其他标志位进行重置;
和/或,
若将所述系统镜像文件加载到所述嵌入式系统后,所述嵌入式系统启动失败,则对所述判断标志区中相应系统镜像备份分区对应的各个判断标志位进行相应标记。
4.根据权利要求1-3任一项所述的控制方法,其特征在于,还包括:
若将当前系统镜像备份分区中的系统镜像文件加载到所述嵌入式系统后,所述嵌入式系统启动失败,则对所述嵌入式系统进行复位;
将下一系统镜像备份分区中的系统镜像文件覆盖至当前系统镜像备份分区中。
5.根据权利要求1-4任一项所述的控制方法,其特征在于,还包括:
在所述嵌入式系统的二级引导程序启动阶段添加预设命令,以用于进行人工调试和/或手动备份;
所述预设命令,包括:串口打印命令、修改命令和/或保存命令。
6.根据权利要求1-5任一项所述的控制方法,其特征在于,还包括:
若将所述N个系统镜像备份分区中每个所述系统镜像备份分区中的系统镜像文件加载到所述工业示教器的运行内存中后,所述嵌入式系统均启动失败,则进入二级引导程序启动阶段命令行模式;
在所述二级引导程序启动阶段命令行模式下,接收嵌入式系统升级命令;
若接收到所述嵌入式系统升级命令,则接收从外部传输的更新的系统镜像文件;
将接收到的所述更新的系统镜像文件覆盖所述N个系统镜像备份分区中每个所述系统镜像备份分区中的系统镜像文件。
7.一种嵌入式系统的控制装置,其特征在于,在所述嵌入式系统的外部存储设备上划分出N个系统镜像备份分区,每个所述系统镜像备份分区中存储一份系统镜像文件;
所述控制装置,包括:
加载单元,用于在所述嵌入式系统的启动或复位过程的二级引导程序启动阶段,按照预设顺序将所述N个系统镜像备份分区中当前系统镜像备份分区中的系统镜像文件加载到所述嵌入式系统的运行内存中,以启动所述嵌入式系统;
若将所述系统镜像文件加载到所述嵌入式系统后,所述嵌入式系统启动失败,则按照所述预设顺序将下一系统镜像备份分区中的系统镜像文件加载到所述嵌入式系统的运行内存中,以启动所述嵌入式系统,以此类推,直到所述嵌入式系统启动成功。
8.根据权利要求7所述的控制装置,其特征在于,在所述嵌入式系统的外部存储设备上还设有判断标志区,所述判断标志区用于存储所述N个系统镜像备份分区中每个所述系统镜像备份分区对应的判断标志位;
所述判断标志位,包括:引导标志位、内核成功引导标志位、内核恢复标志位和/或文件系统恢复标志位。
9.根据权利要求8所述的控制装置,其特征在于,还包括:初始化处理单元,用于:
在按照预设顺序将所述N个系统镜像备份分区中当前系统镜像备份分区中的系统镜像文件加载到所述工业示教器的运行内存中之前,将所述判断标志位进行初始化处理;
和/或,
若将所述系统镜像文件加载到所述嵌入式系统后,所述嵌入式系统启动成功,则对所述判断标志区中相应系统镜像备份分区对应的内核成功引导标志位进行相应标记,并对其他标志位进行重置;
和/或,
若将所述系统镜像文件加载到所述嵌入式系统后,所述嵌入式系统启动失败,则对所述判断标志区中相应系统镜像备份分区对应的各个判断标志位进行相应标记。
10.根据权利要求7-9任一项所述的控制装置,其特征在于,还包括:
复位单元,用于若所述加载单元将当前系统镜像备份分区中的系统镜像文件加载到所述嵌入式系统后,所述嵌入式系统启动失败,则对所述嵌入式系统进行复位;
覆盖单元,用于将下一系统镜像备份分区中的系统镜像文件覆盖至当前系统镜像备份分区中。
11.根据权利要求7-10任一项所述的控制装置,其特征在于,还包括:
在所述嵌入式系统的二级引导程序启动阶段添加预设命令,以用于进行人工调试和/或手动备份;
所述预设命令,包括:串口打印命令、修改命令和/或保存命令。
12.根据权利要求7-11任一项所述的控制装置,其特征在于,还包括:
模式进入单元,用于若将所述N个系统镜像备份分区中每个所述系统镜像备份分区中的系统镜像文件加载到所述工业示教器的运行内存中后,所述嵌入式系统均启动失败,则进入二级引导程序启动阶段命令行模式;
命令接收单元,用于在所述二级引导程序启动阶段命令行模式下,接收嵌入式系统升级命令;
文件接收单元,用于若所述命令接收单元接收到所述嵌入式系统升级命令,则接收从外部传输的更新的系统镜像文件;
文件覆盖单元,用于将接收到的所述更新的系统镜像文件覆盖所述N个系统镜像备份分区中每个所述系统镜像备份分区中的系统镜像文件。
13.一种存储介质,其特征在于,其上存储有计算机程序,所述程序被处理器执行时实现权利要求1-6任一所述方法的步骤。
14.一种嵌入式系统,其特征在于,包括处理器、存储器以及存储在存储器上可在处理器上运行的计算机程序,所述处理器执行所述程序时实现权利要求1-6任一所述方法的步骤。
15.一种嵌入式系统,其特征在于,包括如权利要求7-12任一所述的嵌入式系统的控制装置。
CN202110759051.2A 2021-07-05 2021-07-05 一种嵌入式系统及其控制方法、装置和存储介质 Pending CN113485764A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110759051.2A CN113485764A (zh) 2021-07-05 2021-07-05 一种嵌入式系统及其控制方法、装置和存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110759051.2A CN113485764A (zh) 2021-07-05 2021-07-05 一种嵌入式系统及其控制方法、装置和存储介质

Publications (1)

Publication Number Publication Date
CN113485764A true CN113485764A (zh) 2021-10-08

Family

ID=77940233

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110759051.2A Pending CN113485764A (zh) 2021-07-05 2021-07-05 一种嵌入式系统及其控制方法、装置和存储介质

Country Status (1)

Country Link
CN (1) CN113485764A (zh)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113918001A (zh) * 2021-10-14 2022-01-11 武汉长江计算科技有限公司 一种嵌入式网络设备系统升级数据保护装置和方法
CN114185606A (zh) * 2021-12-14 2022-03-15 上海华信长安网络科技有限公司 一种基于嵌入式系统提高系统运行可靠性的方法和装置
CN114356443A (zh) * 2021-12-23 2022-04-15 常州新途软件有限公司 基于仪表多分区的管理方法
CN115373906A (zh) * 2022-10-24 2022-11-22 北京智芯微电子科技有限公司 嵌入式系统架构的备份启动方法、装置、设备及芯片
CN117707626A (zh) * 2022-10-09 2024-03-15 荣耀终端有限公司 系统启动方法及电子设备

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1818869A (zh) * 2006-03-15 2006-08-16 浙江大学 嵌入式操作系统镜像启动的启动优化方法
CN102760063A (zh) * 2011-04-25 2012-10-31 联想(北京)有限公司 一种文件加载方法及装置
CN106598780A (zh) * 2016-11-22 2017-04-26 深圳中科讯联科技股份有限公司 一种系统备份与恢复的方法及装置
CN111142911A (zh) * 2019-12-27 2020-05-12 易思维(杭州)科技有限公司 具有异常恢复功能的嵌入式系统及其升级方法

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1818869A (zh) * 2006-03-15 2006-08-16 浙江大学 嵌入式操作系统镜像启动的启动优化方法
CN102760063A (zh) * 2011-04-25 2012-10-31 联想(北京)有限公司 一种文件加载方法及装置
CN106598780A (zh) * 2016-11-22 2017-04-26 深圳中科讯联科技股份有限公司 一种系统备份与恢复的方法及装置
CN111142911A (zh) * 2019-12-27 2020-05-12 易思维(杭州)科技有限公司 具有异常恢复功能的嵌入式系统及其升级方法

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113918001A (zh) * 2021-10-14 2022-01-11 武汉长江计算科技有限公司 一种嵌入式网络设备系统升级数据保护装置和方法
CN114185606A (zh) * 2021-12-14 2022-03-15 上海华信长安网络科技有限公司 一种基于嵌入式系统提高系统运行可靠性的方法和装置
CN114185606B (zh) * 2021-12-14 2023-11-28 上海华信长安网络科技有限公司 一种基于嵌入式系统提高系统运行可靠性的方法和装置
CN114356443A (zh) * 2021-12-23 2022-04-15 常州新途软件有限公司 基于仪表多分区的管理方法
CN117707626A (zh) * 2022-10-09 2024-03-15 荣耀终端有限公司 系统启动方法及电子设备
CN115373906A (zh) * 2022-10-24 2022-11-22 北京智芯微电子科技有限公司 嵌入式系统架构的备份启动方法、装置、设备及芯片
CN115373906B (zh) * 2022-10-24 2023-02-17 北京智芯微电子科技有限公司 嵌入式系统架构的备份启动方法、装置、设备及芯片

Similar Documents

Publication Publication Date Title
CN113485764A (zh) 一种嵌入式系统及其控制方法、装置和存储介质
US7734945B1 (en) Automated recovery of unbootable systems
KR100532413B1 (ko) 플래시 메모리 보호 장치 및 방법
US6170055B1 (en) System for computer recovery using removable high capacity media
CN109032632B (zh) 一种fota升级方法、无线通信终端及存储介质
EP1691281B1 (en) Memory dump program boot method
WO2010035596A1 (ja) ファームウェア更新装置及び方法
CN106873990B (zh) 嵌入式系统ram损坏模式下的多分区引导方法
CN106775610B (zh) 一种电子设备启动方法及一种电子设备
US20120084601A1 (en) Computer system rescue method
JP2003345618A (ja) 2以上のファームウェアイメージを切替える方法
KR20020083037A (ko) 컴퓨터 운영 시스템 보호 방법 및 장치
CN102334100A (zh) 程序更新设备、程序更新方法以及信息处理设备
CN100367225C (zh) 可以对可启动存储设备进行备份和恢复的计算设备及其备份和恢复方法
CN108345464A (zh) 一种安卓系统的启动方法及安卓车机
CN113254048B (zh) 引导程序更新方法、装置、设备及计算机可读介质
CN109189485A (zh) 一种嵌入式设备的系统启动管理、操作系统配置方法
CN110780942A (zh) 系统启动方法、装置、节点设备及计算机可读存储介质
US20230060908A1 (en) Computer system and method for booting up the computer system
CN110209525B (zh) 操作系统还原方法及装置
CN115113905A (zh) 固件升级方法和固件升级装置
EP1110146B1 (en) A method, computer, and article of manufacturing for fault tolerant booting
KR101576370B1 (ko) 컴퓨터 시스템의 원격 복원 시스템 및 그 방법, 그리고 기록한 컴퓨터로 읽어 들일 수 있는 기록매체
CN111522690B (zh) 数据储存装置及维持数据储存装置正常开机运作的方法
CN113626262A (zh) 一种bmc恢复方法、系统、设备以及介质

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