应用程序自更新和备份恢复的方法

文档序号:8258086阅读:334来源:国知局
应用程序自更新和备份恢复的方法
【技术领域】
[0001]本发明涉及计算机通讯技术领域,尤其涉及一种应用程序自更新和备份恢复的方法。
【背景技术】
[0002]引导加载程序是嵌入式系统在加电后执行的第一段代码,在它完成CPU和相关硬件的初始化之后,再将操作系统映像或固化的嵌入式应用程序装载到内存中然后跳转到操作系统所在的空间,启动操作系统运行。目前很多嵌入式产品均需要实现引导加载程序。这样应用程序自更新以及备份恢复实现困难,并且几个使用同一系列平台的产品均需重复实现引导加载程序。

【发明内容】

[0003]本发明要解决的技术问题,在于提供一种应用程序自更新和备份恢复的方法,其解决几个使用同一系列平台的产品均需重复实现引导加载程序的问题。
[0004]本发明是这样实现的:一种应用程序自更新和备份恢复的方法,所述方法包括如下步骤:
步骤1、将嵌入式系统的flash存储器分为Bootloader程序区、Boot参数区、应用程序参数区、主程序区、下载程序区以及备份程序区;所述Bootloader程序区:用于存放引导加载程序;所述Boot参数区:存放引导加载程序使用的参数;所述应用程序参数区:存放应用程序使用的参数;所述主程序区:运行的应用程序存放区;所述下载程序区:应用程序进行自更新时下载的应用程序临时存放区;所述备份程序区:自更新时备份旧程序存放区;步骤2、根据产品使用到的1配置对应的引脚及flash存储器各分区大小分配好,通过JTAG接口或CPU内嵌的自举程序将引导加载程序烧写至BootLoader程序区;
步骤3、嵌入式系统上电后选择通过串口直接烧写应用程序或引导已下载完成的应用程序正常运行,以及配合应用程序使用IAP实现应用程序自更新;
步骤4、当通过串口直接烧写应用程序时,使用YModem协议传输应用程序文件,传输完成后计算CRC校验值并储存相关文件信息和应用程序到主程序区;
步骤5、运行时检查是否有等待执行的应用程序自更新,若无,则检查主程序区的应用程序文件信息有效性并跳转至应用程序运行;若有,则进入步骤6 ;
步骤6、当有等待执行的应用程序自更新时,判断备份程序区的分区大小是否非零以及当前主程序区的应用程序是否有效,是则备份旧程序至备份程序区,然后拷贝下载程序区内程序至主程序区,执行试运行测试,若测试通过则更新完成,失败则根据备份与否选择是否还原旧程序至主程序区。
[0005]进一步地,引导加载程序需要执行参数时,从所述Boot参数区中获得引导加载程序使用的参数;应用程序需要执行参数时,从所述应用程序参数区中获得应用程序使用的参数。
[0006]进一步地,当应用程序自更新因外部因素中断时,下次进入引导加载程序可通过读取Boot参数区的参数判断自更新进度,继续完成自更新功能。
[0007]进一步地,当应用程序自更新异常时,可以自动判断是否有备份,若有备份则自动恢复为原应用程序;若无备份,提示异常信息。
[0008]进一步地,能同时支持本地串口更新应用程序及在用应程序运行时将更新文件下载至下载区并重启进入引导程序,引导程序将下载的文件进行验证测试并拷贝到主程序区来实现应用程序自更新功能。
[0009]本发明具有如下优点:本发明可同时支持本地串口更新应用程序及在用应程序运行时将更新文件下载至下载区并重启进入引导程序,引导程序将下载的文件进行验证测试并拷贝到主程序区来实现应用程序自更新功能,并可以根据FLASH存储器的备份分区大小智能判断是否需要进行备份;
当应用程序自更新因外部因素中断时,下次进入引导加载程序可通过读取Boot参数区的参数判断自更新进度,继续完成自更新功能;
因为在同一平台上芯片初始化及1操作方式一样,将1及FLASH各分区大小配置文件独立出来并由宏开关控制在不同产品之间切换,解决在同一平台上的不同产品只需要维护一份引导加载程序实现代码,缩短开发周期减少后期维护成本。
【附图说明】
[0010]图1为本发明方法流程示意图。
[0011]图2为本发明Bootloader程序区的执行流程示意图。
【具体实施方式】
[0012]请参阅图1和图2所示,本发明的一种应用程序自更新和备份恢复的方法,所述方法包括如下步骤:
步骤1、将嵌入式系统的flash存储器分为Bootloader程序区、Boot参数区、应用程序参数区、主程序区、下载程序区以及备份程序区;所述Bootloader程序区:用于存放引导加载程序;所述Boot参数区:存放引导加载程序使用的参数;所述应用程序参数区:存放应用程序使用的参数;所述主程序区:运行的应用程序存放区;所述下载程序区:应用程序进行自更新时下载的应用程序临时存放区;所述备份程序区:自更新时备份旧程序存放区;步骤2、根据产品使用到的10配置对应的引脚及flash存储器各分区大小分配好,通过JTAG接口或CPU内嵌的自举程序将引导加载程序烧写至闪存存储器的启动空间(即BootLoader 程序区)
步骤3、嵌入式系统上电后选择通过串口直接烧写应用程序或引导已下载完成的应用程序正常运行,以及配合应用程序使用IAP实现应用程序自更新;
步骤4、当通过串口直接烧写应用程序时,使用YModem协议传输应用程序文件,传输完成后计算CRC校验值并储存相关文件信息和应用程序到主程序区;
步骤5、运行时检查是否有等待执行的应用程序自更新,若无,则检查主程序区的应用程序文件信息有效性并跳转至应用程序运行;若有,则进入步骤6 ;
步骤6、当有等待执行的应用程序自更新时,判断备份程序区的分区大小是否非零以及当前主程序区的应用程序是否有效,是则备份旧程序至备份程序区,然后拷贝下载程序区内程序至主程序区,执行试运行测试,若测试通过则更新完成,失败则根据备份与否选择是否还原旧程序至主程序区。
[0013]其中,引导加载程序需要执行参数时,从所述Boot参数区中获得引导加载程序使用的参数;应用程序需要执行参数时,从所述应用程序参数区中获得应用程序使用的参数。
[0014]当应用程序自更新因外部因素中断时,下次进入引导加载程序可通过读取Boot参数区的参数判断自更新进度,继续完成自更新功能。
[0015]当应用程序自更新异常时,可以自动判断是否有备份,若有备份则自动恢复为原应用程序;若无备份,提示异常信息。
[0016]另外,本发明能同时支持本地串口更新应用程序及在用应程序运行时将更新文件下载至下载区并重启进入引导程序,引导程序将下载的文件进行验证测试并拷贝到主程序区来实现应用程序自更新功能。
[0017]总之,本发明在同一平台上芯片初始化及1操作方式一样,将1及FLASH各分区大小配置文件独立出来并由宏开关控制在不同产品之间切换,解决在同一平台上的不同产品只需要维护一份引导加载程序实现代码,缩短开发周期减少后期维护成本。
[0018]以上所述仅为本发明的较佳实施例,凡依本发明申请专利范围所做的均等变化与修饰,皆应属本发明的涵盖范围。
【主权项】
1.一种应用程序自更新和备份恢复的方法,其特征在于:所述方法包括如下步骤: 步骤1、将嵌入式系统的flash存储器分为Bootloader程序区、Boot参数区、应用程序参数区、主程序区、下载程序区以及备份程序区;所述Bootloader程序区:用于存放引导加载程序;所述Boot参数区:存放引导加载程序使用的参数;所述应用程序参数区:存放应用程序使用的参数;所述主程序区:运行的应用程序存放区;所述下载程序区:应用程序进行自更新时下载的应用程序临时存放区;所述备份程序区:自更新时备份旧程序存放区;步骤2、根据产品使用到的1配置对应的引脚及flash存储器各分区大小分配好,通过JTAG接口或CPU内嵌的自举程序将引导加载程序烧写至BootLoader程序区; 步骤3、嵌入式系统上电后选择通过串口直接烧写应用程序或引导已下载完成的应用程序正常运行,以及配合应用程序使用IAP实现应用程序自更新; 步骤4、当通过串口直接烧写应用程序时,使用YModem协议传输应用程序文件,传输完成后计算CRC校验值并储存相关文件信息和应用程序到主程序区; 步骤5、运行时检查是否有等待执行的应用程序自更新,若无,则检查主程序区的应用程序文件信息有效性并跳转至应用程序运行;若有,则进入步骤6 ; 步骤6、当有等待执行的应用程序自更新时,判断备份程序区的分区大小是否非零以及当前主程序区的应用程序是否有效,是则备份旧程序至备份程序区,然后拷贝下载程序区内程序至主程序区,执行试运行测试,若测试通过则更新完成,失败则根据备份与否选择是否还原旧程序至主程序区。
2.根据权利要求1所述的应用程序自更新和备份恢复的方法,其特征在于:引导加载程序需要执行参数时,从所述Boot参数区中获得引导加载程序使用的参数;应用程序需要执行参数时,从所述应用程序参数区中获得应用程序使用的参数。
3.根据权利要求1所述的应用程序自更新和备份恢复的方法,其特征在于:当应用程序自更新因外部因素中断时,下次进入引导加载程序可通过读取Boot参数区的参数判断自更新进度,继续完成自更新功能。
4.根据权利要求1所述的应用程序自更新和备份恢复的方法,其特征在于:当应用程序自更新异常时,可以自动判断是否有备份,若有备份则自动恢复为原应用程序;若无备份,提不异常?目息。
5.根据权利要求1所述的应用程序自更新和备份恢复的方法,其特征在于:能同时支持本地串口更新应用程序及在用应程序运行时将更新文件下载至下载区并重启进入引导程序,引导程序将下载的文件进行验证测试并拷贝到主程序区来实现应用程序自更新功會K。
【专利摘要】本发明提供一种应用程序自更新和备份恢复的方法,将嵌入式系统的flash存储器分为Bootloader程序区、Boot参数区、应用程序参数区、主程序区、下载程序区以及备份程序区;能同时支持本地串口更新应用程序及在用应程序运行时将更新文件下载至下载区并重启进入引导程序,引导程序将下载的文件进行验证测试并拷贝到主程序区来实现应用程序自更新功能。本发明提供一个应用程序自更新以及备份恢复的解决方案,并且解决几个使用同一系列平台的产品均需重复实现引导加载程序的问题。
【IPC分类】G06F11-14, G06F9-445
【公开号】CN104572206
【申请号】CN201510018007
【发明人】戴诗旭
【申请人】厦门为那通信科技有限公司
【公开日】2015年4月29日
【申请日】2015年1月14日
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1