装置远程在线程序更新方法

文档序号:8258075阅读:142来源:国知局
装置远程在线程序更新方法
【技术领域】
[0001]本发明属于程序更新技术领域,尤其是涉及一种装置远程在线程序更新方法。
【背景技术】
[0002]在物联网飞速发展的今天,移动终端设备、仪器仪表等得到广泛的应用。这种终端装置由于分布的区域比较广,数量多,使得远程程序更新功能成为其必不可少的重要功能之一。现有的远程程序更新方式一般是采用ARM嵌入式,其本身存在在线编程功能,但其成本高,设计电路复杂。而对于一些成本低的简单的单片机没有在线编程功能。

【发明内容】

[0003]本发明要解决的问题是提供一种装置远程在线程序更新方法。
[0004]为解决上述技术问题,本发明采用的技术方案是:
[0005]一种装置远程在线程序更新方法,其特征在于包含:
[0006]所述装置的CPU的内部FLASH分两块,分别为存储BooLoader自编程代码的BooLoader存储区和存储APP应用程序代码的APP存储区;
[0007]先通过与CPU连接的GPRS模块将要替换的APP应用程序代码,保存到与CPU连接的外部FLASH内;
[0008]程序全部下载完成后,校验文件CRC校验无误后,将指向BooLoader存储区的自编程代码指针PC_Boot跳转到BooLoader存储区,使其内的BootLoader自编程代码运行启动CPU的FLASH自编程功能,读取外部FLASH内的代码,替换到APP存储区;
[0009]替换结束后,再切换到指向APP存储区的应用程序指针PC_APP运行新的APP应用程序代码;FLASH自编程结束,实现代码的远程在线更新。
[0010]优选的,所述GPRS模块将要替换的APP应用程序代码保存到与外部FLASH内的过程中代码分块下载:
[0011]先发送第N块信息,后下载第N块代码,查验第N块代码是否下载完:
[0012]若否则重新下载第N块代码;若是则查验第N块信息的是否正确:
[0013]若否则重新下载第N块代码,若是则查验整个文件是否下载完:
[0014]若否则继续发送第N+1块信息,若是则查询这个文件信息是否正确:
[0015]若否则重新下载,若是则启动FLASH自编程。
[0016]本发明具有的优点和积极效果是:
[0017]本发明方法实现了没有在线编程功能的单片机的远程程序更新,在控制端,执行远程命令运行更新远程装置的程序,且程序更新支持断点续传、文件校验,可靠性好。
【附图说明】
[0018]图1是本发明装置的结构原理图;
[0019]图2是本发明文件下载流程图。
【具体实施方式】
[0020]下面结合附图对本发明的具体实施例做详细说明。
[0021]一种装置远程在线程序更新方法,包含:
[0022]所述装置的CPU的内部FLASH分两块,如图1所示,分别为存储BooLoader自编程代码的BooLoader存储区和存储APP应用程序代码的APP存储区;
[0023]先通过与CPU连接的GPRS模块将要替换的APP应用程序代码,保存到与CPU连接的外部FLASH内;
[0024]程序全部下载完成后,校验文件CRC校验无误后,将指向BooLoader存储区的自编程代码指针PC_Boot跳转到BooLoader存储区,使其内的BootLoader自编程代码运行启动CPU的FLASH自编程功能,读取外部FLASH内的代码,替换到APP存储区;
[0025]替换结束后,再切换到指向APP存储区的应用程序指针PC_APP运行新的APP应用程序代码;FLASH自编程结束,实现代码的远程在线更新。
[0026]本发明所述GPRS模块将要替换的APP应用程序代码保存到与外部FLASH内的过程中代码分块下载,如图2所示:
[0027]先发送第N块信息,后下载第N块代码,查验第N块代码是否下载完:
[0028]若否则重新下载第N块代码;若是则查验第N块信息的是否正确:
[0029]若否则重新下载第N块代码,若是则查验整个文件是否下载完:
[0030]若否则继续发送第N+1块信息,若是则查询这个文件信息是否正确:
[0031]若否则重新下载,若是则启动FLASH自编程。
[0032]本发明方法实现了没有在线编程功能的单片机的远程程序更新,在控制端,执行远程命令运行更新远程装置的程序,且程序更新支持断点续传、文件校验,可靠性好。
[0033]以上对本发明的一个实施例进行了详细说明,但所述内容仅为本发明的较佳实施例,不能被认为用于限定本发明的实施范围。凡依本发明申请范围所作的均等变化与改进等,均应仍归属于本发明的专利涵盖范围之内。
【主权项】
1.一种装置远程在线程序更新方法,其特征在于包含: 所述装置的CPU的内部FLASH分两块,分别为存储BooLoader自编程代码的BooLoader存储区和存储APP应用程序代码的APP存储区; 先通过与CPU连接的GPRS模块将要替换的APP应用程序代码,保存到与CPU连接的外部FLASH内; 程序全部下载完成后,校验文件CRC校验无误后,将指向BooLoader存储区的自编程代码指针PC_Boot跳转到BooLoader存储区,使其内的BootLoader自编程代码运行启动CPU的FLASH自编程功能,读取外部FLASH内的代码,替换到APP存储区; 替换结束后,再切换到指向APP存储区的应用程序指针PC_APP运行新的APP应用程序代码;FLASH自编程结束,实现代码的远程在线更新。
2.根据权利要求1所述的装置远程在线程序更新方法,其特征在于:GPRS模块将要替换的APP应用程序代码保存到与外部FLASH内的过程中代码分块下载: 先发送第N块信息,后下载第N块代码,查验第N块代码是否下载完: 若否则重新下载第N块代码;若是则查验第N块信息的是否正确: 若否则重新下载第N块代码,若是则查验整个文件是否下载完: 若否则继续发送第N+1块信息,若是则查询这个文件信息是否正确: 若否则重新下载,若是则启动FLASH自编程。
【专利摘要】本发明提供一种装置远程在线程序更新方法,包含:所述装置的CPU的内部FLASH分两块,分别为存储BooLoader自编程代码的BooLoader存储区和存储APP应用程序代码的APP存储区;先通过与CPU连接的GPRS模块将要替换的APP应用程序代码,保存到与CPU连接的外部FLASH内;全部下载完成后,将指向BooLoader存储区的自编程代码指针PC_Boot跳转到BooLoader存储区,使其内的BootLoader自编程代码运行启动CPU的FLASH自编程功能,读取外部FLASH内的代码,替换到APP存储区;替换结束后,再切换到应用程序指针PC_APP运行新的APP应用程序代码。本发明的优点是:实现了没有在线编程功能的单片机的远程程序更新,在控制端,执行远程命令运行更新远程装置的程序,且程序更新支持断点续传、文件校验,可靠性好。
【IPC分类】G06F9-445
【公开号】CN104572195
【申请号】CN201410853646
【发明人】靳建伟
【申请人】天津市飞跃兄弟测控技术有限公司
【公开日】2015年4月29日
【申请日】2014年12月31日
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1