[发明专利]一种程序升级方法和设备在审
申请号: | 202010706675.3 | 申请日: | 2020-07-21 |
公开(公告)号: | CN111897562A | 公开(公告)日: | 2020-11-06 |
发明(设计)人: | 尹礼鹏;夏继康;许旭乾;邢波;刘阳 | 申请(专利权)人: | 阿理新能源科技(昆山)有限公司 |
主分类号: | G06F8/654 | 分类号: | G06F8/654 |
代理公司: | 深圳叁众知识产权代理事务所(普通合伙) 44434 | 代理人: | 张娜 |
地址: | 215300 江苏省苏州*** | 国省代码: | 江苏;32 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 程序 升级 方法 设备 | ||
本发明提供一种程序升级方法,方法包括:将FLASH程序存储器划分为第一区以及第二区,第一区为应用程序区,用于运行应用程序,第二区用于对应用程序进行升级并在第一区损坏时运行备用应用程序;第二区获取升级数据并根据升级数据对第一区的应用程序进行升级;启动升级后的应用程序,若应用程序无法正常运行,跳转到第二区,启动第二区运行备用应用程序,本发明提供的程序升级方法,能够在第一区损坏或者第一区内的应用程序升级失败后仍能保证应用程序正常运行,不耽误用户使用。
技术领域
本发明涉及程序升级领域,更为具体而言,涉及一种程序升级方法和设备。
背景技术
随着社会的飞速发展,人们对电子产品功能的多样性和稳定性有了更高的要求。为了满足人们的需求,厂商一般都提供在线升级的服务。在线升级服务最大的作用就是当用户产品软件有漏洞或者产品自身的功能需要更新时,用户能够根据厂商提供的升级包在线升级(如手机、电脑等)。
传统的升级方案是将一个程序分为两块:一块是BOOT区专门用来跳转APP区和修改APP区。另一块为APP区即用户正常使用的功能区。此方案的缺点是:当APP区损坏时,在不重新烧录的情况下程序不能够正常使用从而影响用户的使用体验。
现有技术中为了解决该问题将程序分为三块,分别是BOOT区、APP1区、APP2区,但是这种方法会使得代码在设计的过程中boot区空间预留一小部分以防boot区后面扩展。此方法一定程度上浪费了flash空间。这个在性能较弱的单片机上是至关重要的。
发明内容
针对上述问题,本发明提供一种程序升级方法,在不浪费FLASH空间的情况下,有效的防止当APP区损坏或升级失败时,影响用户正常使用的问题。
本发明提供的程序升级方法,包括将FLASH程序存储器划分为第一区以及第二区,第一区为应用程序区,用于运行应用程序,第二区用于对应用程序进行升级并在第一区损坏时运行备用应用程序;第二区获取升级数据并根据升级数据对第一区的应用程序进行升级;启动升级后的应用程序,若应用程序无法正常运行,跳转到第二区,启动第二区运行备用应用程序。
进一步的,第二区获取升级数据之后还包括:对升级数据进行数据校验,判断升级数据是否完整,若完整,根据升级数据对第一区的程序进行升级,否则,重新获取升级数据。
进一步的,方法还包括:将原始升级数据根据预设的加密算法进行加密生成加密升级数据,将加密升级数据传输至第二区;第二区接收加密升级数据之后,根据预设的解密策略对加密升级数据进行解密获得原始升级数据;根据原始升级数据对第一区的应用程序进行升级。
进一步的,预设的加密算法为校验和加密算法以及TEA加密算法。
进一步的,在启动升级后的应用程序之前,方法还包括:对应用程序的全部数据进行校验;若校验通过,启动应用程序,若校验不通过,跳转到第二区,启动备用应用程序。
进一步的,若应用程序的全部数据校验通过并且应用程序成功启动,第二区根据升级数据对备用应用程序进行升级。
进一步的,方法还包括:第二区获取升级数据并将升级数据与历史升级数据进行比较,判断升级数据是否为最新升级数据,若升级数据是最新升级数据,根据升级数据对应用程序进行升级,否则,重新获取升级数据。
本发明还提供一种计算机设备,包括存储器和处理器,其中存储器,存储有计算机代码;处理器,配置为执行计算机代码以使计算机设备执行上述方法。
本发明提供的程序升级方法,至少具有以下有益效果:
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于阿理新能源科技(昆山)有限公司,未经阿理新能源科技(昆山)有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202010706675.3/2.html,转载请声明来源钻瓜专利网。