System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技术实现步骤摘要】
本专利技术涉及通信,尤其涉及一种基于镜像文件的系统升级方法及装置。
技术介绍
1、zynq是一种可编程soc(system on chip,片上系统)芯片,包含ps(processingsystem,处理器系统)和pl(programmable logic,可编程逻辑)两部分。zynq芯片固件以启动镜像文件的形式烧写至flash或sd卡等非易失性存储介质中,设备上电后从镜像文件启动加载pl和ps程序。
2、目前,在基于zynq镜像文件进行系统升级时,多通过以太网或usb等接口将更新后的镜像文件(update.bin)传输至zynq芯片外部的ddr(double data rate,双数据率内存)缓存,并通过ps将更新镜像文件从ddr内存烧写至flash或sd卡,然而,若在烧写过程中出现异常,如出现严重的电磁干扰导致写入flash或sd卡中的数据完整性遭到破坏或烧写过程中系统突然掉电,会导致升级失败。系统从错误的镜像文件启动,将导致硬件宕机,设备无法正常工作,且无法重新远程升级,只能通过调试接口进行现场升级,有时现场升级还需要拆卸设备,升级维护的代价高昂。
技术实现思路
1、本专利技术提供一种基于镜像文件的系统升级方法及装置,用以解决现有技术中存在的缺陷。
2、本专利技术提供一种基于镜像文件的系统升级方法,包括如下步骤。
3、在当前系统升级失败后,掉电重启系统,并从外部存储介质中加载出厂镜像文件的主引导加载程序至芯片内存,以获取所述出厂镜像文件的版
4、基于所述出厂镜像文件的版本和类型,从所述外部存储介质中加载当前更新镜像文件的主引导加载程序至所述芯片内存;
5、在所述芯片内存上运行所述当前更新镜像文件的主引导加载程序,并对所述当前更新镜像文件的完整性进行校验;
6、在校验通过后,停止运行所述当前更新镜像文件的主引导加载程序,并跳转运行所述当前更新镜像文件对应的应用程序,以将所述当前系统升级至所述当前更新镜像文件对应的版本。
7、根据本专利技术提供的一种基于镜像文件的系统升级方法,所述当前更新镜像文件为所述出厂镜像文件对应最新版本的镜像文件;
8、所述方法还包括:
9、在校验失败后,确定所述当前更新镜像文件是否存在先前版本的镜像文件,若是,则将所述先前版本的镜像文件作为所述当前更新镜像文件,并回退至所述在所述芯片内存上运行所述当前更新镜像文件的主引导加载程序;
10、若否,则回退至启动所述出厂镜像文件。
11、根据本专利技术提供的一种基于镜像文件的系统升级方法,所述当前更新镜像文件为所述出厂镜像文件对应最新版本的镜像文件;
12、所述方法还包括:
13、在校验失败后,确定所述当前更新镜像文件是否存在先前版本的镜像文件,若是,则将所述先前版本的镜像文件作为所述当前更新镜像文件,并回退至所述在所述芯片内存上运行所述当前更新镜像文件的主引导加载程序;
14、若否,则回退至启动所述出厂镜像文件。
15、根据本专利技术提供的一种基于镜像文件的系统升级方法,所述跳转运行所述出厂镜像文件对应的应用程序,之后还包括:
16、掉电重启系统,并回退至所述从外部存储介质中加载出厂镜像文件的主引导加载程序至芯片内存。
17、根据本专利技术提供的一种基于镜像文件的系统升级方法,所述当前更新镜像文件中包含有启动头累加校验和、位流文件的哈希值以及可执行文件的哈希值;
18、所述对所述当前更新镜像文件的完整性进行校验,包括:
19、基于所述位流文件的哈希值以及所述可执行文件的哈希值,对所述当前更新镜像文件的各分区头数据以及各分区数据进行完整性校验;
20、基于所述启动头累加校验和,对所述当前更新镜像文件的启动头数据进行完整性校验。
21、根据本专利技术提供的一种基于镜像文件的系统升级方法,所述当前更新镜像文件中包含有启动头累加校验和、位流文件的哈希值以及可执行文件的哈希值;
22、所述对所述当前更新镜像文件的完整性进行校验,包括:
23、基于所述位流文件的哈希值以及所述可执行文件的哈希值,对所述当前更新镜像文件的各分区头数据以及各分区数据进行完整性校验;
24、基于所述启动头累加校验和,对所述当前更新镜像文件的启动头数据进行完整性校验。
25、根据本专利技术提供的一种基于镜像文件的系统升级方法,所述停止运行所述当前更新镜像文件的主引导加载程序,并跳转运行所述当前更新镜像文件对应的应用程序,包括:
26、基于所述当前更新镜像文件中各分区头所包含的信息,加载配置所述当前更新镜像文件的位流文件和可执行文件;
27、若加载配置成功,则停止运行所述当前更新镜像文件的主引导加载程序后,跳转运行所述当前更新镜像文件对应的应用程序。
28、本专利技术还提供一种基于镜像文件的系统升级装置,包括如下模块。
29、第一加载单元,用于在当前系统升级失败后,掉电重启系统,并从外部存储介质中加载出厂镜像文件的主引导加载程序至芯片内存,以获取所述出厂镜像文件的版本和类型;
30、第二加载单元,用于基于所述出厂镜像文件的版本和类型,从所述外部存储介质中加载当前更新镜像文件的主引导加载程序至所述芯片内存;
31、运行校验单元,用于在所述芯片内存上运行所述当前更新镜像文件的主引导加载程序,并对所述当前更新镜像文件的完整性进行校验;
32、系统升级单元,用于在校验通过后,停止运行所述当前更新镜像文件的主引导加载程序,并跳转运行所述当前更新镜像文件对应的应用程序,以将所述当前系统升级至所述当前更新镜像文件对应的版本。
33、本专利技术还提供一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现如上述任一种所述基于镜像文件的系统升级方法。
34、本专利技术还提供一种非暂态计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现如上述任一种所述基于镜像文件的系统升级方法。
35、本专利技术还提供一种计算机程序产品,包括计算机程序,所述计算机程序被处理器执行时实现如上述任一种所述基于镜像文件的系统升级方法。
36、本专利技术提供的基于镜像文件的系统升级方法及装置,在当前系统升级失败的情况下,可以将出厂镜像文件作为备份镜像,并基于出厂镜像文件的版本和类型继续从外部存储介质上搜寻加载完整的当前更新镜像文件,从而在确定当前更新镜像文件数据完整的情况下,可以跳转运行当前更新镜像文件对应的应用程序,以将当前系统升级至当前更新镜像文件对应的版本,避免传统方法中在系统升级失败时导致硬件宕机的问题,也就是说,本专利技术在当前系统升级失败的情况下,基于出厂镜像文件仍然支持远程升级,进而可以大大节省人力、物力、财力等升级维护成本。
本文档来自技高网...【技术保护点】
1.一种基于镜像文件的系统升级方法,其特征在于,包括:
2.根据权利要求1所述的基于镜像文件的系统升级方法,其特征在于,所述当前更新镜像文件为所述出厂镜像文件对应最新版本的镜像文件;
3.根据权利要求2所述的基于镜像文件的系统升级方法,其特征在于,所述启动所述出厂镜像文件,包括:
4.根据权利要求3所述的基于镜像文件的系统升级方法,其特征在于,所述跳转运行所述出厂镜像文件对应的应用程序,之后还包括:
5.根据权利要求1至4任一项所述的基于镜像文件的系统升级方法,其特征在于,所述当前更新镜像文件中包含有启动头累加校验和、位流文件的哈希值以及可执行文件的哈希值;
6.根据权利要求1至4任一项所述的基于镜像文件的系统升级方法,其特征在于,用于存储所述当前更新镜像文件的主引导加载程序的分区设置于启动头之后。
7.根据权利要求1至4任一项所述的基于镜像文件的系统升级方法,其特征在于,所述停止运行所述当前更新镜像文件的主引导加载程序,并跳转运行所述当前更新镜像文件对应的应用程序,包括:
8.一种基于镜像文件的
9.一种电子设备,包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时实现如权利要求1至7任一项所述基于镜像文件的系统升级方法。
10.一种非暂态计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1至7任一项所述基于镜像文件的系统升级方法。
...【技术特征摘要】
1.一种基于镜像文件的系统升级方法,其特征在于,包括:
2.根据权利要求1所述的基于镜像文件的系统升级方法,其特征在于,所述当前更新镜像文件为所述出厂镜像文件对应最新版本的镜像文件;
3.根据权利要求2所述的基于镜像文件的系统升级方法,其特征在于,所述启动所述出厂镜像文件,包括:
4.根据权利要求3所述的基于镜像文件的系统升级方法,其特征在于,所述跳转运行所述出厂镜像文件对应的应用程序,之后还包括:
5.根据权利要求1至4任一项所述的基于镜像文件的系统升级方法,其特征在于,所述当前更新镜像文件中包含有启动头累加校验和、位流文件的哈希值以及可执行文件的哈希值;
6.根据权利要求1至4任一项所述的基于镜像文件的系统升级方法,其特征在于...
【专利技术属性】
技术研发人员:夏传荣,尹项托,付思梅,程军强,
申请(专利权)人:中星联华科技北京有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。