嵌入式设备系统升级方法及其装置制造方法

文档序号:6535254阅读:222来源:国知局
嵌入式设备系统升级方法及其装置制造方法
【专利摘要】本发明提供了一种嵌入式设备系统升级方法及其装置,区别于通常操作系统启动后进行升级的方式,本发明通过在嵌入式设备系统一启动首先启动的启动加载程序(bootloader)来完成升级工作,即使在升级过程遭遇断电、错误等问题只要升级过程中不损坏启动加载程序(bootloader),都可以反复的安全地多次重启后重新启动升级流程进而确保升级的顺利完成。
【专利说明】嵌入式设备系统升级方法及其装置
【技术领域】
[0001]本发明涉及嵌入式系统处理领域,尤其是指一种嵌入式设备系统升级方法及其装置。
【背景技术】
[0002]现有的嵌入式系统均由多个部分组成,包括启动加载程序(bootloader)、内核、根文件系统和应用程序,这四个部分通常在单独的分区中,现有的嵌入式设备需要升级时,通常是在系统启动后进行,也就是在操作系统起来后进行升级操作。这种方式在对系统进行升级时,会依次擦除这四个分区,并将升级固件写到对应的分区。这种全系统升级方式的主要问题在于升级时间比较长,可能长达数十秒至数分钟,如果在这过程嵌入式设备碰到突然掉电或其他原因导致升级失败,整个系统将无法恢复,需要生产厂家重新烧写系统。对于放在郊外或高处的嵌入式设备(例如各种监控设备)而言,系统因升级失败而导致的修复成本将更为高昂。

【发明内容】

[0003]本发明的目的在于克服了上述缺陷,提供一种安全可靠的嵌入式设备系统升级方法及其装置。
[0004]本发明的目的是这样实现的:一种嵌入式设备系统升级方法,它包括步骤,
[0005]A)、加载升级包至升级分区,将获取的升级包存储于升级分区中;
[0006]B)、于升级分区中创建升级标识;
[0007]C)、系统重启;
[0008]D)、启动启动加载程序;
[0009]E)、于启动加载程序中挂载升级分区;
[0010]F)、启动加载程序检查升级分区中是否存在升级标识,若是则继续步骤,否则正常启动系统;
[0011]G)、对升级分区中的升级包进行校验,若校验成功则继续步骤;
[0012]H)、根据升级包内容进行系统升级;
[0013]I)、判断是否升级成功,否则返回步骤C,是则继续步骤;
[0014]J)、清除升级分区中的升级标识,转回步骤K。
[0015]上述方法中,所述步骤A中,通过外接存储设备或网络方式将升级包上传至升级分区中保存;步骤A后还包括对升级包进行校验,校验有效继续步骤的步骤;
[0016]上述方法中,所述升级分区中的升级标识为放置于升级分区中的升级标识文件;
[0017]上述方法中,所述升级包包括启动加载程序升级文件、内核升级文件、根文件系统升级文件、应用程序升级文件中的一种或者多种组合;
[0018]上述方法中,所述步骤J后还包括,根据需要删除或保留升级分区中的升级包。
[0019]本发明还涉及一种嵌入式设备系统升级装置,它包括:[0020]预备模块,用于加载升级包至升级分区,将获取的升级包存储于升级分区中而后转到标识创建模块;
[0021]标识创建模块,用于在升级分区中创建升级标识而后转到重启模块;
[0022]重启模块,用于使得嵌入式设备系统重启,而后转到启动模块;
[0023]启动模块,用于在嵌入式设备系统启动时启动加载程序,而后转到挂载模块;
[0024]挂载模块,用于在启动加载程序中挂载升级分区而后转到判断模块;
[0025]判断模块,用于启动加载程序检查升级分区中是否存在升级标识,若是则转到二次校验模块,否则正常启动系统;
[0026]二次校验模块,用于对升级分区中的升级包进行校验,若校验成功则转到升级模块;
[0027]升级模块,用于根据升级包内容进行系统升级,而后转到升级判断模块;
[0028]升级判断模块,用于判断是否升级成功,否则转回重启模块,是则转到清除模块;
[0029]清除模块,用于清除升级分区中的升级标识而后转到重启模块;
[0030]上述中,所述预备模块还用于通过外接存储设备或网络方式将升级包上传至升级分区中保存;所述预备模块通过校验模块转到标识创建模块,所述标识创建模块用于对升级包进行校验,校验有效则转到标识创建模块;
[0031 ] 上述中,所述升级分区中的升级标识为放置于升级分区中的升级标识文件;
[0032]上述中,所述升级包包括启动加载程序升级文件、内核升级文件、根文件系统升级文件、应用程序升级文件中的一种或者多种组合;
[0033]上述中,所述清除模块通过删除模块转到重启模块,所述删除模块用于根据需要删除或保留升级分区中的升级包。
[0034]区别于通常操作系统启动后进行升级的方式,本发明的有益效果在于在嵌入式设备系统一启动首先启动的启动加载程序(bootloader)来完成升级工作,即使在升级过程遭遇断电、错误等问题只要升级过程中不损坏启动加载程序(bootloader),都可以反复的安全地多次重启后重新启动升级流程进而确保升级的顺利完成。
【专利附图】

【附图说明】
[0035]下面结合附图详述本发明的具体结构
[0036]图1为本发明的方法流程示意图。
【具体实施方式】
[0037]为详细说明本发明的技术内容、构造特征、所实现目的及效果,以下结合实施方式并配合附图详予说明。
[0038]请参阅图1,本发明涉及一种嵌入式设备系统升级方法,它包括步骤,
[0039]A)、加载升级包至升级分区,将获取的升级包存储于升级分区中;
[0040]B)、于升级分区中创建升级标识;
[0041]C)、系统重启;
[0042]D)、启动启动加载程序;
[0043]E)、于启动加载程序中挂载升级分区;[0044]本步骤中通过bootloader中有相关的命令可以挂载该升级分区。
[0045]F)、启动加载程序检查升级分区中是否存在升级标识,若是则继续步骤,否则正常启动系统;
[0046]G)、对升级分区中的升级包进行校验,若校验成功则继续步骤;
[0047]本步骤中对升级包的校验主要是校验升级包的完整性和正确性,防止升级包从外接存储设备或网络下载到升级分区的过程中出现错误,如果将有问题的升级包写入到系统中,将导致系统无法启动。
[0048]H)、根据升级包内容进行系统升级;
[0049]跟进一步最佳的,本步骤在升级时,会先分析升级包,若升级包中存在bootloader,则bootloader会最后升级,如果不存在bootloader,则升级顺序无关紧要,只要其中一个步骤失败则会全部重新烧写即可。
[0050]I)、判断是否升级成功,否则返回步骤C,是则继续步骤;
[0051]J)、清除升级分区中的升级标识,转回步骤K。
[0052]区别于通常操作系统启动后进行升级的方式,本发明方法通过在嵌入式设备系统一启动首先启动的启动加载程序(bootloader)来完成升级工作,即使在升级过程遭遇断电、错误等问题只要升级过程中不损坏启动加载程序(bootloader),都可以反复的安全地多次重启后重新启动升级流程进而确保升级的顺利完成。
[0053]而且,将升级流程放于启动加载程序(bootloader)中还有个好处,因为bootloader通常不会升级,或极少需要升级,因此在不升级bootloader的情况下,升级的引导即不会被破坏,可以安全地对系统进行升级而不会导致系统因掉电等原因导致升级失败。而即使需要升级bootloader,bootloader程序又有容量很小的优点,整个bootloader的升级烧写过程通常只有I到2秒。烧写时间短,比起原有在操作系统中升级需要用数数十秒至数分钟而言,在这段时间出现掉电的可能性就小,所以升级失败导致系统损坏的可能性就很小,因此整个设备的升级过程的可靠度大为提升。
[0054]作为一实施例,上述方法中,所述步骤A中,通过外接存储设备(如USB或者存储卡等方式)或网络方式将升级包上传至升级分区中保存;步骤A后还包括对升级包进行校验,校验有效继续步骤的步骤,该步骤可校验升级包是否完整有效没有错误。校验方法作为一实施例可采用MD5校验算法,MD5算法是将整个升级包进行校验,校验后将得到一组校验码,然后将这组校验码保存在升级包的尾部,下载到设备后,设备将读取这组校验码,然后对升级包进行MD5校验,校验结果将与之前读出的校验码进行比较,如果相同则证明升级包完整有效且没有错误,如果不同则说明升级包有问题。
[0055]可见,采用本升级方法的嵌入式设备支持多种本地、远程传送升级包的升级方法,而且通过增加预先升级包的校验,可避免后续因升级包文件接收不完整导致的升级失败的问题。
[0056]作为一实施例,上述方法中,所述升级分区中的升级标识为放置于升级分区中的升级标识文件。本专利方案中的升级标识的作用是用于标示是否进入升级流程,因此标识的方式可由多种,最简单的是在升级分区中生成一个升级标识文件,后续在升级过程中若读取到该文件则标识需要升级。这么做最简单。当然也可以通过在升级分区的分区表中添加专门标识来实现该功能,不过没有设置文件那么便捷。[0057]作为一实施例,上述方法中,所述升级包包括启动加载程序升级文件、内核升级文件、根文件系统升级文件、应用程序升级文件中的一种或者多种组合。对应升级包包括的不同文件,该升级包执行可以对整个系统的bootloader、内核、文件系统和应用程序等实现升级工作。
[0058]作为一实施例,所述步骤J后还包括,根据需要删除或保留升级分区中的升级包。本步骤可有多种处理方式,比如在升级包中加入特定的字段或配置文件用于识别是否保留升级分区中的升级包。增加本步骤后,可以判别设定的需求,从而对升级分区从存放的升级包进行保留以便后用,或者删除预防误操作。
[0059]本发明还涉及一种嵌入式设备系统升级装置,它包括:
[0060]预备模块,用于加载升级包至升级分区,将获取的升级包存储于升级分区中而后转到标识创建模块;
[0061]标识创建模块,用于在升级分区中创建升级标识而后转到重启模块;
[0062]重启模块,用于使得嵌入式设备系统重启,而后转到启动模块;
[0063]启动模块,用于在嵌入式设备系统启动时启动加载程序,而后转到挂载模块;
[0064]挂载模块,用于在启动加载程序中挂载升级分区而后转到判断模块;
[0065]判断模块,用于启动加载程序检查升级分区中是否存在升级标识,若是则转到二次校验模块,否则正常启动系统;
[0066]二次校验模块,用于对升级分区中的升级包进行校验,若校验成功则转到升级模块;
[0067]升级模块,用于根据升级包内容进行系统升级,而后转到升级判断模块;
[0068]升级判断模块,用于判断是否升级成功,否则转回重启模块,是则转到清除模块;
[0069]清除模块,用于清除升级分区中的升级标识而后转到重启模块;
[0070]作为一实施例,上述中,所述预备模块还用于通过外接存储设备或网络方式将升级包上传至升级分区中保存;所述预备模块通过校验模块转到标识创建模块,所述标识创建模块用于对升级包进行校验,校验有效则转到标识创建模块。
[0071]作为一实施例,上述中,所述升级分区中的升级标识为放置于升级分区中的升级标识文件;
[0072]作为一实施例,上述中,所述升级包包括启动加载程序升级文件、内核升级文件、根文件系统升级文件、应用程序升级文件中的一种或者多种组合。
[0073]作为一实施例,上述中,所述清除模块通过删除模块转到重启模块,所述删除模块用于根据需要删除或保留升级分区中的升级包。
[0074]本装置的有益效果如上方法所述,在此不做冗述。
[0075]以上所述仅为本发明的实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的【技术领域】,均同理包括在本发明的专利保护范围内。
【权利要求】
1.一种嵌入式设备系统升级方法,其特征在于:它包括步骤, A)、加载升级包至升级分区,将获取的升级包存储于升级分区中; B)、于升级分区中创建升级标识; C)、系统重启; D)、启动启动加载程序; E)、于启动加载程序中挂载升级分区; F)、启动加载程序检查升级分区中是否存在升级标识,若是则继续步骤,否则正常启动系统; G)、对升级分区中的升级包进行校验,若校验成功则继续步骤; H)、根据升级包内容进行系统升级; I)、判断是否升级成功,否则返回步骤C,是则继续步骤; J)、清除升级分区中的升级标识,转回步骤C。
2.如权利要求1所述的嵌入式设备系统升级方法,其特征在于:所述步骤A中,通过外接存储设备或网络方式将升级包上传至升级分区中保存;步骤A后还包括对升级包进行校验,校验有效继续步骤的步骤。
3.如权利要求1所述的嵌入式设备系统升级方法,其特征在于:所述升级分区中的升级标识为放置于升级分区中的升级标识文件。
4.如权利要求1所述的嵌入式设备系统升级方法,其特征在于:所述升级包包括启动加载程序升级文件、内核升级文件、根文件系统升级文件、应用程序升级文件中的一种或者多种组合。
5.如权利要求1所述的嵌入式设备系统升级方法,其特征在于:所述步骤J后还包括,根据需要删除或保留升级分区中的升级包。
6.一种嵌入式设备系统升级装置,其特征在于:它包括步骤, 预备模块,用于加载升级包至升级分区,将获取的升级包存储于升级分区中而后转到标识创建模块; 标识创建模块,用于在升级分区中创建升级标识而后转到重启模块; 重启模块,用于使得嵌入式设备系统重启,而后转到启动模块; 启动模块,用于在嵌入式设备系统启动时启动加载程序,而后转到挂载模块; 挂载模块,用于在启动加载程序中挂载升级分区而后转到判断模块; 判断模块,用于启动加载程序检查升级分区中是否存在升级标识,若是则转到二次校验模块,否则正常启动系统; 二次校验模块,用于对升级分区中的升级包进行校验,若校验成功则转到升级模块; 升级模块,用于根据升级包内容进行系统升级,而后转到升级判断模块; 升级判断模块,用于判断是否升级成功,否则转回重启模块,是则转到清除模块; 清除模块,用于清除升级分区中的升级标识而后转到重启模块。
7.如权利要求6所述的嵌入式设备系统升级装置,其特征在于:所述预备模块还用于通过外接存储设备或网络方式将升级包上传至升级分区中保存;所述预备模块通过校验模块转到标识创建模块,所述标识创建模块用于对升级包进行校验,校验有效则转到标识创建模块。
8.如权利要求6所述的嵌入式设备系统升级装置,其特征在于:所述升级分区中的升级标识为放置于升级分区中的升级标识文件。
9.如权利要求6所述的嵌入式设备系统升级装置,其特征在于:所述升级包包括启动加载程序升级文件、内核升级文件、根文件系统升级文件、应用程序升级文件中的一种或者多种组合。
10.如权利要求6所述的嵌入式设备系统升级装置,其特征在于:所述清除模块通过删除模块转到重启模块`,所述删除模块用于根据需要删除或保留升级分区中的升级包。
【文档编号】G06F9/445GK103699421SQ201410008347
【公开日】2014年4月2日 申请日期:2014年1月8日 优先权日:2014年1月8日
【发明者】刘敬文 申请人:金三立视频科技(深圳)有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1