System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind() 一种嵌入式设备及其升级方法技术_技高网

一种嵌入式设备及其升级方法技术

技术编号:40249423 阅读:5 留言:0更新日期:2024-02-02 22:44
本发明专利技术公开了一种嵌入式设备及其升级方法,所述方法包括如下步骤:创建备份分区和备份系统,并将备份系统存放在备份分区中;通过环境变量分区存储工作流程,标识当前设备处于何种工作流程,所述工作流程包括升级流程和正常流程;执行升级流程,通过快速启动机制将所述备份系统从备份分区加载到嵌入式设备的内存中,使得嵌入式设备遇到意外硬件问题导致升级中止时,在重新上电后能继续执行升级流程;升级成功后将当前工作流程修改为正常流程,并进行重启;能实现备份系统仅写入一次分区,设备在运行时仅对该分区进行读取,显著减少嵌入式设备升级对存储空间的需求、降低嵌入式设备升级损坏的概率、提高嵌入式设备升级过程的可靠性和安全性。

【技术实现步骤摘要】

本专利技术涉及计算机嵌入式软件,特别是涉及一种嵌入式设备及其升级方法


技术介绍

1、openwrt是一个基于linux(一种操作系统)的嵌入式操作系统,专为嵌入式设备如路由器、无线设备等设计。快闪存储器(flash memory),是一种电子式可清除程序化只读存储器的形式,允许在操作中被多次擦或写的存储器。openwrt主要运行在基于flash(一种存储设备简称)存储的嵌入式设备上,如nand flash、nor flash。其在flash存储设备中,一般存在以下几个分区:启动引导(bootloader)分区,环境变量(bootenv)分区,固件(firmware)分区以及文件系统数据(rootfs_data)分区。这几个分区具体说明如下:

2、bootloader分区:这是设备启动的第一个程序,其责任是初始化硬件并加载内核以启动操作系统。它的主要任务是加载和执行kernel(内核),同时也提供了一些用于系统恢复的重要功能。

3、bootenv分区:此分区存储启动过程中所需的环境变量,比如设备型号,mac(mediaaccess control,媒体存取控制)地址等。

4、firmware分区:此分区存储设备的内核和文件系统,包括openwrt系统本身。在系统升级时,新的固件会被写入此分区。

5、rootfs_data分区:这部分是嵌入式设备的文件系统,用于存储设备配置、应用程序等数据。

6、在openwrt系统升级时,会从flash中读取一个ramfs文件系统(内存文件系统)到内存中,然后从正常的rootfs(根文件系统)切换到该ramfs中,接着对flash中原有的firmware分区进行擦写,以实现固件的升级。

7、flash是一种存储设备的简称,快闪存储器(flash memory),是一种电子式可清除程序化只读存储器的形式,允许在操作中被多次擦或写的存储器。flash存储是一种非易失性存储,有着低功耗、小尺寸、支持随机访问等特性,在嵌入式设备中广泛运用。flash存储通过以块为单位的擦除、写入来实现数据的写入,因此,在数据的写入过程中易受各种因素的影响而造成过数据的写入错误,比如电源不稳定、不正确的写入流程等。读取操作因为无需对flash进行擦除,因此一般出错概率较低。

8、目前,路由器、无线设备的升级一般都是通过对firmware分区进行数据擦除、写入来实现。这意味着,如果在设备升级过程中,遇到意外硬件故障或者数据写入错误,可能会导致设备升级失败,甚至可能导致设备无法恢复。

9、综上,现有的嵌入式设备升级方法仍存在占用存储空间较多且升级失败率较高的问题。


技术实现思路

1、本专利技术的目的在于解决现有的嵌入式设备升级方法占用存储空间较多且升级失败率较高的技术问题,提出一种嵌入式设备及其升级方法。

2、本专利技术的技术问题通过以下的技术方案予以解决:

3、一种嵌入式设备升级方法,包括如下步骤:

4、s1、创建备份分区和备份系统,并将备份系统存放在备份分区中;

5、s2、通过环境变量分区存储工作流程,标识当前设备处于何种工作流程,所述工作流程包括升级流程和正常流程;

6、s3、执行升级流程,通过快速启动机制将所述备份系统从备份分区加载到嵌入式设备的内存中,使得嵌入式设备遇到意外硬件问题导致升级中止时,在重新上电后能继续执行升级流程;

7、s4、升级成功后将当前工作流程修改为正常流程,并进行重启。

8、在一些实施例中,还包括如下技术特征:

9、步骤s3还包括如下步骤:基于校验算法对升级流程进行校验,在遇到固件数据写入错误时,识别异常固件,并对固件进行修复。

10、在一些实施例中,还包括如下步骤:

11、s5、执行正常流程,并基于校验算法对正常流程进行校验,当遇到固件数据读取错误时,进行工作流程变更,并执行升级流程。

12、在一些实施例中,所述校验算法为非加密的哈希算法。

13、在一些实施例中,对升级流程进行校验包括如下步骤:

14、e1、上传完固件后,计算该固件的32位哈希值,得到第一哈希值,并通过存储技术设备读写工具将固件写入固件分区;

15、e2、完成固件写入后,将固件从存储设备中读取出来并重新计算哈希值,得到第二哈希值;

16、e3、比较第一哈希值与第二哈希值,若两者一致,将第二哈希值写入到固件分区对齐后的末尾,并将工作流程修改为正常流程,并进行重启;

17、e4、若两者不一致,则询问用户是否尝试重新写入固件,循环执行步骤e1至e3。

18、在一些实施例中,对正常流程进行校验包括如下步骤:

19、f1、将固件分区的固件读取到内存中,并进行哈希值计算得到第三哈希值;

20、f2、将第三哈希值与固件分区末尾的第二哈希值进行比对,若两者一致,则正常加载固件分区的固件;若两者不一致,则修改当前工作流程为升级流程,并执行步骤e1至e3。

21、在一些实施例中,步骤s1中所述备份系统包括内核和文件系统,所述备份系统的大小为1.5m至2m。

22、在一些实施例中,所述备份系统还包括flash驱动、网络驱动,所述内核为linux内核,所述文件系统通过busybox构建;所述文件系统通过提供unix工具和命令、集成http服务端,给用户提供web升级页面。

23、在一些实施例中,步骤s3中所述快速启动机制为kexec机制。

24、本专利技术还提出如下技术方案:

25、一种嵌入式设备,包括处理器和存储器,所述存储器中存储有计算机程序,所述计算机程序可被处理器执行以实现如上所述的方法的步骤。

26、本专利技术与现有技术对比的有益效果包括:

27、本专利技术提出的一种嵌入式设备升级方法通过创建备份分区和备份系统,通过快速启动机制将所述备份系统从备份分区加载到嵌入式设备的内存中等技术特征的设置,能够实现备份系统仅写入一次分区,设备在运行时仅对该分区进行读取,以解决现有升级方法占用存储空间较多且升级失败率较高的技术问题,从而达到显著减少嵌入式设备升级对存储空间的需求、降低嵌入式设备升级损坏的概率、提高嵌入式设备升级过程的可靠性和安全性的效果。

28、此外,在一些实施例中,还具有如下有益效果:

29、本专利技术实施例采用非加密的哈希算法作为校验方法,对升级流程(数据写入过程)和正常流程(设备启动过程)进行校验,具有高速和低冲突的特点,可显著提高校验的速度和可靠性,保证用户体验,确保数据写入的准确、可靠。

30、本专利技术实施例使用kexec机制加载备份系统,能够在迅速启动升级流程的同时,显著减少对flash空间的需求,在路由器、网关这类存储空间较小的设备上显得尤为重要。

31、本专利技术实施例中的其他有益效果将在本文档来自技高网...

【技术保护点】

1.一种嵌入式设备升级方法,其特征在于,包括如下步骤:

2.如权利要求1所述的嵌入式设备升级方法,其特征在于,步骤S3还包括如下步骤:基于校验算法对升级流程进行校验,在遇到固件数据写入错误时,识别异常固件,并对固件进行修复。

3.如权利要求2所述的嵌入式设备升级方法,其特征在于,还包括如下步骤:

4.如权利要求2或3所述的嵌入式设备升级方法,其特征在于,所述校验算法为非加密的哈希算法。

5.如权利要求4所述的嵌入式设备升级方法,其特征在于,对升级流程进行校验包括如下步骤:

6.如权利要求5所述的嵌入式设备升级方法,其特征在于,对正常流程进行校验包括如下步骤:

7.如权利要求1所述的嵌入式设备升级方法,其特征在于,步骤S1中所述备份系统包括内核和文件系统,所述备份系统的大小为1.5M至2M。

8.如权利要求7所述的嵌入式设备升级方法,其特征在于,所述备份系统还包括Flash驱动、网络驱动,所述内核为Linux内核,所述文件系统通过Busybox构建;所述文件系统通过提供Unix工具和命令、集成Http服务端,给用户提供Web升级页面。

9.如权利要求1所述的嵌入式设备升级方法,其特征在于,步骤S3中所述快速启动机制为Kexec机制。

10.一种嵌入式设备,包括处理器和存储器,所述存储器中存储有计算机程序,其特征在于,所述计算机程序可被处理器执行以实现如权利要求1-9任一项所述的方法的步骤。

...

【技术特征摘要】

1.一种嵌入式设备升级方法,其特征在于,包括如下步骤:

2.如权利要求1所述的嵌入式设备升级方法,其特征在于,步骤s3还包括如下步骤:基于校验算法对升级流程进行校验,在遇到固件数据写入错误时,识别异常固件,并对固件进行修复。

3.如权利要求2所述的嵌入式设备升级方法,其特征在于,还包括如下步骤:

4.如权利要求2或3所述的嵌入式设备升级方法,其特征在于,所述校验算法为非加密的哈希算法。

5.如权利要求4所述的嵌入式设备升级方法,其特征在于,对升级流程进行校验包括如下步骤:

6.如权利要求5所述的嵌入式设备升级方法,其特征在于,对正常流程进行校验包括如下步骤:

7.如权利要求1所述...

【专利技术属性】
技术研发人员:胡伟林张鹏黄文福杨胜覃春翔曾敏
申请(专利权)人:深圳市桑达无线通讯技术有限公司
类型:发明
国别省市:

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

1