首页> 中国专利> 基于嵌入式引导分区固件升级方法、系统、设备及介质

基于嵌入式引导分区固件升级方法、系统、设备及介质

摘要

本发明公开了一种基于嵌入式引导分区固件升级方法、系统、设备及介质,其中方法包括以下步骤:启动设备后,进入U‑boot引导分区控制状态;读取配置分区中的配置文件,根据配置文件检测是否进行升级操作;确定检测到进行升级操作后,获取设备的固件升级文件,根据固件升级文件对设备进行固件升级;在U‑boot引导分区控制状态中完成升级操作后,进入设备正常启动模式。本发明在没有进入系统之前的U‑boot的状态,设备自动获取固件升级文件,根据固件升级文件进行flash的镜像写入,以完成固件升级,不需要设备进入Linux系统,省去了用户的其它的操作,使升级操作变的简单方便,可广泛应用于设备升级技术领域。

著录项

  • 公开/公告号CN112732310A

    专利类型发明专利

  • 公开/公告日2021-04-30

    原文格式PDF

  • 申请/专利权人 深圳市信义科技有限公司;

    申请/专利号CN202110089434.3

  • 申请日2021-01-22

  • 分类号G06F8/654(20180101);G06F9/4401(20180101);G06F11/14(20060101);

  • 代理机构44205 广州嘉权专利商标事务所有限公司;

  • 代理人常柯阳

  • 地址 518000 广东省深圳市南山区南山街道南山社区华联商务中心T3栋写字楼1001

  • 入库时间 2023-06-19 10:48:02

说明书

技术领域

本发明涉及设备升级技术领域,尤其涉及一种基于嵌入式引导分区固件升级方法、系统、设备及介质。

背景技术

随着5G和人工智能时代的到来,智能终端电子产品使用的越来越频繁,固件升级也变的越来越重要。尤其是具备深度学习算法的网络电子产品,需要通过固件升使产品功能更完善、性能更智能,从而给用户一个更好的体验。

目前嵌入式自动固件升级方案主要是基于Linux系统下,通过用户程序和固件后台服务器(或电脑)进行通信获取固件升级包对设备进行升级。这种固件升级方法技术存有缺点如下:(1)在升级过程中断电或者其它原因很容易导致设备因升级死机需要返厂维修;(2)设备需要进入系统,且需要用户下载好该设备的升级包,然后进行升级操作,这样既增加了用户的使用成本,也增加了设备坏掉的风险。

发明内容

为至少一定程度上解决现有技术中存在的技术问题之一,本发明的目的在于提供一种基于嵌入式引导分区固件升级方法、系统、设备及介质。

本发明所采用的技术方案是:

一种基于嵌入式引导分区固件升级方法,包括以下步骤:

启动设备后,进入U-boot引导分区控制状态;

读取配置分区中的配置文件,根据所述配置文件检测是否进行升级操作;

确定检测到进行升级操作后,获取所述设备的固件升级文件,根据所述固件升级文件对所述设备进行固件升级;

在U-boot引导分区控制状态中完成升级操作后,进入设备正常启动模式。

进一步,所述读取配置分区中的配置文件,根据所述配置文件检测是否进行升级操作,包括:

读取设备配置分区中的配置文件到预设的内存中;

解析所述配置文件中的配置参数,所述配置参数包括设备升级的使能标志;

根据所述使能标志检测是否进行升级操作,若不进行升级操作,进入设备正常启动模式。

进一步,所述配置文件还包括云服务器的IP地址以及云服务器的端口号,所述获取所述设备的固件升级文件,包括:

根据所述IP地址和所述端口号与云服务器进行通信,检测所述云服务器上是否存有所述设备的固件升级文件;

确定检测到存有所述固件升级文件,下载所述固件升级文件。

进一步,所述获取所述设备的固件升级文件,包括:

扫描所述设备外设的存储装置,检测所述存储装置中是否存储有所述设备的固件升级文件;

确定检测到存有所述固件升级文件,下载所述固件升级文件;

其中,所述存储装置包括U盘或者SD卡的至少之一。

进一步,所述根据所述固件升级文件对所述设备进行固件升级,包括:

对所述固件升级文件的固件头进行解析,根据所述固件头检测所述固件升级文件是否完整,若所述固件升级文件不完整,则丢弃所述固件升级文件;

读取所述固件升级文件中的设备型号信息,判断所述设备型号信息与所述设备的型号是否一致,若不一致,则丢弃所述固件升级文件;

将所述固件升级文件进行解析,将解析完成的所述固件升级文件的镜像,按照分区的顺序、先擦除后写入的方式逐个分区写入镜像文件;

完成写入镜像文件后,完成所述升级操作。

进一步,所述基于嵌入式引导分区固件升级方法还包括系统损坏恢复的步骤,包括:

进入U-boot引导分区控制状态后,检测所述设备是否挂载有存储装置;

若挂载有存储装置,检测所述存储装置中是否存储有系统恢复文件;

若存储有系统恢复文件,获取所述系统恢复文件,以及根据所述系统恢复文件对所述设备进行恢复操作;

其中,所述存储装置包括U盘或者SD卡的至少之一。

进一步,所述根据所述系统恢复文件对所述设备进行恢复操作,包括:

将所述系统恢复文件解析到预设的内存地址中,根据解析完成的所述系统恢复文件获取设备型号信息和MD5校验信息;

根据所述设备型号信息检测所述系统恢复文件与所述设备是否匹配,若不匹配,则丢弃所述系统恢复文件;

根据所述MD5校验信息检测所述系统恢复文件是否完整,若不完整,则丢弃所述系统恢复文件;

根据解析后的所述系统恢复文件进行恢复操作。

本发明所采用的另一技术方案是:

一种基于嵌入式引导分区固件升级系统,包括:

设备启动模块,用于启动设备后,进入U-boot引导分区控制状态;

文件读取模块,用于读取配置分区中的配置文件,根据所述配置文件检测是否进行升级操作;

升级操作模块,用于确定检测到进行升级操作后,获取所述设备的固件升级文件,根据所述固件升级文件对所述设备进行固件升级;

正常启动模块,用于在U-boot引导分区控制状态中完成升级操作后,进入设备正常启动模式。

本发明所采用的另一技术方案是:

一种电子设备,包括:

至少一个处理器;

至少一个存储器,用于存储至少一个程序;

当所述至少一个程序被所述至少一个处理器执行,使得所述至少一个处理器实现上所述方法。

本发明所采用的另一技术方案是:

一种存储介质,其中存储有处理器可执行的指令,所述处理器可执行的指令在由处理器执行时用于执行如上所述方法。

本发明的有益效果是:本发明在没有进入系统之前的U-boot的状态,设备自动获取固件升级文件,根据固件升级文件进行flash的镜像写入,以完成固件升级,不需要设备进入Linux系统,省去了用户的其它的操作,使升级操作变的简单方便,同时也节省了用户的升级成本。

附图说明

为了更清楚地说明本发明实施例或者现有技术中的技术方案,下面对本发明实施例或者现有技术中的相关技术方案附图作以下介绍,应当理解的是,下面介绍中的附图仅仅为了方便清晰表述本发明的技术方案中的部分实施例,对于本领域的技术人员而言,在无需付出创造性劳动的前提下,还可以根据这些附图获取到其他附图。

图1是本发明实施例中一种基于嵌入式引导分区固件升级方法的步骤流程图;

图2是本发明实施例中一种基于嵌入式引导分区自动固件升级和系统损坏恢复方法的流程示意图;

图3是本发明实施例中一种基于嵌入式引导分区固件升级系统的结构框图。

具体实施方式

下面详细描述本发明的实施例,所述实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施例是示例性的,仅用于解释本发明,而不能理解为对本发明的限制。对于以下实施例中的步骤编号,其仅为了便于阐述说明而设置,对步骤之间的顺序不做任何限定,实施例中的各步骤的执行顺序均可根据本领域技术人员的理解来进行适应性调整。

在本发明的描述中,需要理解的是,涉及到方位描述,例如上、下、前、后、左、右等指示的方位或位置关系为基于附图所示的方位或位置关系,仅是为了便于描述本发明和简化描述,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此不能理解为对本发明的限制。

在本发明的描述中,若干的含义是一个或者多个,多个的含义是两个以上,大于、小于、超过等理解为不包括本数,以上、以下、以内等理解为包括本数。如果有描述到第一、第二只是用于区分技术特征为目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量或者隐含指明所指示的技术特征的先后关系。

本发明的描述中,除非另有明确的限定,设置、安装、连接等词语应做广义理解,所属技术领域技术人员可以结合技术方案的具体内容合理确定上述词语在本发明中的具体含义。

如图1所示,本实施例提供了一种基于嵌入式引导分区固件升级方法,该方法步骤有设备自动执行,包括但不限于以下步骤:

S1、启动设备后,进入U-boot引导分区控制状态。

本实施例的设备在开机后,快速进入U-boot模式,而不是进入Linux系统,在U-boot引导分区控制状态下完成以下步骤。

S2、读取配置分区中的配置文件,根据配置文件检测是否进行升级操作。

其中,步骤S2具体步骤S21-S23:

S21、读取设备配置分区中的配置文件到预设的内存中;

S22、解析配置文件中的配置参数,配置参数包括设备升级的使能标志;

S23、根据使能标志检测是否进行升级操作,若不进行升级操作,进入设备正常启动模式。

该配置参数包括设备升级的使能标志、云服务器的IP地址、云服务器的端口号等配置参数,如果升级使能标志不使能的话,那么设备不做升级操作,进入设备正常启动模式;如果升级标志位使能状态,则进行升级操作。

S3、确定检测到进行升级操作后,获取设备的固件升级文件,根据固件升级文件对设备进行固件升级。

在检测到需要进行升级操作后,获取设备的固件升级文件,在本实施例中可采用多种方式获取该固件升级文件,比如跟云服务器进行通信连接获取该固件升级文件,或者设备在U-boot状态下通过自动扫描U盘或者SD卡的方式来获取该固件升级文件,又或者先通过云服务器获取固件升级文件,若获取不到,再通过扫描U盘或者SD卡来获取固件升级文件。

其中,当通过云服务器获取固件升级文件时,具体步骤如S31a-S32a:

S31a、根据IP地址和端口号与云服务器进行通信,检测云服务器上是否存有设备的固件升级文件;

S32a、确定检测到存有固件升级文件,下载固件升级文件。

当通过扫描U盘或者SD卡获取固件升级文件时,具体步骤如S31b-S32b:

S31b、扫描设备外设的存储装置,检测存储装置中是否存储有设备的固件升级文件;

S32b、确定检测到存有固件升级文件,下载固件升级文件。

获取到固件升级文件后,进行升级操作,包括步骤A1-A4:

A1、对固件升级文件的固件头进行解析,根据固件头检测固件升级文件是否完整,若固件升级文件不完整,则丢弃固件升级文件;

A2、读取固件升级文件中的设备型号信息,判断设备型号信息与设备的型号是否一致,若不一致,则丢弃固件升级文件;

A3、将固件升级文件进行解析,将解析完成的固件升级文件的镜像,按照分区的顺序、先擦除后写入的方式逐个分区写入镜像文件;

A4、完成写入镜像文件后,完成升级操作。

S4、在U-boot引导分区控制状态中完成升级操作后,进入设备正常启动模式。

进一步作为可选的实施方式,还包括系统损坏恢复的步骤,包括B1-B3:

B1、进入U-boot引导分区控制状态后,检测设备是否挂载有存储装置;其中,存储装置包括U盘或者SD卡的至少之一。

B2、若挂载有存储装置,检测存储装置中是否存储有系统恢复文件。

B3、若存储有系统恢复文件,获取系统恢复文件,以及根据系统恢复文件对设备进行恢复操作。

其中,步骤B3中根据系统恢复文件对设备进行恢复操作的步骤,包括以下步骤B31-B33:

B31、将系统恢复文件解析到预设的内存地址中,根据解析完成的系统恢复文件获取设备型号信息和MD5校验信息;

B32、根据设备型号信息检测系统恢复文件与设备是否匹配,若不匹配,则丢弃系统恢复文件;

B33、根据MD5校验信息检测系统恢复文件是否完整,若不完整,则丢弃系统恢复文件;

B34、根据解析后的系统恢复文件进行恢复操作。

在本实施例中,上述系统损坏恢复的步骤可在步骤S2之前执行。

参见图2,以下结合具体实施例对上述升级方法进行详细的解释说明。

本实施例方法的设计思路是在设备没有启动系统之前的uboot引导阶段,通过直接操作闪存的方式来升级固件和对对损坏的系统设备做系统恢复的功能,该发明能够自动去指定的云服务器或者外设中寻找本设备型号的升级固件和系统恢复的固件,而且能够稳定安全的对设备的闪存进行擦写,能够方便快捷,同时又能节省用户的升级成本。主要步骤流程如下:

步骤一:上电启动

1、进入U-boot引导分区控制状态。

2、初始化网络资源,检测外设上是否有U盘或者SD卡挂载,如果没有检测到U盘或者SD则进入步骤二。

3、扫描U盘中的有无系统恢复的升级文件,如果有则进入步骤五,把U盘中的文件解析到指定的内存地址中,对解析好的文件做设备型号校验和MD5校验确保系统恢复的文件是本设备的文件且文件是完整的。如果U盘中没有该设备系统恢复的文件则进入步骤二。

步骤二:读取配置分区中的配置文件

1、读取设备配置分区中的配置文件到指定的内存中。

2、解析配置文件中的配置参数(设备升级的使能标志、云服务器的IP地址、云服务器的端口号等配置参数)。

3、如果升级使能标志不使能的话,那么设备不做升级操作,则进入步骤六,设备正常启动,如果升级标志位使能状态则进入步骤三。

步骤三:查看云服务器上有没有升级固件

1、跟云服务器进行通信查看云服务器上有无本设备的升级固件,如果云服务器上没有该设备的升级包则进入步骤四。

2、如果有该设备型号的升级固件,则进入步骤五,设备进入自动升级模式。

步骤四:扫描U盘和SD卡

1、扫描外设U盘或者SD卡中有没有该型号所需的固件升级包,如果没有发现该设备的升级固件,则进入步骤六,设备正常启动。

2、如果有发现升级包,则进入步骤五,设备进入固件升级的状态。

步骤五:解析升级的固件

1、对升级包的固件头进行解析,并检查升级包的完整性,如果不完整则丢弃进入步骤六。

2、读取固件中的设备型号跟本设备型号进行对比如果型号一致,如果一致则进入升级流程,如果不一致则丢弃升级包进入步骤六。

3、把解析好的升级文件的镜像按照分区的顺序逐个分区先擦除后写入镜像文件,全部文件写入完成后进入步骤六,设备正常启动。

步骤六:结束升级流程;

1、uboot引导分区自动升级结束,进入设备正常启动模式。

综上所述,本实施例的方法相对于现有技术,具有如下有益效果:

(1)、设备开机快速进入U-boot模式,不需要进入Linux系统,从云服务器或者U盘、SD卡中获取到升级或者系统恢复的文件后,直接引导擦除flash分区文件,然后把镜像文件写入到指定的flash文件中,这种方式可以自动的从云服务中获取升级文件,无需大量的连线或者用FPGA的这种方式对flash进行擦写,减少了升级的成本,同时体现了固件升级和系统恢复的便捷性和灵活性。

(2)、设备自动跟云服务器进行通信连接获取该设备型号所需的升级或者系统恢复的镜像文件,然后进行flash的镜像写入;在没有网络的情况下,设备在U-boot状态下通过自动扫描U盘或者SD卡的方式来获取该设备型号所需的升级或者系统恢复的镜像文件,然后进行flash的镜像写入。通过多种方式实现自动升级,提高该升级方法的适用性。

如图3所示,本实施例还提供了一种基于嵌入式引导分区固件升级系统,包括:

设备启动模块,用于启动设备后,进入U-boot引导分区控制状态;

文件读取模块,用于读取配置分区中的配置文件,根据配置文件检测是否进行升级操作;

升级操作模块,用于确定检测到进行升级操作后,获取设备的固件升级文件,根据固件升级文件对设备进行固件升级;

正常启动模块,用于在U-boot引导分区控制状态中完成升级操作后,进入设备正常启动模式。

本实施例的一种基于嵌入式引导分区固件升级系统,可执行本发明方法实施例所提供的一种基于嵌入式引导分区固件升级方法,可执行方法实施例的任意组合实施步骤,具备该方法相应的功能和有益效果。

本实施例还提供了一种电子设备,包括:

至少一个处理器;

至少一个存储器,用于存储至少一个程序;

当所述至少一个程序被所述至少一个处理器执行,使得所述至少一个处理器实现图1所述方法。

本实施例的一种电子设备,可执行本发明方法实施例所提供的一种基于嵌入式引导分区固件升级方法,可执行方法实施例的任意组合实施步骤,具备该方法相应的功能和有益效果。

本实施例还提供了一种存储介质,存储有可执行本发明方法实施例所提供的一种基于嵌入式引导分区固件升级方法的指令或程序,当运行该指令或程序时,可执行方法实施例的任意组合实施步骤,具备该方法相应的功能和有益效果。

本申请实施例还公开了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存介质中。计算机设备的处理器可以从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行图1所示的方法。

在一些可选择的实施例中,在方框图中提到的功能/操作可以不按照操作示图提到的顺序发生。例如,取决于所涉及的功能/操作,连续示出的两个方框实际上可以被大体上同时地执行或所述方框有时能以相反顺序被执行。此外,在本发明的流程图中所呈现和描述的实施例以示例的方式被提供,目的在于提供对技术更全面的理解。所公开的方法不限于本文所呈现的操作和逻辑流程。可选择的实施例是可预期的,其中各种操作的顺序被改变以及其中被描述为较大操作的一部分的子操作被独立地执行。

此外,虽然在功能性模块的背景下描述了本发明,但应当理解的是,除非另有相反说明,所述的功能和/或特征中的一个或多个可以被集成在单个物理装置和/或软件模块中,或者一个或多个功能和/或特征可以在单独的物理装置或软件模块中被实现。还可以理解的是,有关每个模块的实际实现的详细讨论对于理解本发明是不必要的。更确切地说,考虑到在本文中公开的装置中各种功能模块的属性、功能和内部关系的情况下,在工程师的常规技术内将会了解该模块的实际实现。因此,本领域技术人员运用普通技术就能够在无需过度试验的情况下实现在权利要求书中所阐明的本发明。还可以理解的是,所公开的特定概念仅仅是说明性的,并不意在限制本发明的范围,本发明的范围由所附权利要求书及其等同方案的全部范围来决定。

所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。

在流程图中表示或在此以其他方式描述的逻辑和/或步骤,例如,可以被认为是用于实现逻辑功能的可执行指令的定序列表,可以具体实现在任何计算机可读介质中,以供指令执行系统、装置或设备(如基于计算机的系统、包括处理器的系统或其他可以从指令执行系统、装置或设备取指令并执行指令的系统)使用,或结合这些指令执行系统、装置或设备而使用。就本说明书而言,“计算机可读介质”可以是任何可以包含、存储、通信、传播或传输程序以供指令执行系统、装置或设备或结合这些指令执行系统、装置或设备而使用的装置。

计算机可读介质的更具体的示例(非穷尽性列表)包括以下:具有一个或多个布线的电连接部(电子装置),便携式计算机盘盒(磁装置),随机存取存储器(RAM),只读存储器(ROM),可擦除可编辑只读存储器(EPROM或闪速存储器),光纤装置,以及便携式光盘只读存储器(CDROM)。另外,计算机可读介质甚至可以是可在其上打印所述程序的纸或其他合适的介质,因为可以例如通过对纸或其他介质进行光学扫描,接着进行编辑、解译或必要时以其他合适方式进行处理来以电子方式获得所述程序,然后将其存储在计算机存储器中。

应当理解,本发明的各部分可以用硬件、软件、固件或它们的组合来实现。在上述实施方式中,多个步骤或方法可以用存储在存储器中且由合适的指令执行系统执行的软件或固件来实现。例如,如果用硬件来实现,和在另一实施方式中一样,可用本领域公知的下列技术中的任一项或他们的组合来实现:具有用于对数据信号实现逻辑功能的逻辑门电路的离散逻辑电路,具有合适的组合逻辑门电路的专用集成电路,可编程门阵列(PGA),现场可编程门阵列(FPGA)等。

在本说明书的上述描述中,参考术语“一个实施方式/实施例”、“另一实施方式/实施例”或“某些实施方式/实施例”等的描述意指结合实施方式或示例描述的具体特征、结构、材料或者特点包含于本发明的至少一个实施方式或示例中。在本说明书中,对上述术语的示意性表述不一定指的是相同的实施方式或示例。而且,描述的具体特征、结构、材料或者特点可以在任何的一个或多个实施方式或示例中以合适的方式结合。

尽管已经示出和描述了本发明的实施方式,本领域的普通技术人员可以理解:在不脱离本发明的原理和宗旨的情况下可以对这些实施方式进行多种变化、修改、替换和变型,本发明的范围由权利要求及其等同物限定。

以上是对本发明的较佳实施进行了具体说明,但本发明并不限于上述实施例,熟悉本领域的技术人员在不违背本发明精神的前提下还可做作出种种的等同变形或替换,这些等同的变形或替换均包含在本申请权利要求所限定的范围内。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号