[发明专利]一种智能终端远程升级断点传输方法在审
申请号: | 201710981149.6 | 申请日: | 2017-10-20 |
公开(公告)号: | CN107800786A | 公开(公告)日: | 2018-03-13 |
发明(设计)人: | 包依勤 | 申请(专利权)人: | 南京晓庄学院 |
主分类号: | H04L29/08 | 分类号: | H04L29/08;H04L29/06;G06F8/65 |
代理公司: | 南京苏创专利代理事务所(普通合伙)32273 | 代理人: | 何薇 |
地址: | 211171 江苏省南京市江宁*** | 国省代码: | 江苏;32 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 智能 终端 远程 升级 断点 传输 方法 | ||
技术领域
本发明涉及智能终端远程升级技术领域,具体为一种智能终端远程升级断点传输方法。
背景技术
智能终端的嵌入式软件需要升级,传统的解决方法是生产厂家技术人员到现场人工重新烧写程序,或者通过串口ISP在线编程更新程序,也有通过切换到自己的升级平台进行远程升级的,但升级效率低,可靠性不高,有时异常情况还需到现场维护,特别对大量的地域分散的设备进行升级时,工作量非常大,系统很难管理。钍对这一情况,需要有一种远程升级断点传输方法,来提高远程升级的效率和安全性。
发明内容
本发明的目的在于提供一种智能终端远程升级断点传输方法,已解决背景技术中提出的问题。
为实现上述目的,本发明提供如下技术方案:一种智能终端远程升级断点传输方法,具体包括如下步骤:
S1、启动程序和主程序:
烧写到电压监测仪的程序,合并了二个程序:boot.hex和main.hex;boot.hex是启动程序,编译时开始地址从0x0开始,主要功能是:上电时看启动标志位(4个字节),如全是0xAA,则进入主程序main.hex,如如全是0x55,则将通过GPRS传来的新的main.hex程序覆盖从前的main.hex;
main.hex是主程序,是待升级的程序,编译时开始地址从0x2000开始(假如不需要升级功能,开始地址从是0x0开始,不需要boot.hex),主要实现电压监测仪的功能,
合并二个HEX文件boot.hex和main.hex成一个文件dy-main.hex,合并如下:
boot头
boot体 地址从0开始
main体 地址从0x2000开始
main尾
dy-main.hex是具有IAP功能的电压监测仪程序,要事先烧写到LPC2136中,远程升级其实是将main.hex通过主站传过来进行升级;
S2、文件数据打包:
1)主站按照2.3读取main.hex,读取到总行数RowNum,计算总报文数TotalNum,16行打成一包。计算总报文数的C程序如下:
//总报文数=总行数-减去头尾二行
RowNum=RowNum-2;
//计算总报文数
if(RowNum%16==0)
TotalNum=(RowNum/16);
else
TotalNum=(RowNum/16)+1;
2)将每行数据ASC码字符转换成转成十六进制码,一包16行,按表格5的格式,文件数据存放16行数据,共16*16=256字节,最后一行可能不足256字节;
3)按2.2文件通讯规约发送数据报文;
4)最后一帧数据包后加上2个字节,是整个文件数据校验和CS;
5)终端接收所有报文,计算所有报文数据的校验和CS1,如果CS1等于CS1,则文件传输正确;
S3、文件的断点续传:
传输一个文件共有n个报文,报文从S1-Sn,报文传送标志从F1-Fn,初始标志Fi=0(i=1,n);升级平台从S1开始通过GPRS启动下发报文,下发报文Si,如接收到正确响应报文,则启动下发下一个报文,并置标志Fi=1;如接收到错误响应报文或接收超时(10秒),则重新传相同的报文,重传最多三次后如还不能收到正确响应报文,则继续下传下一个报文,并置标志Fi=0;直至下发最后一个报文Sn,如接收正确响应报文后,升级平台检查所有报文标志Fi(i=1,n)是否为1,如Fi为0则Si是断点;重复上述过程,进行断点续传,直至所有报文标志为1;最后比对一下校验和,如正确则更新升级程序;
S4、文件的安全传输:
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于南京晓庄学院,未经南京晓庄学院许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201710981149.6/2.html,转载请声明来源钻瓜专利网。