一种基于嵌入式程序双区备份映像系统及启动方法技术方案

技术编号:20865681 阅读:32 留言:0更新日期:2019-04-17 09:12
本发明专利技术提供了一种基于嵌入式程序双区备份映像系统及启动方法,基于嵌入式程序双区备份映像系统的CPU和FLASH之间通过Local Bus总线互连,CPU通过内部集成的DDR控制器完成CPU与DDR之间的数据交互;在嵌入式设备上电启动中,CPU端读取存放在FLASH上的映像并将映像加载到DDR中;映像加载完成后,CPU从DDR中读取映像数据并执行映像,完成嵌入式设备相关功能。本发明专利技术通过映像更新状态和映像启动状态判断双区映像的有效性,从而保证上电后能够加载运行正确的映像,从而有效地解决了嵌入式设备升级失败或升级映像错误而导致设备无法启动的问题。

【技术实现步骤摘要】
一种基于嵌入式程序双区备份映像系统及启动方法
本专利技术涉及电子
,尤其是一种双区备份映像系统及其启动方法。
技术介绍
随着电子技术的不断发展,目前嵌入式设备软件更新速度加快,因而需要不断对嵌入式设备进行软件更新。现有嵌入式设备采用单一映像的形式,设备加载运行的映像只在存储介质上保存一份,设备上电后先从存储介质上加载映像,进而执行映像,完成设备的启动运行。如果因为异常操作导致映像被损坏,譬如产品映像更新过程中异常掉电等,都会导致设备再次运行后无法正确加载并运行系统映像,设备启动失败,无法正常工作使用,从而使得设备升级风险较大,设备的可靠性及可维护性较差。现有的映像启动方法存在如下问题:嵌入式设备上电加载运行的映像在存储介质上只保存了一份;嵌入式设备升级过程中,设备掉电情况时有发生,掉电可能导致设备更新失败,进而导致设备无法启动运行;嵌入式设备升级过程中,可能由于操作不当导致升级了错误的映像,使得设备无法正常启动运行;存储介质上只保存一份映像,如果映像数据被破坏,将导致设备无法正常启动运行。
技术实现思路
为了克服现有技术的不足,本专利技术提供一种基于嵌入式程序双区备份映像系统及其启动方法,实现嵌入式设备双区启动技术,提升嵌入式设备的可维护性。双区备份映像指的是映像存储介质划分为A区和B区,两个区域中都保存相同的映像数据。本专利技术解决其技术问题所采用的技术方案是:一种基于嵌入式程序双区备份映像系统,包括执行映像程序的中央处理器CPU,存放双区备份映像、映像更新标志及启动状态标志的FLASH,存放运行时映像的DDR;FLASH存储区域地址空间从低到高依次划分为A区映像启动标志、A区映像更新标志、A区映像、B区映像更新标志和B区映像;其中A区映像启动标志分为启动正常和启动失败;A区映像更新标志分为初始状态、正在更新状态和更新完成状态;A区映像存放设备启动时要加载运行的映像;B区映像更新标志分为初始状态和正在更新状态;B区映像存放A区映像的备份版本;CPU和FLASH之间通过LocalBus总线互连,CPU通过内部集成的DDR控制器完成CPU与DDR之间的数据交互;在嵌入式设备上电启动中,CPU端读取存放在FLASH上的映像并将映像加载到DDR中;映像加载完成后,CPU从DDR中读取映像数据并执行映像,完成嵌入式设备相关功能。本专利技术还提供涉及基于嵌入式程序双区备份映像系统的启动方法,本专利技术公开的双区备份映像启动方法,对嵌入式设备的映像更新状态和映像启动运行状态进行了明确规定,详细步骤如下:步骤1:当映像启动时,进入步骤2;当映像需要更新时,进入步骤3;步骤2、在映像启动过程中,根据A区映像更新标志和A区映像启动状态,智能选取要加载运行的映像,从而保证能够正常启动,映像启动过程为:1)是否为启动失败状态,如果是,跳转到步骤7),否则跳转到步骤2);2)更新标志是否为初始化状态,如果是,跳转到步骤8),否则跳转到步骤3);3)更新标志是否为更新完成状态,如果是,转到步骤4),否则转到步骤7);4)映像启动标志为启动失败状态;5)从A区加载映像并启动运行A区映像;6)判断A区映像是否启动成功,如果启动成功,跳转到步骤9),否则跳转到步骤7);7)从B区加载映像并启动运行B区映像,跳转到步骤14);8)从A区加载映像并启动运行A区映像,跳转到步骤14);9)设置A区映像启动标志为启动正常状态,设置A区映像更新标志为初始化状态;10)设置B区映像状态为正在更新状态;11)将A区的映像更新到FLASH映像存储区域B区,覆盖B区原有映像;12)通过CRC校验方式,校验B区更新后的映像数据正确性,如果校验错误,跳转到步骤11),否则跳转到步骤13);13)设置B区映像更新标志为初始化状态;14)映像启动结束;步骤3:在映像更新状态下,首先确保B区映像能够正常加载启动,对于新的映像,仅更新A区映像,从而确保即使A区映像更新失败的情况下,系统也能从B区映像上正常加载运行。映像更新流程为:1)判断B区映像更新标志是否为初始化状态,如果是,跳转到步骤5),否则跳转到步骤2);2)将A区映像更新到FLASH映像存储区域B区,覆盖B区原有映像;3)通过CRC校验方式,校验B区更新后的映像数据正确性,如果校验错误,跳转到步骤2);4)设置B区映像更新标志为初始化状态;5)设置A区映像更新标志为正在更新状态;6)将新版本映像更新到FLASH映像存储区域A区,覆盖A区原有映像;7)通过CRC校验方式,校验A区更新后的映像数据正确,如果校验错误,跳转到步骤2);8)设置A区映像更新标志为更新完成状态;9)设置A区映像启动状态为启动正常状态。本专利技术的有益效果在于由于采用了双区备份映像启动技术,将嵌入式设备要加载运行的映像在FLASH存储空间上采用冗余备份存储的方式,将映像存储在FLASH的A区和B区,通过映像更新状态和映像启动状态判断双区映像的有效性,从而保证上电后能够加载运行正确的映像,从而有效地解决了嵌入式设备升级失败或升级映像错误而导致设备无法启动的问题。附图说明图1为本专利技术双区映像启交联关系图。图2为本专利技术新映像更新过程流程图。图3为本专利技术映像启动流程图。具体实施方式下面结合附图和实施例对本专利技术进一步说明。一种基于嵌入式程序双区备份映像系统,包括执行映像程序的中央处理器CPU,存放双区备份映像、映像更新标志及启动状态标志的FLASH,存放运行时映像的DDR;FLASH存储区域地址空间从低到高依次划分为A区映像启动标志、A区映像更新标志、A区映像、B区映像更新标志和B区映像;其中A区映像启动标志分为启动正常(0)和启动失败(1);A区映像更新标志分为初始状态(0)、正在更新状态(1)和更新完成状态(2);A区映像存放设备启动时要加载运行的映像;B区映像更新标志分为初始状态(0)和正在更新状态(1);B区映像存放A区映像的备份版本。CPU和FLASH之间通过LocalBus总线互连,CPU通过内部集成的DDR控制器完成CPU与DDR之间的数据交互;在嵌入式设备上电启动中,CPU端读取存放在FLASH上的映像并将映像加载到DDR中;映像加载完成后,CPU从DDR中读取映像数据并执行映像,完成嵌入式设备相关功能。一种基于嵌入式程序双区备份映像系统的启动方法,本专利技术公开的双区备份映像启动方法,对嵌入式设备的映像更新状态和映像启动运行状态进行了明确规定,详细步骤如下:步骤1:当映像启动时,进入步骤2;当映像需要更新时,进入步骤3;步骤2、在映像启动过程中,根据A区映像更新标志和A区映像启动状态,智能选取要加载运行的映像,从而保证能够正常启动,映像启动过程为:1)是否为启动失败状态,如果是,跳转到步骤7),否则跳转到步骤2);2)更新标志是否为初始化状态,如果是,跳转到步骤8),否则跳转到步骤3);3)更新标志是否为更新完成状态,如果是,转到步骤4),否则转到步骤7);4)映像启动标志为启动失败状态;5)从A区加载映像并启动运行A区映像;6)判断A区映像是否启动成功,如果启动成功,跳转到步骤9),否则跳转到步骤7);7)从B区加载映像并启动运行B区映像,跳转到步骤14);8)从A区加载映像并启动运行A区映像,跳转到步骤14);9)设置A区映像启动本文档来自技高网...

【技术保护点】
1.一种基于嵌入式程序双区备份映像系统,其特征在于:所述基于嵌入式程序双区备份映像系统,包括执行映像程序的中央处理器CPU,存放双区备份映像、映像更新标志及启动状态标志的FLASH,存放运行时映像的DDR;FLASH存储区域地址空间从低到高依次划分为A区映像启动标志、A区映像更新标志、A区映像、B区映像更新标志和B区映像;其中A区映像启动标志分为启动正常和启动失败;A区映像更新标志分为初始状态、正在更新状态和更新完成状态;A区映像存放设备启动时要加载运行的映像;B区映像更新标志分为初始状态和正在更新状态;B区映像存放A区映像的备份版本;CPU和FLASH之间通过Local Bus总线互连,CPU通过内部集成的DDR控制器完成CPU与DDR之间的数据交互;在嵌入式设备上电启动中,CPU端读取存放在FLASH上的映像并将映像加载到DDR中;映像加载完成后,CPU从DDR中读取映像数据并执行映像,完成嵌入式设备相关功能。

【技术特征摘要】
1.一种基于嵌入式程序双区备份映像系统,其特征在于:所述基于嵌入式程序双区备份映像系统,包括执行映像程序的中央处理器CPU,存放双区备份映像、映像更新标志及启动状态标志的FLASH,存放运行时映像的DDR;FLASH存储区域地址空间从低到高依次划分为A区映像启动标志、A区映像更新标志、A区映像、B区映像更新标志和B区映像;其中A区映像启动标志分为启动正常和启动失败;A区映像更新标志分为初始状态、正在更新状态和更新完成状态;A区映像存放设备启动时要加载运行的映像;B区映像更新标志分为初始状态和正在更新状态;B区映像存放A区映像的备份版本;CPU和FLASH之间通过LocalBus总线互连,CPU通过内部集成的DDR控制器完成CPU与DDR之间的数据交互;在嵌入式设备上电启动中,CPU端读取存放在FLASH上的映像并将映像加载到DDR中;映像加载完成后,CPU从DDR中读取映像数据并执行映像,完成嵌入式设备相关功能。2.一种利用权利要求1所述基于嵌入式程序双区备份映像系统的启动方法,其特征在于包括下述步骤:步骤1:当映像启动时,进入步骤2;当映像需要更新时,进入步骤3;步骤2、在映像启动过程中,根据A区映像更新标志和A区映像启动状态,智能选取要加载运行的映像,从而保证能够正常启动,映像启动过程为:1)是否为启动失败状态,如果是,跳转到步骤7),否则跳转到步骤2);2)更新标志是否为初始化状态,如果是,跳转到步骤8),否则跳转到步骤3);3)...

【专利技术属性】
技术研发人员:吴森
申请(专利权)人:中国航空工业集团公司洛阳电光设备研究所
类型:发明
国别省市:河南,41

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

1