[发明专利]一种MCU固件OTA升级方法在审
申请号: | 201910256788.5 | 申请日: | 2019-04-01 |
公开(公告)号: | CN111769962A | 公开(公告)日: | 2020-10-13 |
发明(设计)人: | 康元;刘卓;马宇;刘兵 | 申请(专利权)人: | 成都启英泰伦科技有限公司 |
主分类号: | H04L12/24 | 分类号: | H04L12/24;H04L29/08;H04L1/00 |
代理公司: | 暂无信息 | 代理人: | 暂无信息 |
地址: | 610041 四川省成都市高新区*** | 国省代码: | 四川;51 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 mcu ota 升级 方法 | ||
1.一种MCU固件OTA升级方法,其特征在于,包括如下步骤:
S1.将软件打包成固件; 对所有固件划分升级紧迫性等级;
各个固件均由多个固件块组成;在固件块中设定一个配置信息存储固件块,将所有固件块的自身信息存储在该配置信息存储固件中;
在服务器和待升级的设备中按照相同方式对固件进行打包分块;
S2.按照紧迫性等级从高到底对固件进行升级;对设备进行检测,判断设备当前状态是否适合升级,不适合则等待至适合状态;
对固件中某一固件块的升级过程具体为:
S3.设备读取自身及服务器配置信息存储固件中的固件自身信息,并进行比对,比对符合要求则进行升级;
S4.升级完成后,将服务器的配置信息存储固件中相关信息更新到设备中;
重复步骤S3-S4,直至所有固件块升级完毕。
2.如权利要求1所述的MCU固件OTA升级方法,其特征在于,所述固件自身信息包括固件块性质、版本号、分块大小、起始地址和校验结果值;
所述步骤S3中的比对中,按照如下方式:
读取固件的版本号,判断设备与服务器中对应固件的版本号信息是否相同;相同则退出升级,不同则继续判断包括分块大小、起始地址和校验结果值在内的其他信息,全部一致则退出升级,任意信息不一致则进行升级。
3.如权利要求1所述的MCU固件OTA升级方法,其特征在于,所述服务器的配置信息存储固件中存储有根据CRC32算法得到的校验和,所述步骤S4中,还包括校验步骤,对完成升级的固件块计算其校验和,将其与服务器预存的值比较一致则校验合格,否则表示升级不成功;
升级不成功则重复步骤S4再次升级,直至升级成功。
4.如权利要求1所述的MCU固件OTA升级方法,其特征在于,服务器与设备之间的数据交换通过无线网络进行。
5.如权利要求1所述的MCU固件OTA升级方法,其特征在于,所述步骤S4中对升级包采用HTTP断点续传方式下载升级。
6.如权利要求1所述的MCU固件OTA升级方法,其特征在于,所述步骤S3中设备固件升级具体为:
服务器发送升级信号,读取固件的存储起始地址和固件大小,随后设备开始擦除以起始地址为起点且大小相符的存储区域,随后将通过HTTP方式下载得到的数据写入擦除后的地址,写入完成后,设备向服务器发送升级结束信号。
7.如权利要求1所述的MCU固件OTA升级方法,其特征在于,所述设备中包括存储固件内容相同的用户代码存放区固件和用户代码备份区固件,所述步骤S4中,首先升级用户代码存放区固件,如果该固件升级不成功, 则在终端重新上电时将用户代码备份区的固件重新加载在用户代码存放区,如果升级成功,则继续升级用户代码备份区固件。
8.如权利要求1所述的MCU固件OTA升级方法,其特征在于,所述步骤S2中,服务器对于各个固件按照紧迫性等级的升级排序方式具体为:
S21服务器接收到的更新固件中包含该固件的紧迫性等级信息及该固件对应的全部可升级设备UID信息;
S22服务器将紧迫性等级最高的固件按照其UID信息更新到服务器数据库中,并生成URL链接;
S23设备上传自身UID信息,服务器根据UID信息,从数据库中调取URL链接并下发到设备;设备根据URL链接开始进行数据下载和升级;
S24设备升级完成后上报服务器,该紧迫性等级下的全部可升级设备UID信息对应的所有设备升级完成后,服务器中已升级完成的固件被清除,重复步骤S22-S23。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于成都启英泰伦科技有限公司,未经成都启英泰伦科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201910256788.5/1.html,转载请声明来源钻瓜专利网。