[发明专利]一种智能终端远程升级断点传输方法在审
申请号: | 201710981149.6 | 申请日: | 2017-10-20 |
公开(公告)号: | CN107800786A | 公开(公告)日: | 2018-03-13 |
发明(设计)人: | 包依勤 | 申请(专利权)人: | 南京晓庄学院 |
主分类号: | H04L29/08 | 分类号: | H04L29/08;H04L29/06;G06F8/65 |
代理公司: | 南京苏创专利代理事务所(普通合伙)32273 | 代理人: | 何薇 |
地址: | 211171 江苏省南京市江宁*** | 国省代码: | 江苏;32 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 智能 终端 远程 升级 断点 传输 方法 | ||
1.一种智能终端远程升级断点传输方法,其特征在于,具体包括如下步骤:
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程序如下:
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、文件的安全传输:
远程升级文件是个高风险的操作,升级过程必须严格控制,还必须注意升级效率,实际应用中需要对大量终端分布式同时升级,更不容许出现死机等问题;在系统中,文件升级的安全性主要采取下列技术手段:1)每个电压监测仪对应一个区位码+终端地址码,在系统中是唯一的,前置机根椐地址码通过多线程技术实现同步升级;2)前置机连接终端时,首先通过规约功能码AFN=06H进行身份认证;3)传输报文时,每个报文有校验码,保证报文的正确性;4)报文传输结束后,对整个文件进行校验比对,保证升级文件的完整性;5)文件校验正确后,将标志置4个0x55,重启终端,boot程序如发现标志为4个0x55,则替换新程序,替换新程序完成后并将标志置为4个0xAA,保证升级操作正确完成;6)最后,主站通过读取版本号进行最后确认;通过上述的升级技术和流程操作,确保了文件远程升级的安全性。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于南京晓庄学院,未经南京晓庄学院许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201710981149.6/1.html,转载请声明来源钻瓜专利网。