VxWorks系统镜像image文件的更新方法及装置制造方法及图纸

技术编号:15791696 阅读:64 留言:0更新日期:2017-07-09 21:43
本发明专利技术提供一种VxWorks系统镜像image文件的更新方法及装置,该方法包括:将要更新的VxWorks系统镜像image文件压缩成二进制文件;根据boot引导代码中的启动标志,确定原image文件存储在存储芯片中的哪一区域;将所述二进制文件写入除了存储原image文件的区域之外的其他一区域,并在写入成功后将所述启动标志更新为用于调用所述其他一区域的预设值。该方法能解决现有技术中VxWorks系统镜像image文件更新失败导致系统无法正常启动的问题,可以保证更新image文件时,不管成功失败与否,都能够保证系统的正常启动运行。

【技术实现步骤摘要】
VxWorks系统镜像image文件的更新方法及装置
本专利技术涉及计算机
,尤其涉及一种VxWorks系统镜像image文件的更新方法及装置。
技术介绍
VxWorks操作系统是美国风河WindRiver公司设计的一款嵌入式实时操作系统,它提供了良好的可靠性和卓越的实时性,被广泛地应用在通信、军事、航空、航天等高精尖技术及实时性要求极高的领域中。在VxWorks操作系统中,通常将编译好的VxWorks.st文件叫做image文件(即image文件为VxWorks系统镜像文件)。目前,在VxWorks操作系统下,需要将boot引导代码和image文件通过风河公司提供的编译器,编译成一个引导程序bootrom。在VxWorks操作系统启动初始阶段,首先运行bootrom代码对最小系统进行初始化,然后从bootrom中提取出image,并将image文件进行加载,然后运行。当image文件需要进行版本更新时,需要在flash芯片中将需要更新的bootrom代码覆盖旧的bootrom代码,从而更新bootrom文件的同时也更新了image文件。但是在更新过程中如果有异常场景出现,比如突然掉电、复位等,就会造成更新失败,旧的bootrom被覆盖不完全,从而导致系统无法正常启动。一旦更新失败,维修人员必须用专业的代码下载工具将旧bootrom代码清除,再烧写新代码,现场无法处理时需要返厂维修甚至更新FLASH芯片,不仅操作麻烦,而且造成人力物力、时间成本上的巨大浪费。鉴于此,如何解决现有技术中VxWorks系统镜像image文件更新失败导致系统无法正常启动的问题成为目前需要解决的技术问题。
技术实现思路
为解决上述的技术问题,本专利技术提供一种VxWorks系统镜像image文件的更新方法及装置,解决了现有技术中VxWorks系统镜像image文件更新失败导致系统无法正常启动的问题。第一方面,本专利技术提供一种VxWorks系统镜像image文件的更新方法,包括:将要更新的VxWorks系统镜像image文件压缩成二进制文件;根据boot引导代码中的启动标志,确定原image文件存储在存储芯片中的哪一区域;将所述二进制文件写入除了存储原image文件的区域之外的其他一区域,并在写入成功后将所述启动标志更新为用于调用所述其他一区域的预设值。可选地,所述根据boot引导代码中的启动标志,确定原image文件存储在存储芯片中的哪一区域,包括:根据boot引导代码中的启动标志,确定原image文件存储在存储芯片的第一区域还是第二区域;相应地,所述将所述二进制文件写入除了存储原image文件的区域之外的其他一区域,并在写入成功后将所述启动标志更新为用于调用所述其他一区域的预设值,具体包括:若原image文件存储在存储芯片的第一区域,则将所述二进制文件写入存储芯片的第二区域,并在写入成功后将所述启动标志更新为用于调用所述第二区域的第二预设值;若原image文件存储在存储芯片的第二区域,则将所述二进制文件写入存储芯片的第一区域,并在写入成功后将所述启动标志更新为用于调用所述第一区域的第一预设值。可选地,所述根据boot引导代码中的启动标志,确定原image文件存储在存储芯片的第一区域还是第二区域,包括:判断boot引导代码中的启动标志为第一预设值还是第二预设值;若所述启动标志为第一预设值,确定原image文件存储在存储芯片的第一区域;若所述启动标志为第二预设值,确定原image文件存储在存储芯片的第二区域。可选地,在所述将所述二进制文件写入除了存储原image文件的区域之外的其他一区域,并在写入成功后将所述启动标志更新为用于调用所述其他一区域的预设值之后,所述方法还包括:在系统重新启动时,根据更新后的启动标志,从成功写入所述二进制文件的区域将所述二进制文件复制到低端内存地址RAM_LOW_ADRS处;对所述低端内存地址处的二进制文件进行解压缩;通过调用系统函数启动所述低端内存地址处解压缩后得到的image文件。可选地,所述在系统重新启动时,根据更新后的启动标志,从成功写入所述二进制文件的区域将所述二进制文件复制到低端内存地址RAM_LOW_ADRS处,包括:在系统重新启动时,判断更新后的启动标志为第一预设值还是第二预设值;若更新后的启动标志为第一预设值,则从所述第一区域将所述二进制文件复制到低端内存地址RAM_LOW_ADRS处;若更新后的启动标志为第二预设值,则从所述第二区域将所述二进制文件复制到低端内存地址RAM_LOW_ADRS处。第二方面,本专利技术提供一种VxWorks系统镜像image文件的更新装置,包括:压缩模块,用于将要更新的VxWorks系统镜像image文件压缩成二进制文件;确定模块,用于根据boot引导代码中的启动标志,确定原image文件存储在存储芯片中的哪一区域;写入模块,用于将所述二进制文件写入除了存储原image文件的区域之外的其他一区域,并在写入成功后将所述启动标志更新为用于调用所述其他一区域的预设值。可选地,所述确定模块,具体用于根据boot引导代码中的启动标志,确定原image文件存储在存储芯片的第一区域还是第二区域;相应地,所述写入模块,具体用于若原image文件存储在存储芯片的第一区域,则将所述二进制文件写入存储芯片的第二区域,并在写入成功后将所述启动标志更新为用于调用所述第二区域的第二预设值;若原image文件存储在存储芯片的第二区域,则将所述二进制文件写入存储芯片的第一区域,并在写入成功后将所述启动标志更新为用于调用所述第一区域的第一预设值。可选地,所述确定模块,具体用于判断boot引导代码中的启动标志为第一预设值还是第二预设值;若所述启动标志为第一预设值,确定原image文件存储在存储芯片的第一区域;若所述启动标志为第二预设值,确定原image文件存储在存储芯片的第二区域。可选地,所述装置还包括:复制模块,用于在系统重新启动时,根据更新后的启动标志,从成功写入所述二进制文件的区域将所述二进制文件复制到低端内存地址RAM_LOW_ADRS处;解压缩模块,用于对所述低端内存地址处的二进制文件进行解压缩;启动模块,用于通过调用系统函数启动所述低端内存地址处解压缩后得到的image文件。可选地,所述复制模块,具体用于在系统重新启动时,判断更新后的启动标志为第一预设值还是第二预设值;若更新后的启动标志为第一预设值,则从所述第一区域将所述二进制文件复制到低端内存地址RAM_LOW_ADRS处;若更新后的启动标志为第二预设值,则从所述第二区域将所述二进制文件复制到低端内存地址RAM_LOW_ADRS处。由上述技术方案可知,本专利技术的VxWorks系统镜像image文件的更新方法及装置,通过将要更新的VxWorks系统镜像image文件压缩成二进制文件,根据boot引导代码中的启动标志,确定原image文件存储在存储芯片中的哪一区域,将所述二进制文件写入除了存储原image文件的区域之外的其他一区域,并在写入成功后将所述启动标志更新为用于调用所述其他一区域的预设值,解决了现有技术中VxWorks系统镜像image文件更新失败导致系统无法正常启动的问题,可以保证更新image文件时,不管成功失败与否本文档来自技高网
...
VxWorks系统镜像image文件的更新方法及装置

【技术保护点】
一种VxWorks系统镜像image文件的更新方法,其特征在于,包括:将要更新的VxWorks系统镜像image文件压缩成二进制文件;根据boot引导代码中的启动标志,确定原image文件存储在存储芯片中的哪一区域;将所述二进制文件写入除了存储原image文件的区域之外的其他一区域,并在写入成功后将所述启动标志更新为用于调用所述其他一区域的预设值。

【技术特征摘要】
1.一种VxWorks系统镜像image文件的更新方法,其特征在于,包括:将要更新的VxWorks系统镜像image文件压缩成二进制文件;根据boot引导代码中的启动标志,确定原image文件存储在存储芯片中的哪一区域;将所述二进制文件写入除了存储原image文件的区域之外的其他一区域,并在写入成功后将所述启动标志更新为用于调用所述其他一区域的预设值。2.根据权利要求1所述的方法,其特征在于,所述根据boot引导代码中的启动标志,确定原image文件存储在存储芯片中的哪一区域,包括:根据boot引导代码中的启动标志,确定原image文件存储在存储芯片的第一区域还是第二区域;相应地,所述将所述二进制文件写入除了存储原image文件的区域之外的其他一区域,并在写入成功后将所述启动标志更新为用于调用所述其他一区域的预设值,具体包括:若原image文件存储在存储芯片的第一区域,则将所述二进制文件写入存储芯片的第二区域,并在写入成功后将所述启动标志更新为用于调用所述第二区域的第二预设值;若原image文件存储在存储芯片的第二区域,则将所述二进制文件写入存储芯片的第一区域,并在写入成功后将所述启动标志更新为用于调用所述第一区域的第一预设值。3.根据权利要求2所述的方法,其特征在于,所述根据boot引导代码中的启动标志,确定原image文件存储在存储芯片的第一区域还是第二区域,包括:判断boot引导代码中的启动标志为第一预设值还是第二预设值;若所述启动标志为第一预设值,确定原image文件存储在存储芯片的第一区域;若所述启动标志为第二预设值,确定原image文件存储在存储芯片的第二区域。4.根据权利要求1-3中任一项所述的方法,其特征在于,在所述将所述二进制文件写入除了存储原image文件的区域之外的其他一区域,并在写入成功后将所述启动标志更新为用于调用所述其他一区域的预设值之后,所述方法还包括:在系统重新启动时,根据更新后的启动标志,从成功写入所述二进制文件的区域将所述二进制文件复制到低端内存地址RAM_LOW_ADRS处;对所述低端内存地址处的二进制文件进行解压缩;通过调用系统函数启动所述低端内存地址处解压缩后得到的image文件。5.根据权利要求4所述的方法,其特征在于,所述在系统重新启动时,根据更新后的启动标志,从成功写入所述二进制文件的区域将所述二进制文件复制到低端内存地址RAM_LOW_ADRS处,包括:在系统重新启动时,判断更新后的启动标志为第一预设值还是第二预设值...

【专利技术属性】
技术研发人员:赵建立
申请(专利权)人:普天信息技术有限公司
类型:发明
国别省市:北京,11

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

1