首页 专利交易 科技果 科技人才 科技服务 国际服务 商标交易 会员权益 IP管家助手 需求市场 关于龙图腾
 /  免费注册
到顶部 到底部
清空 搜索

一种交互式的IAP升级方法 

买专利卖专利找龙图腾,真高效! 查专利查商标用IPTOP,全免费!专利年费监控用IP管家,真方便!

申请/专利权人:河南城拜检测技术有限公司

摘要:本发明提供一种交互式的IAP升级方法。该方法应用于上位机和待升级设备之间,包括:升级包传输阶段、升级包校验阶段和升级模式处理阶段;其中:所述升级包传输阶段,包括:上位机将所述升级包发送至待升级设备;待升级设备接收升级包;所述升级包校验阶段,包括:待升级设备接收到升级包后,对升级包进行校验,并向上位机反馈校验结果;待升级设备根据通过校验的升级包进入升级模式处理阶段;所述升级模式处理阶段,包括:跳转到APP、进行升级和恢复到原备份固件。本发明可以保证系统升级过程中的文件拷贝的正常进行,即便升级过程失败,也能恢复至原固件;此外,即使在硬件异常的情况下,也可尽量保证BootLoader稳定。

主权项:1.一种交互式的IAP升级方法,其特征在于,应用于上位机和待升级设备之间,所述方法由升级包传输阶段、升级包校验阶段、升级模式处理阶段和BootLoader交互阶段组成;其中:所述升级包传输阶段,包括:上位机将所述升级包发送至待升级设备;待升级设备接收升级包;在升级包传输阶段中,所述升级包采用的传输协议帧的结构包括:数据头字段、数据长度字段、帧序号字段、用户数据区字段和CRC校验字段;其中:数据头字段:占用2字节,包括定界符及选项字,所述选项字包括收发选项、反馈需求选项、网络设备选项、单播广播选项、预留位和用户数据区类型项;数据长度字段:占用2字节,用于表示用户数据区的长度;帧序号字段:用于表示当前所传输的帧的序号;所述用户数据区类型项从最低位到最高位依次为:起始帧、数据帧、设备编号分配帧、包完整请求帧、包完整反馈帧、异常上报帧、ACK确认帧和预留位;所述起始帧承载有上位机ID、完整性检测方式信息、加密数据密钥、升级包分帧后的分帧个数、一个数据帧的长度和当前时间信息;其中,上位机ID通过随机算法进行配置,每次打开软件所产生的上位机ID各不相同;所述设备编号分配帧承载有上位机ID和对应的待升级设备的设备编号;所述包完整请求帧和所述包完整反馈帧用于上位机和待升级设备之间进行升级包是否完整的交互;所述包完整请求帧用于承载上位机要查询的待升级设备的设备编号;所述包完整反馈帧用于承载待升级设备的设备编号和丢失帧记录;所述异常上报帧用于承载待升级设备监测到的本地异常信息;在升级包传输阶段中,具体包括:步骤C1:上位机将升级包分为多个数据帧,然后依次将多个数据帧发送至待升级设备;步骤C2:待升级设备判断接收到的第一个数据帧是否为起始帧:若否,则结束升级;若是,则继续下一步;步骤C3:待升级设备判断起始帧是否符合要求:若否,则延时等待上位机发送的下一个起始帧,若等待超时,则退出升级模式,进入正常模式;若是,则继续下一步;步骤C4:待升级设备保存起始帧内承载信息,并进入升级模式,继续下一步;步骤C5:待升级设备清理预先设定的存储设备的存储区域;步骤C6:待升级设备继续接收上位机发送的数据帧并进行帧处理,帧处理过程包括:帧序号比对、帧校验和帧存储检测,并记录异常的帧序号;所述帧序号比对是指将当前接收到的数据帧的帧序号与上次接收到的数据帧的帧序号进行比对,确定是否漏帧,将漏掉的数据帧所对应的帧序号作为异常的帧序号;所述帧校验是指对当前接收到的数据帧进行CRC校验,将未通过校验的数据帧所对应的帧序号作为异常的帧序号;所述帧存储检测是指将当前接收到的数据帧中的数据写入设定的存储设备,然后读取写入的数据,判断读写结果是否一致,将读写结果不一致的数据帧所对应的帧序号作为异常的帧序号;步骤C7:待升级设备判断当前接收到的数据帧是否为最后一帧:若否,则继续等待接收下一个数据帧,若等待超时,则进行预警报告,向上位机发送异常上报帧,并退出升级模式,进入正常模式;若是,则继续下一步;步骤C8:待升级设备根据步骤C6的记录结果,判断是否存在异常的帧序号:若是,则执行步骤C9;若否,则执行步骤C10;步骤C9:待升级设备向上位机发送包完整反馈帧,上位机在收到完整反馈帧并解析后,重新向待升级设备发送异常的帧序号所对应的数据帧,并在发送完所有对应的数据帧后,发送一个结束帧;步骤C10:待升级设备进行升级包校验流程:若校验通过,则升级过程完成;若校验异常,则构造异常上报帧并上报至上位机;所述升级包校验阶段,包括:待升级设备接收到升级包后,对升级包进行校验,并向上位机反馈校验结果;待升级设备根据通过校验的升级包进入升级模式处理阶段;所述升级模式处理阶段,包括:跳转到APP、进行升级和恢复到原备份固件,具体为:步骤A1:检测升级字的数值,升级字的数值为0、1或2;步骤A2:若升级字为0,直接跳转到APP;步骤A3:若升级字为1,进行CRC32文件校验,具体为:步骤A3.1:若校验失败,则将升级字设置为0,直接跳转到APP;步骤A3.2:若校验成功,则备份原固件到存储设备,继续执行步骤A3.3;步骤A3.3:拷贝升级包到内部flash,并对拷贝后的内部flash文件进行完整性判断:若不完整,则重复执行本步骤,直至执行设定的次数后,若仍不完整,则设置升级标志为2,恢复到原备份固件;若完整,或者在执行设定的次数范围内,经判断完整,则设置升级字为0,跳转到APP;步骤A4:若升级字为2,则备份原固件到内部flash,并对拷贝后的内部flash文件进行完整性判断:若完整,则正常跳转;若不完整,则重复执行本步骤;在升级包传输阶段中,在上位机将所述升级包发送至待升级设备之前还包括:在上位机上生成升级包,包括:步骤B1:生成原始固件;步骤B2:在所述原始固件中添加固件头信息,所述固件头信息包括:OTP版本信息、设备名称、硬件版本、硬件发布时间、软件版本、软件发布时间、加密方式和加密用参数、升级包长度、升级包升级有效时间以及UUID认证设备起始地址;步骤B3:在上位机上打包生成升级包,包括:设置相关完整性校验方式并选择加密的相关参数信息;输入OTP版本信息、硬件版本、硬件发布时间、软件版本和软件发布时间;使能UUID判断;以及使能加密数据密钥;所述升级包校验阶段包括:步骤D1:判断文件完整性:根据偏移地址、长度、完整性校验方式进行计算并判断,得到结果与文件头的参数进行比较;步骤D2:判断OTP版本信息:当前的OTP版本信息指示值应不小于原有OTP版本信息指示值;步骤D3:判断硬件版本信息:硬件版本信息与上次必须一致;步骤D4:判断软件版本信息:软件版本信息不小于原有软件版本信息;步骤D5:判断设备编号是否一致;步骤D6:判断升级时间:通过当前固件软件版本信息与起始帧信息中的当前时间进行对比,如果相差超过规定时间,则约定固件信息无效,不进行升级;步骤D7:判断UUID是否一致;步骤D8:若文件完整性、OTP版本信息、硬件版本信息、软件版本信息、设备编号、升级时间和UUID均符合要求,则保存参数,然后重启,保存的参数包括:OTP版本信息、硬件版本信息、软件版本信息、设备编号和升级字;还包括:BootLoader交互阶段,包括:步骤E1:采用应用层指令对待升级设备的应用层进行问题排查;步骤E2:通过驱动层进行对待升级设备的相关系统寄存器及自定义寄存器进行修改,和或,改变跳转地址信息,排查并修复待升级设备的硬件问题、数据包问题和跳转中断向量异常问题;步骤E3:通过设置类操作改变OTP结构体的数据进行异常调试与处理;步骤E4:通过断点调试,确定运行停止位置,以及各个停止位置的状态信息。

全文数据:

权利要求:

百度查询: 河南城拜检测技术有限公司 一种交互式的IAP升级方法

免责声明
1、本报告根据公开、合法渠道获得相关数据和信息,力求客观、公正,但并不保证数据的最终完整性和准确性。
2、报告中的分析和结论仅反映本公司于发布本报告当日的职业理解,仅供参考使用,不能作为本公司承担任何法律责任的依据或者凭证。