一种智能终端远程升级断点传输方法技术

技术编号:17472820 阅读:93 留言:0更新日期:2018-03-15 08:56
本发明专利技术公开了一种智能终端远程升级断点传输方法,首先发送1‑4个字节的FEH,以通知指定地址码的装置(称为“从站”)准备接收数据,然后向其发送含有不同控制码的数据帧,并等待从站的应答。规约指定的数据帧格式,其中68H为起始字符,A为地址域,C表明消息的来源以及前后消息的关系,并控制消息的功能;L说明了数据域以双字节为单位的长度,设定2个L进行比较,增强可靠性,而CS则是从帧起始符到校验码之前所有字节模256的和,保证传输数据的正确性;本发明专利技术给出了一种智能终端远程升级断点传输方法,保证了远程升级操作可靠,提高了升级效率和安全性;而且安全性很好,达到远程升级可靠的目的;实用性强,易于推广使用。

A method of remote upgrade breakpoint transmission for intelligent terminal

【技术实现步骤摘要】
一种智能终端远程升级断点传输方法
本专利技术涉及智能终端远程升级
,具体为一种智能终端远程升级断点传输方法。
技术介绍
智能终端的嵌入式软件需要升级,传统的解决方法是生产厂家技术人员到现场人工重新烧写程序,或者通过串口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);elseTotalNum=(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、文件的安全传输:远程升级文件是个高风险的操作,升级过程必须严格控制,还必须注意升级效率,实际应用中需要对大量终端分布式同时升级,更不容许出现死机等问题;在系统中,文件升级的安全性主要采取下列技术手段:1)每个电压监测仪对应一个区位码+终端地址码,在系统中是唯一的,前置机根椐地址码通过多线程技术实现同步升级;2)前置机连接终端时,首先通过规约功能码AFN=06H进行身份认证;3)传输报文时,每个报文有校验码,保证报文的正确性;4)报文传输结束后,对整个文件进行校验比对,保证升级文件的完整性;5)文件校验正确后,将标志置4个0x55,重启终端,boot程序如发现标志为4个0x55,则替换新程序,替换新程序完成后并将标志置为4个0xAA,保证升级操作正确完成;6)最后,主站通过读取版本号进行最后确认;通过上述的升级。有益效果与现有技术相比,本专利技术的有益效果是:该本文针基于ARM电压监测仪远程升级功能进行了测试并与传统的电压监测仪的升级功能进行了比较,测试结果如表6如示:表6升级测试结果比较从测试结果可以看出,新型电压监测仪DV_IAP升级50台终端只用了28分钟,而传统的电压监测仪IAP升级40台终端却用了200分钟,DV_IAP升级效率大幅度提高,更重要的是:成功率从95%到提高达到100%,而且安全性很好,达到远程升级可靠的目的;实用性强,易于推广使用。附图说明图1为本专利技术的文件传输和断点续传流程图;具体实施方式下面将结合本专利技术实施例中的附图,对本专利技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本专利技术一部分实施例,而不是全部的实施例。基于本专利技术中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本专利技术保护的范围。请参阅图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程序如下://总报文数=总行数-减去头尾二行RowNum=RowNum-2;//计算总报文数if(RowNum%16==0)TotalNum=(RowNum/16);elseTotalNum=(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,报文传送标本文档来自技高网...
一种智能终端远程升级断点传输方法

【技术保护点】
一种智能终端远程升级断点传输方法,其特征在于,具体包括如下步骤: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程序如下:...

【技术特征摘要】
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,则文...

【专利技术属性】
技术研发人员:包依勤
申请(专利权)人:南京晓庄学院
类型:发明
国别省市:江苏,32

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1