[发明专利]一种基于串口通信静默升级单片机固件的方法在审
申请号: | 201711146000.2 | 申请日: | 2017-11-17 |
公开(公告)号: | CN107832072A | 公开(公告)日: | 2018-03-23 |
发明(设计)人: | 张恩贵;吕健荣 | 申请(专利权)人: | 南京悦控智能科技有限公司 |
主分类号: | G06F8/65 | 分类号: | G06F8/65;G06F13/42 |
代理公司: | 南京先科专利代理事务所(普通合伙)32285 | 代理人: | 裴素艳 |
地址: | 210012 江苏省南京*** | 国省代码: | 江苏;32 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 基于 串口 通信 静默 升级 单片机 方法 | ||
技术领域
本发明涉及一种升级单片机固件的方法,更具体的涉及一种基于串口通信静默升级单片机固件的方法。
背景技术
当今社会,智能设备普及,物联网火爆全球。为了得到高收益、低成本,选择一款合适的控制芯片是重中之重。因此微型单片机使用越来越广,但是由于单片机Flash等硬件限制,造成很难对单片机固件更新。目前,对单片机固件的升级通常基于IAP(In Application Programming)技术,从结构上将单片机的Flash存储器映射为两个存储体,两个存储体内分别编写两个项目代码,通过运行第一个存储体上的特定程序来对另一存储体进行编程操作,编程完成后跳转到新用户程序开始运行,如果IAP程序被破坏,产品必须返厂才能重新烧写程序,这是很麻烦并且非常耗费时间和金钱的,而且,在单片机固件升级过程中,采用串口通信,串口间是采用bit传输的,数据帧长度为10bit,传输的数据就只能是小数据,因为升级数据包较大,传输困难,很多频率低、容量小的单片机无法适应这种升级方式。
发明内容
发明目的: 本发明目的在于针对现有技术的不足,提供一种基于串口通信静默升级单片机固件的方法,可以有效解决低成本、容量小的单片机静默升级问题。
技术方案: 本发明所述一种基于串口通信静默升级单片机固件的方法,具体为:上位机从服务器下载最新版本固件并传输至对应单片机进行静默升级,所述上位机与所述单片机之间采用串口通信,
串口通信中的数据编码组成为:AT Command, head, index, length, data, check, end;其中,AT Command是用来识别数据指令,head是数据编码的固定头标志,index是数据包的序号,length当前数据包的数据长度,data是数据包有效数据,check是数据包校验,end是数据编码的结束标志。
本发明技术方案的进一步限定为,所述上位机与所述单片机之间采用的串口通信为全双工模式,波特率为115200,无校验位,无停止位。
进一步地,所述上位机与所述单片机之间的数据通信方式为:
S1、所述上位机发送大数据包总长度的数据编码,即AT Command为数据长度指令,所述单片机收到数据长度指令数据编码后,回复收到ACK指令;
S2、所述上位机对大数据进行分片,从第一个分片包index=0开始分片发送;
S3、所述单片机收到分片数据包,确认无误后保存数据,并回复预期index分片包的index ACK指令,所述预期index为当前index+1;
S4、所述上位机收到预期index ACK指令后,根据预期index发送下一个分片包;
S5、重复执行步骤S3和S4,直至所有的分片包全部发送完成。
进一步地,所述上位机与所述单片机之间的数据通信还包括数据重传机制,具体为:步骤S3中,所述单片机收到分片数据包后,校验此分片包时发现误码,回复的预期index分片包的index ACK指令时,所述预期index为当前index。
进一步地,所述单片机的FLASH分为ImageA和ImageB两个区域,所述ImageA区域用来存放串口驱动和用来搬运数据的逻辑固件,占整个FLASH存储容量的1~2%; ImageB区域用来存放单片机固件以及用户数据,占整个FLASH存储容量的98%~99%。
进一步地,所述单片机接收到最新版本固件后进行升级的方法为:执行ImageA区域中的用来搬运数据的逻辑固件,将最新版本的固件通过串口通信传输至ImageB区域将ImageB区域中的单片机版本进行升级。
有益效果: 本发明提出一种基于串口通信静默升级单片机固件的方法,建立在串口协议上层,在串口间进行数据传输时,对数据包采用特殊的数据编码,数据编码具有易扩展性,根据需要命令可以随意扩展;数据传输具有可靠性,编码中含有数据长度、校验位,确保数据的正确;同时支持大数据传输,编码中含有序号等,可以通过这种编码规则传输大数据。本发明可以有效解决低成本、容量小的单片机升级问题,本申请升级方案,安全、可靠,不需要人为参与,占用单片机容量小,降低成本、且大大提升了Flash的使用空间,避免浪费。
附图说明
图1为本发明提供的一种基于串口通信静默升级单片机固件的方法的流程图;
图2为本发明提供的一种基于串口通信静默升级单片机固件的方法中单片机的FLASH的区域划分示意图;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于南京悦控智能科技有限公司,未经南京悦控智能科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201711146000.2/2.html,转载请声明来源钻瓜专利网。