[发明专利]一种在应用可编程IAP固件升级方法、装置和设备在审
申请号: | 202011008031.3 | 申请日: | 2020-09-23 |
公开(公告)号: | CN112527342A | 公开(公告)日: | 2021-03-19 |
发明(设计)人: | 唐玲斌;缪昭侠 | 申请(专利权)人: | 深圳市银星智能科技股份有限公司 |
主分类号: | G06F8/65 | 分类号: | G06F8/65;G06F21/34;G06F8/61;G06F8/71 |
代理公司: | 深圳市六加知识产权代理有限公司 44372 | 代理人: | 孟丽平 |
地址: | 518000 广东省深圳市龙*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 应用 可编程 iap 升级 方法 装置 设备 | ||
本发明实施例涉及一种在应用可编程IAP固件升级方法、装置和设备,所述方法包括:在所述启动装载程序中启动看门狗程序,循环执行喂狗操作,并接收IAP固件升级的数据包文件;对所述数据包文件进行校验;在所述数据包文件校验通过时,设置标志位;运行所述数据包文件;若所述数据包文件运行过程中,所述喂狗操作中断且确定所述标志位没有被清除时,确定所述数据包文件异常,重新启动升级程序;若所述数据包文件运行过程中,所述喂狗操作未中断,则确定所述数据包文件正常,清除所述标志位,并完成对所述IAP固件的升级。本发明实施例即使上层发错了文件不会导致程序崩溃,也可以重新升级,且无论升级成功或失败都可以重新升级。
技术领域
本发明实施例涉及人工智能技术领域,特别涉及一种在应用可编程IAP固件升级方法、装置和设备。
背景技术
IAP(In Application Programming,在应用可编程),是用户自己的程序在运行过程中对User Flash的部分区域进行烧写,目的是为了在产品发布后可以方便地通过预留的通信口对产品中的固件程序进行更新升级。
在IAP固件中,固件为Firmware,IAP在应用编程,此时Flash空间可分为三种,BootLoader、IAP、Firmware。IAP就是用来与外界通信,将新的固件Firmware覆盖旧的固件Firmware,这部分应用代码需要自己完成。因此,IAP固件用于后期产品固件的优化,升级。
当前的IAP固件升级都是通过上层发送数据包给升级设备的主控芯片,但是在升级完成后无法区分升级的文件是否是真正需要升级的文件。从而导致升级失败,升级设备的主控芯片死机,这时候无法重新升级。
发明内容
本发明实施例的目的是提供一种在应用可编程IAP固件升级方法、装置和设备,无论升级成功或失败都可以重新升级。
第一方面,本发明实施例提供了一种在应用可编程IAP固件升级方法,应用于在应用可编程IAP固件升级设备,所述IAP固件装载有启动装载程序;所述方法包括:
在所述启动装载程序中启动看门狗程序,循环执行喂狗操作,并接收IAP固件升级的数据包文件;
对所述数据包文件进行校验;
在所述数据包文件校验通过时,设置标志位;
运行所述数据包文件;
若所述数据包文件运行过程中,所述喂狗操作中断且确定所述标志位没有被清除时,确定所述数据包文件异常,重新启动升级程序;
若所述数据包文件运行过程中,所述喂狗操作未中断,则确定所述数据包文件正常,清除所述标志位,并完成对所述IAP固件的升级。
在一些实施例中,在对所述数据包文件进行校验之前,所述方法还包括:
从上层接收第一校验结果,所述第一校验结果是所述上层对所述数据包文件校验得到的;
所述对所述数据包文件进行校验,包括:
将所述数据包文件写入第一存储区域中,且对所述第一存储区域中的所述数据包文件进行校验,得到第二校验结果;
比较所述第一校验结果和第二校验结果;
在所述第一校验结果与第二校验结果相同时,确定所述数据包文件校验通过;
在所述第一校验结果与第二校验结果不同时,确定所述数据包文件校验失败。
在一些实施例中,所述在确定所述第一校验结果与第二校验结果不同时,确定所述数据包文件校验失败之后,所述方法还包括:
将升级程序回退到所述IAP固件升级前的版本
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于深圳市银星智能科技股份有限公司,未经深圳市银星智能科技股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202011008031.3/2.html,转载请声明来源钻瓜专利网。
- 上一篇:车载单元天线控制系统及其控制方法
- 下一篇:一种纱架上的延伸臂