[发明专利]OTA升级方法在审
申请号: | 201810200493.1 | 申请日: | 2018-03-12 |
公开(公告)号: | CN108446130A | 公开(公告)日: | 2018-08-24 |
发明(设计)人: | 韩标;邱文庆;朱勇 | 申请(专利权)人: | 北京百瑞互联技术有限公司 |
主分类号: | G06F8/65 | 分类号: | G06F8/65;H04L29/08;H04W4/80 |
代理公司: | 北京惟诚致远知识产权代理事务所(普通合伙) 11536 | 代理人: | 吕品 |
地址: | 100085 北京市海淀区上地信息路2号(北京实*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 存储空间 数据替换 发送 多个数据包 缓冲区 介质空间 升级功能 数据比较 数据擦除 可擦写 数据包 升级 写入 占用 指令 传输 返回 分割 | ||
1.一种OTA升级方法,其特征在于,包括:
Host端发送启动OTA指令到Slave端,Slave端设置可擦写的存储空间以及缓冲区并向Host端返回ACK;
Host端收到Slave端返回的ACK后,启动OTA固件传输,Host端将OTA固件分割为多个数据包并向Slave端逐一发送,Slave端每接收一数据包或一组数据包,即将所述数据包写入所述存储空间并将存储空间内的数据与原固件的相对应数据比较,如果存储空间内的数据与原固件的相对应数据不同,则利用存储空间内的数据替换原固件的相对应数据,如果存储空间内的数据与原固件的相对应数据相同或存储空间内的数据替换原固件的相对应数据完毕,则将所述存储空间内的数据擦除,之后继续接受后续数据包,并重复上述储存、比较、擦写步骤,直至OTA固件的多个数据包全部传输完毕;
当OTA固件的多个数据包全部传输完毕,Host端发送结束指令到Slave端;
Slave端与Host端断开连接。
2.如权利要求1所述的OTA升级方法,其特征在于,Host端发送结束指令到Slave端之后,Slave端与Host端断开连接之前还包括:
Slave端检查接收到的数据包与OTA固件一致,则设置OTA固件的标志,同时Host端发送成功的确认帧到Slave端,如果接收到的数据包与OTA固件不一致,Host端发送失败的确认帧到Slave端,以使Slave端重新启动OTA升级。
3.如权利要求2所述的OTA升级方法,其特征在于,所述Host端发送启动OTA指令到Slave端,Slave端设置可擦写的存储空间以及缓冲区并向Host端返回ACK还包括:Slave端检查OTA固件大小,确保不超过Slave端的可用空间,同时清除原有固件的有效标志位,以使升级异常后系统自检时重新进入OTA固件。
4.如权利要求3所述的OTA升级方法,其特征在于,将所述数据包写入所述存储空间时,利用所述缓冲区缓冲要写入所述存储空间的数据,包括:将所述数据包写入缓冲区,当缓冲区内的数据量与所述存储空间的容量相匹配时,将缓冲区内的数据写入所述存储空间。
5.如权利要求1所述的OTA升级方法,其特征在于,Host端发送启动OTA指令到Slave端之前,还包括:
启动Slave端;
初始化Slave端硬件环境;
检查Boot引脚是否置高,检查软启动OTA标志是否置位,检查固件是否无效;
关闭除串口外的全部中断;
重置堆栈指针,加载内存管理;
加载精简OTA蓝牙协议栈并初始化;
等待Host端连接和升级。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京百瑞互联技术有限公司,未经北京百瑞互联技术有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201810200493.1/1.html,转载请声明来源钻瓜专利网。