一种系统升级方法技术方案

技术编号:39653187 阅读:6 留言:0更新日期:2023-12-09 11:21
本申请涉及嵌入式设备的技术领域,尤其涉及一种系统升级方法

【技术实现步骤摘要】
一种系统升级方法、嵌入式设备和存储介质


[0001]本申请涉及嵌入式设备领域,尤其是涉及一种系统升级方法

嵌入式设备和存储介质


技术介绍

[0002]嵌入式设备通常由
bootloader、
内核和根文件系统等多个部分组成,嵌入式设备通过更新版本来对系统进行完善

嵌入式设备新版本升级文件通常包括新版本的
uImage
文件(内核镜像)
、rootfs
文件(根文件系统)

校验文件和配置文件等,为简化新版本升级文件传输过程,工作人员通常将更新版本所需的全部文件统一打包到
tar
包中,并将
tar
包导入嵌入式设备

[0003]在传统的版本更新方法中,
HTTP
协议将升级文件传输到嵌入式设备上,新版本升级文件存放于存储器内;更新时,嵌入式设备从
tar
包中自行解压出
uImage、rootfs
等文件,并单独对
uImage、rootfs
进行校验;校验成功后再将
uImage

rootfs
写入到嵌入式设备存储器的对应区域中,即可完成版本的更替

[0004]然而,解压出的
uImage
文件和
rootfs
文件会额外占用部分内存空间,
uImage
文件和
rootfs
文件压缩性价比不高,且
uImage
文件或
rootfs
文件占用的内存空间通常比较大;这使得嵌入式设备在版本更新过程中需要占用较多的内存资源,需要预先为嵌入式设备的升级流程留存充足的内存空间余量,不但会增加成本,而且容易存在因设备剩余内存空间不够,导致升级过程异常终止的情况


技术实现思路

[0005]为了减小嵌入式设备升级时所需占用的内存空间,节约嵌入式设备版本升级的成本,本申请提供了一种系统升级方法

嵌入式设备和存储介质

[0006]第一方面,本申请提供的系统升级方法,采用如下的技术方案:一种系统升级方法包括:获取系统升级文件,所述系统升级文件通过将
uImage
文件
、rootfs
文件和校验文件打包得到;所述系统升级文件未进行压缩;对所述系统升级文件进行解析以提取所述
uImage
文件和所述
rootfs
文件;将所述
uImage
文件和所述
rootfs
文件拷贝至内存中,实现系统更新

[0007]通过采用上述技术方案:将
uImage
文件
、rootfs
文件和校验文件进行打包便于系统升级文件的拷贝和传输;系统升级文件只进行打包未进行压缩,使得系统升级文件在使用和传输过程中能够保留
uImage
文件和
rootfs
文件的原始内容,降低出错的可能性;除此之外,由于系统升级文件是未压缩的,处理器无需对系统升级文件进行解压等处理,提高处理器的处理效率;对嵌入式设备升级时,直接将系统升级文件中
uImage
文件和
rootfs
文件的部分拷贝至内存,从而减小嵌入式设备升级时所需占用的内存空间,节约嵌入式设备版本升级的成本

[0008]可选的,所述系统升级文件中包括若干文件头,所述文件头用于表征系统升级文件中
uImage
文件或
rootfs
文件的具体参数信息,所述具体参数信息包括文件名信息和长度信息;基于所述文件名信息和所述长度信息,确定所述
uImage
文件或所述
rootfs
文件在所述系统升级文件中对应的存储块;所述对所述系统升级文件进行解析以提取所述
uImage
文件和所述
rootfs
文件的步骤包括依次解析所述系统升级文件的文件头,以确定所述
uImage
文件和所述
rootfs
文件在所述系统升级文件中对应的存储块;提取所述
uImage
文件和所述
rootfs
文件在所述系统升级文件中对应的所述存储块的语义内容,得到所述
uImage
文件和所述
rootfs
文件

[0009]通过采用上述技术方案,嵌入式系统能够根据
uImage
的文件头或
rootfs
的文件头中的文件名信息和长度信息,定位到
uImage
区块或
rootfs
区块在打包文件的位置;嵌入式系统能够从系统升级文件中将
uImage
的文件内容和
rootfs
的文件内容单独拷贝到嵌入式设备的内存中,从而减小嵌入式设备升级时所需占用的内存空间

[0010]可选的,在所述对所述系统升级文件进行解析以提取所述
uImage
文件和所述
rootfs
文件之后,在所述将所述
uImage
文件和所述
rootfs
文件拷贝至内存中之前,所述系统升级方法还包括:对所述
uImage
文件和所述
rootfs
文件进行校验,且校验通过

[0011]通过采用上述技术方案,在拷贝之前,嵌入式设备预先对
uImage
文件述
rootfs
文件进行校验,检查系统升级文件中的
uImage
文件和
rootfs
文件是否发生损坏,从而减小系统升级文件在后续拷贝的过程中异常终止的可能性

[0012]可选的,所述对所述
uImage
文件和所述
rootfs
文件进行校验的步骤包括:基于所述
uImage
文件和所述
rootfs
文件计算校验码;获取所述校验文件中对应的验证校验码;将校验码与验证校验码进行比对;若两者一致,则校验通过;否则,校验不通过

[0013]通过采用上述技术方案,利用校验工具从系统升级文件中对
uImage
区块的文件内容和
rootfs
区块的文件内容单独进行读取;基于
uImage
区块的文件内容和
rootfs
区块的文件内容计算出校验码,随后嵌入式系统判断计算得到的校验码与校验文件中的验证校验码是否一致,实现对系统升级文件中
uImage
区块的文件内容和
rootfs
区块的文本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.
一种系统升级方法,其特征在于:所述系统升级方法包括:获取系统升级文件,所述系统升级文件通过将
uImage
文件
、rootfs
文件和校验文件打包得到;所述系统升级文件未进行压缩;对所述系统升级文件进行解析以提取所述
uImage
文件和所述
rootfs
文件;将所述
uImage
文件和所述
rootfs
文件拷贝至内存中,实现系统更新
。2.
根据权利要求1所述的系统升级方法,其特征在于,所述系统升级文件中包括若干文件头,所述文件头用于表征系统升级文件中
uImage
文件或
rootfs
文件的具体参数信息,所述具体参数信息包括文件名信息和长度信息;基于所述文件名信息和所述长度信息,确定所述
uImage
文件或所述
rootfs
文件在所述系统升级文件中对应的存储块;所述对所述系统升级文件进行解析以提取所述
uImage
文件和所述
rootfs
文件的步骤包括依次解析所述系统升级文件的文件头,以确定所述
uImage
文件和所述
rootfs
文件在所述系统升级文件中对应的存储块;提取所述
uImage
文件和所述
rootfs
文件在所述系统升级文件中对应的所述存储块的语义内容,得到所述
uImage
文件和所述
rootfs
文件
。3.
根据权利要求1所述的系统升级方法,其特征在于,在所述对所述系统升级文件进行解析以提取所述
uImage
文件和所述
rootfs
文件之后,在所述将所述
uImage
文件和所述
rootfs
文件拷贝至内存中之前,所述系统升级方法还包括:对所述
uImage
文件和所述
rootfs
文件进行校验,且校验通过
。4.
根据权利要求3所述的系统升级方法,其特征在于,所述对所述
uImage
文件和所述
rootfs
文件进行校验的步骤包括:基于所述
uImage

【专利技术属性】
技术研发人员:胡庆龙姜坤鹏余振超
申请(专利权)人:深圳市西迪特科技股份有限公司
类型:发明
国别省市:

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

1