一种固件升级方法、装置、电子设备及存储介质与流程

文档序号:37723957发布日期:2024-04-23 12:02阅读:5来源:国知局
一种固件升级方法、装置、电子设备及存储介质与流程

本技术属于嵌入式系统领域,具体涉及一种固件升级方法、装置、电子设备及存储介质。


背景技术:

1、随着大量的消费类智能电子产品问世,智能设备服务供应商为了为用户提供售后升级服务,通常采用ota升级技术(over-the-air,简称ota升级技术)对售后产品进行版本更新迭代,但在用户基于ota升级技术对设备进行远程固件升级的过程中出现断电、网络传输数据等情况下,使得错误的数据存储在设备上,导致设备在重新上电后无法正常启动。智能设备服务供应商为了降低设备的维护保修成本,通常采用在设备中设立主分区和备份分区烧录相同的固件程序,在对主分区的固件程序升级失败的情况下,通过启用备份分区的固件程序对设备固件进行升级。

2、虽然现有技术能够解决设备升级失败导致设备无法启动的问题,然而利用现有技术对固件程序进行升级,主分区和备份分区中的固件程序所包含的功能较多,所占用的内存较大,对设备容量要求相对较高,导致设备的成本也相对较高。


技术实现思路

1、鉴于此,本技术的目的在于提供一种固件升级方法、装置、电子设备及存储介质,以改善利用现有技术对设备进行固件升级存在的问题。

2、本技术的实施例是这样实现的:

3、第一方面,本技术实施例提供了一种固件升级方法,其特征在于,所述方法包括:利用引导加载程序启动设备,并启动主存储介质中的功能应用程序对设备进行固件升级;所述引导加载程序用于启动所述设备主存储介质或备份存储介质中的所有功能;在固件升级发生错误的情况下,利用所述引导加载程序引导所述设备的备份存储介质中的最小系统启动;利用所述最小系统对所述设备进行固件升级。

4、本技术实施例中,由于主存储介质中的功能应用程序对固件进行升级通常是采用ota升级方式对固件进行升级,在升级过程中遇到断电、断网的情况,错误的数据存入设备的主存储介质,设备将无法自动启动,进而导致利用主存储介质中的功能应用程序对设备进行固件升级发生错误。设备的备份存储介质中的烧录有最小系统,在利用主存储介质中的功能应用程序对设备进行固件升级发生错误的情况下,导致固件中存入了错误的数据,设备无法自动启动,由于备份存储介质中的数据通常用于系统备份、恢复文件等重要数据的备份,利用最小系统对设备进行固件升级,并在进行固件升级的同时,将主存储介质中的功能应用程序对设备进行固件升级发生错误时写入的错误数据进行清理,能够在不占用过大内存的情况下对无法启动的固件进行固件升级,降低了设备成本以及后续维护成本。

5、结合第一方面实施例的一种可能的实施方式,所述最小系统支持usb固件升级,利用所述最小系统对所述设备进行固件升级,包括:判断所述设备是否与usb设备连接,其中,所述usb设备中包含用于对所述设备进行固件升级的固件包;在所述设备与所述usb设备连接的情况下,读取所述usb设备中的固件包对所述设备进行固件升级。

6、本技术实施例中,为了避免网络不稳定对设备固件升级带来影响,通过判断设备是否与usb设备连接,在设备与包括对设备进行固件升级的固件包的usb设备连接的情况下,通过读取usb设备中的固件包对设备进行固件升级,能够在不联网的情况下完成对设备的固件升级,避免网络波动对设备的固件升级带来影响,提升对设备进行固件升级过程的稳定性。

7、结合第一方面实施例的一种可能的实施方式,读取所述usb设备中的固件包对所述设备进行固件升级,包括:创建用于对所述设备进行固件升级的子进程;利用所述子进程读取所述固件包对所述设备进行固件升级;检验所述子进程对所述设备进行固件升级的第一升级进度是否满足第一预设阈值;在所述第一升级进度满足所述第一预设阈值的情况下,结束所述子进程,完成对所述设备的固件升级。

8、本技术实施例中,通过在创建一个单独的子进程对固件进行升级,能够异步实现对固件的升级,不影响usb固件升级的其余进程,并且通过检验子进程对设备进行升级的第一升级进度,在第一升级进度满足第一预设阈值的情况下,结束子进程,完成对设备的固件升级,提高了usb固件升级的对设备进行固件升级的效率和灵活度。

9、结合第一方面实施例的一种可能的实施方式,在读取所述usb设备中的固件包对所述设备进行固件升级之前,所述方法还包括:确定所述usb设备中不存在具有所述设备的唯一标识的标识文件;其中,若所述usb设备中存在所述标识文件,表征所述设备已完成固件升级。

10、本技术实施例中,为了提升利用usb固件升级对设备进行固件升级的稳定性,通过确定usb设备中不存在具有设备的唯一标识的标识文件,即确认设备还处于未利用usb固件升级对固件进行升级的情况下,再利用usb固件升级对固件进行升级,能够避免重复对设备进行固件升级,提升设备的固件升级功能的稳定性。

11、结合第一方面实施例的一种可能的实施方式,在读取所述usb设备中的升级包对所述设备进行固件升级之后,所述方法还包括:将具有所述设备唯一标识的标识文件存入所述usb设备中。

12、本技术实施例中,为了防止重复利用usb固件升级对设备进行固件升级,在利用usb固件升级对设备进行固件升级之后,将具有设备唯一标识的标识文件存入usb设备中,以备usb固件升级能够通过读取标识文件来确保固件包只被应用到符合要求的目标设备上,防止不符合要求的设备进行固件升级,提升了利用usb固件对设备固件的升级的精确性。

13、结合第一方面实施例的一种可能的实施方式,所述最小系统还支持ota固件升级,所述方法还包括:在所述设备未与所述usb设备连接,和/或所述第一升级进度不满足所述第一预设阈值的情况下,利用所述ota固件升级对所述设备进行固件升级。

14、本技术实施例中,在设备未与usb设备连接的情况下,表征无法利用usb固件升级对设备进行固件升级,在第一升级进度不满足第一预设阈值的情况下,表征利用usb固件升级对设备进行固件升级失败,因此,在usb设备无法对设备进行固件升级或对设备进行固件失败的情形下,利用ota固件升级对设备进行固件升级,能够无需通过物理连接就能完成升级,在提升了对固件升级的便利性的同时,还提升了设备固件升级功能的灵活度。

15、结合第一方面实施例的一种可能的实施方式,利用所述ota固件升级对所述设备进行固件升级,包括:控制所述设备与云端服务器建立通信连接,并从所述云端服务器下载用于对所述设备进行固件升级的固件包;利用所述固件包对所述设备进行固件升级,并监测对所述设备进行固件升级的第二升级进度是否满足第二预设阈值;在所述第二升级进度满足第二预设阈值的情况下,结束所述ota固件升级的进程,完成对所述设备的固件升级。

16、本技术实施例中,设备与云端服务器建立通信连接并从云端服务器中下载用于对设备进行固件升级的固件包,利用固件包对设备进行固件升级,能够实现在无需物理接入设备的情况下对设备进行远程固件升级,并且设定第二预设阈值来检测第二升级进度,能够确保升级过程在达到预设程度结束,有助于防止升级在过早或不完全的情况下结束,提升了升级的精确性。

17、第二方面,本技术实施例还提供了一种固件升级装置,所述装置包括:第一固件升级单元,被配置为利用引导加载程序启动设备,并启动主存储介质中的功能应用程序对设备进行固件升级;所述引导加载程序用于启动所述设备主存储介质或备份存储介质中的所有功能;启动单元,被配置在固件升级发生错误的情况下,利用所述引导加载程序引导所述设备的备份存储介质中的最小系统启动;第二固件升级单元,被配置为利用所述最小系统对所述设备进行固件升级。

18、第三方面,本技术实施例还提供了一种电子设备,所述电子设备包括处理器和存储器,所述处理器与存储器耦合,所述处理器用于执行所述存储器中存储的计算机程序时实现上述第一方面实施例和/或结合第一方面实施例的任一种可能的实施方式提供的方法。

19、第四方面,本技术实施例提供一种可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现如上述第一方面实施例和/或结合第一方面实施例的任一种可能的实施方式提供的方法。

20、应当理解的是,本发明实施例的第二~四方面与本发明实施例的第一方面的技术方案一致,各方面及对应的可行实施方式所取得的有益效果相似,不再赘述。

21、本技术的其他特征和优点将在随后的说明书阐述。本技术的目的和其他优点可通过在所写的说明书以及附图中所特别指出的结构来实现和获得。

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