复杂嵌入式设备的升级方法及复杂嵌入式设备技术

技术编号:19691009 阅读:52 留言:0更新日期:2018-12-08 10:58
本发明专利技术提供了一种复杂嵌入式设备的升级方法及复杂嵌入式设备,其中,该方法包括:在复杂嵌入式设备的多个CPU均完成升级之后,将每个CPU对应的运行版本区域标志进行相应的修改,后续在设备重启之后,主控CPU通过检测各个CPU的运行版本区域标志是否相同来确定各个CPU是否完成了升级,如果出现不相同的情况,则说明设备升级失败,主控CPU控制各个CPU重新使用旧版本系统。采用上述技术方案,避免了相关技术中复杂嵌入式设备升级过程中,可能会出现由于多个CPU之间的版本不一致,而导致系统某些功能无法使用或者无法正常启动的问题,实现了复杂嵌入式设备在升级失败的情况下,各个CPU都可以使用旧版本正常启动。

【技术实现步骤摘要】
复杂嵌入式设备的升级方法及复杂嵌入式设备
本专利技术涉及通信领域,具体而言,涉及一种复杂嵌入式设备的升级方法及复杂嵌入式设备。
技术介绍
在相关技术中,复杂嵌入式设备是一个设备上包含两个或更多个CPU,每个CPU有自己的内存和存储固件以及其它外围设备组成。CPU的版本是保存在嵌入式设备存储固件上,包含机器指令,实现设备功能的二进制文件。通常,嵌入式设备升级版本是通过网页,网管等方式下载版本到嵌入式设备,嵌入式设备再更新原有的保存在固件上的版本。但是,在更新保存在固件上的版本时,会出现突然掉电,导致固件上的版本不完整,系统无法正常启动。针对相关技术中,复杂嵌入式设备升级过程中,可能会出现由于多个CPU之间的版本不一致,而导致系统无法正常启动的问题,目前还没有有效的解决方案。
技术实现思路
本专利技术实施例提供了一种复杂嵌入式设备的升级方法及复杂嵌入式设备,以至少解决相关技术中复杂嵌入式设备升级过程中,可能会出现由于多个CPU之间的版本不一致,而导致系统某些功能无法使用或者无法正常启动的问题。根据本专利技术的一个实施例,提供了一种复杂嵌入式设备的升级方法,包括:主控中央处理器CPU获取多个CPU分别对应的系统的系统更新版本,其中,所述多个CPU包括所述主控CPU,且所述多个CPU配置在嵌入式设备中,每个CPU分别配置两个系统版本存储区域;所述主控CPU将所述多个CPU的所述系统更新版本分别存储至所述多个CPU各自对应的第一系统版本存储区域,以使所述多个CPU分别按照各自对应的所述第一系统版本存储区域中存储的所述系统更新版本进行升级更新,其中,所述第一系统版本存储区域为与每个CPU对应的所述两个系统版本存储区域中未存储CPU当前所运行的系统版本的版本区域。可选地,所述主控CPU将所述多个CPU的所述系统更新版本分别存储至所述多个CPU各自对应的第一系统版本存储区域之后,所述主控CPU将所述多个CPU的运行版本区域标志分别更新为所述第一系统版本存储区域,其中,所述运行版本区域标志用于指示CPU当前所运行的系统版本所存储的系统版本存储区域。可选地,所述主控CPU在更新完所述多个CPU中的其他CPU的运行版本区域标志之后,更新自身的运行版本区域标志。可选地,所述主控CPU将所述多个CPU的运行版本区域标志分别更新为所述第一系统版本存储区域之后,重启所述嵌入式设备,所述主控CPU检测所述主控CPU的所述运行版本区域标志与所述多个CPU分别对应的所述运行版本区域标志是否一致;在所述主控CPU的所述运行版本区域标志与所述多个CPU中至少一个CPU的所述运行版本区域标志不一致的情况下,所述主控CPU修改所述至少一个CPU的运行版本标识与所述主控CPU的运行版本区域标志相同,并向网页和/或网管升级媒介发送通知消息,所述通知消息用于通知所述嵌入式设备升级失败。可选地,主控CPU获取多个CPU分别对应的系统的系统更新版本,包括:所述主控CPU获取版本更新包,所述版本更新包中包含:与所述多个CPU分别对应的所述系统更新版本,和版本头;其中,所述版本头中携带有与每个CPU对应的偏移量,其中,所述偏移量用于指示每个CPU的所述系统更新版本在所述版本更新包中的存储位置;所述主控CPU依据所述偏移量从所述版本更新包中获取所述多个CPU各自对应的系统更新版本。可选地,所述版本更新包还携带有校验码,所述主控CPU通过所述校验码验证所述版本更新包是否完整。可选地,所述主控CPU通过远程过程调用RPC连接至所述多个CPU。根据本专利技术的另一个实施例,还提供了一种复杂嵌入式设备,包括:多个CPU,所述多个CPU中包括主控制CPU,且每个CPU分别配置两个系统版本存储区域;所述嵌入式设备还包括:通信装置,用于获取所述多个CPU分别对应的系统的系统更新版本;所述主控CPU,用于将所述多个CPU的所述系统更新版本分别存储至所述多个CPU各自对应的第一系统版本存储区域,以使所述多个CPU分别按照各自对应的所述第一系统版本存储区域中存储的所述系统更新版本进行升级更新,其中,所述第一系统版本存储区域为与每个CPU对应的所述至少两个系统版本存储区域中未存储CPU当前所运行的系统版本的版本区域。可选地,所述主控CPU,还用于在将所述多个CPU的所述系统更新版本分别存储至所述多个CPU各自对应的第一系统版本存储区域之后,将所述多个CPU的运行版本区域标志分别更新为所述第一系统版本存储区域,其中,所述运行版本区域标志用于指示CPU当前所运行的系统版本所存储的系统版本存储区域。可选地,所述主控CPU还用于,在所述主控CPU将所述多个CPU的运行版本区域标志分别更新为所述第一系统版本存储区域之后,重启所述嵌入式设备,并检测所述主控CPU的所述运行版本区域标志与所述多个CPU分别对应的所述运行版本区域标志是否一致;所述主控CPU还用于,在所述主控CPU的所述运行版本区域标志与所述多个CPU中至少一个CPU的所述运行版本区域标志不一致的情况下,修改所述至少一个CPU的运行版本标识与所述主控CPU的运行版本区域标志相同,并向网页和/或网管升级媒介发送通知消息,所述通知消息用于通知所述嵌入式设备升级失败。可选地,所述通信装置还用于,获取版本更新包,所述版本更新包中包含:与所述多个CPU分别对应的所述系统更新版本,和版本头;其中,所述版本头中携带有与每个CPU对应的偏移量,其中,所述偏移量用于指示每个CPU的所述系统更新版本在所述版本更新包中的存储位置;所述主控CPU还用于,依据所述偏移量从所述版本更新包中获取所述多个CPU各自对应的系统更新版本。根据本专利技术的又一个实施例,还提供了一种存储介质。该存储介质设置为存储用于执行以下步骤的程序代码:主控中央处理器CPU获取多个CPU分别对应的系统的系统更新版本,其中,所述多个CPU包括所述主控CPU,且所述多个CPU配置在嵌入式设备中,每个CPU分别配置两个系统版本存储区域;所述主控CPU将所述多个CPU的所述系统更新版本分别存储至所述多个CPU各自对应的第一系统版本存储区域,以使所述多个CPU分别按照各自对应的所述第一系统版本存储区域中存储的所述系统更新版本进行升级更新,其中,所述第一系统版本存储区域为与每个CPU对应的所述至少两个系统版本存储区域中未存储CPU当前所运行的系统版本的版本区域。通过本专利技术,在复杂嵌入式设备的升级过程中,主控CPU将各个CPU对应的系统更新版本存储在各个CPU当前未使用的版本区域中,而不是替换之前的系统版本,以使每个CPU同时拥有新版本和旧版本,在这种情况下,如果由断电等突发情况导致某些CPU没有完成更新,该设备中的所有CPU也可以使用旧版本来完成启动,后续进行重新升级更新。在版本升级最后一步,切换主控CPU运行版本区域标志;在版本升级后,通过“二元法”,判断各个CPU的版本是否一致,如不一致,说明升级过程出现异常,主控CPU切换从CPU版本区域标志,使该设备中的所有CPU使用旧版本,为后续进行重新升级做准备。采用上述技术方案,避免了相关技术中复杂嵌入式设备升级过程中,可能会出现由于多个CPU之间的版本不一致,而导致系统某些功能无法使用或者无法正常启动的问题,实现了复杂嵌入式设备在升级失败的情况下,可以正常启本文档来自技高网...

【技术保护点】
1.一种复杂嵌入式设备的升级方法,其特征在于,包括:主控CPU依据预先获取的多个系统更新版本升级所述主控CPU所在设备的多个CPU分别对应的系统,并将所述多个CPU的运行版本区域标志分别更新为第一系统版本存储区域的标志,其中,所述第一系统版本存储区域中存储有所述系统更新版本,所述多个CPU包括所述主控CPU,所述运行版本区域标志用于指示设备重启后CPU所运行的系统版本所存储的系统版本存储区域;在重启所述设备之后,所述主控CPU检测所述主控CPU的运行版本区域标志与所述多个CPU分别对应的运行版本区域标志是否一致,在检测到所述主控CPU的运行版本区域标志与所述多个CPU中至少一个CPU的运行版本区域标志不一致的情况下,所述主控CPU切换所述多个CPU的运行版本区域标识为第二系统版本存储区域的标志,其中,所述第二系统版本存储区域存储有本次升级前的系统版本。

【技术特征摘要】
1.一种复杂嵌入式设备的升级方法,其特征在于,包括:主控CPU依据预先获取的多个系统更新版本升级所述主控CPU所在设备的多个CPU分别对应的系统,并将所述多个CPU的运行版本区域标志分别更新为第一系统版本存储区域的标志,其中,所述第一系统版本存储区域中存储有所述系统更新版本,所述多个CPU包括所述主控CPU,所述运行版本区域标志用于指示设备重启后CPU所运行的系统版本所存储的系统版本存储区域;在重启所述设备之后,所述主控CPU检测所述主控CPU的运行版本区域标志与所述多个CPU分别对应的运行版本区域标志是否一致,在检测到所述主控CPU的运行版本区域标志与所述多个CPU中至少一个CPU的运行版本区域标志不一致的情况下,所述主控CPU切换所述多个CPU的运行版本区域标识为第二系统版本存储区域的标志,其中,所述第二系统版本存储区域存储有本次升级前的系统版本。2.根据权利要求1所述的方法,其特征在于,将所述多个CPU的运行版本区域标志分别更新为第一系统版本存储区域的标志,包括:所述主控CPU在更新完所述多个CPU中的其他CPU的运行版本区域标志之后,更新自身的运行版本区域标志。3.根据权利要求1所述的方法,其特征在于,主控CPU依据预先获取的多个系统更新版本升级所述主控CPU所在设备的多个CPU分别对应的系统,包括:所述主控CPU将所述多个CPU的所述系统更新版本分别存储至所述多个CPU各自对应的所述第一系统版本存储区域,以使所述多个CPU分别按照各自对应的所述第一系统版本存储区域中存储的所述系统更新版本进行升级更新,其中,每个CPU分别配置两个系统版本存储区域,所述第一系统版本存储区域为与每个CPU对应的所述两个系统版本存储区域中未存储CPU当前所运行的系统版本的版本区域。4.根据权利要求1所述的方法,其特征在于,所述主控CPU切换所述多个CPU的运行版本区域标识为第二系统版本存储区域的标志之后,所述方法还包括:向网页和/或网管升级媒介发送通知消息,所述通知消息用于通知所述复杂嵌入式设备升级失败。5.根据权利要求1所述的方法,其特征在于,所述主控CPU获取系统更新版本的方式包括:所述主控CPU获取版本更新包,所述版本更新包中包含:与所述多个CP...

【专利技术属性】
技术研发人员:冯志杰徐群立周永波
申请(专利权)人:中兴通讯股份有限公司
类型:发明
国别省市:广东,44

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

1