[发明专利]一种电子设备的应用程序固件升级方法、装置及系统在审
申请号: | 202111192972.1 | 申请日: | 2021-10-13 |
公开(公告)号: | CN114138295A | 公开(公告)日: | 2022-03-04 |
发明(设计)人: | 张明华;汪帅 | 申请(专利权)人: | 深圳市鸿合创新信息技术有限责任公司 |
主分类号: | G06F8/65 | 分类号: | G06F8/65;G06F9/4401 |
代理公司: | 深圳市君之泉知识产权代理有限公司 44366 | 代理人: | 郑瑜 |
地址: | 518000 广东省深圳市坪山区坑梓街*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 电子设备 应用程序 升级 方法 装置 系统 | ||
本发明提供一种电子设备的应用程序固件升级方法,运行引导程序,判断应用程序固件是否有效,引导程序中包括内存起始地址、内存结束地址、预设设备匹配值和预设升级完成标志值;判断应用程序固件是否有效包括,判断应用程序固件的堆栈地址是否在内存起始地址和内存结束地址范围内、判断应用程序固件中设备匹配值与预设设备匹配值是否相同,以及判断应用程序固件中升级完成标志值与预设升级完成标志值是否相同;如果是,则应用程序固件有效;否则,应用程序固件无效;若应用程序固件无效,接收第一升级指令,执行应用程序固件升级;当升级完成后,设置应用程序固件中的升级完成标志值为预设升级完成标志值。
技术领域
本发明涉及计算机技术领域,具体涉及一种电子设备的应用程序固件升级方法、装置及系统。
背景技术
当设备要增加新的功能或解决现有产品的功能缺陷时,需要进行设备固件升级,固件升级的过程必须稳定可靠,否则会导致设备功能异常,甚至要拆机返工,损失巨大。
设备固件升级的方式一般如下:设备程序存储区域包含boot和App两个不同区域,上电的时候程序运行在boot区域,如果检测到APP有效,则跳转到APP运行,若未检测到有效APP,则等待升级命令升级APP固件,当在运行APP时,如果接收到固件升级命令,则清除APP有效标志,复位重新进入boot,开始固件升级。
现有技术主要存在以下技术问题:
1.APP是否有效的标志检测机制不一致,有些方法即使升级了错误的APP,也会运行APP,导致设备异常,且无法再次升级;
2.若在烧录过程中异常断电,无法运行程序,也无法升级程序,最终导致设备异常或损坏。
发明内容
基于上述现状,本发明的主要目的在于提供一种保证整个设备升级过程无法出错的电子设备的应用程序固件升级方法及装置。
为实现上述目的,本发明采用的技术方案如下:
一种电子设备的应用程序固件升级方法,所述电子设备的程序存储区域中包括引导程序区域和应用程序区域,所述引导程序区域中存储有引导程序,所述应用程序区域中存储有应用程序固件,所述方法包括:
运行所述引导程序,判断所述应用程序固件是否有效;
其中,所述引导程序中包括内存起始地址、内存结束地址、预设设备匹配值和预设升级完成标志值;判断所述应用程序固件是否有效包括:判断所述应用程序固件的堆栈地址是否在所述内存起始地址和所述内存结束地址范围内、判断所述应用程序固件中设备匹配值与所述预设设备匹配值是否相同、以及判断所述应用程序固件中升级完成标志值与所述预设升级完成标志值是否相同,如果均为是,则认为所述应用程序固件有效,否则,认为所述应用程序固件无效;
若所述应用程序固件无效,接收第一升级指令,执行应用程序固件升级;
当升级完成后,设置所述应用程序固件中的升级完成标志值为所述预设升级完成标志值。
优选地,所述堆栈地址包括:所述应用程序固件区域中起始N个字节数据组成的数值。
优选地,所述设备匹配值包括:所述应用程序固件中预设固定位置开始连续预设长度的程序数据,所述预设长度为所述预设设备匹配值的长度。
优选地,所述设备匹配值还包括所述电子设备的型号信息。
优选地,所述升级完成标志值包括:所述应用程序固件中末尾固定字节的程序数值。
优选地,若所述应用程序固件有效,则运行所述应用程序固件;
当所述应用程序固件运行过程中接收到第二升级指令时,则将所述应用程序固件中升级完成标志值设为非预设升级完成标志值;
重新运行所述引导程序,确定所述应用程序固件无效;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于深圳市鸿合创新信息技术有限责任公司,未经深圳市鸿合创新信息技术有限责任公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202111192972.1/2.html,转载请声明来源钻瓜专利网。