一种嵌入式系统的软件升级方法及嵌入式系统技术方案

技术编号:19592892 阅读:59 留言:0更新日期:2018-11-28 04:43
本发明专利技术实施例提供一种嵌入式系统的软件升级方法及嵌入式系统,用以解决现有的嵌入式系统进行软件升级的方式存在成本高、容易因为断电导致升级失败的技术问题。所述嵌入式系统包括非易失性存储器,该非易失性存储器配置有引导区、运行区和下载区,其中,引导区用于存储升级执行程序,运行区用于存储应用层程序,下载区用于存储升级压缩包,所述方法包括:在确定需要执行升级操作时,通过运行引导区存储的升级执行程序控制执行升级操作,其中,执行升级操作包括:对下载区存储的升级压缩包进行解压缩以获得新版本应用层程序,并使用新版本应用层程序覆盖运行区存储的应用层程序。

【技术实现步骤摘要】
一种嵌入式系统的软件升级方法及嵌入式系统
本专利技术涉及电子
,尤其涉及一种嵌入式系统的软件升级方法及嵌入式系统。
技术介绍
单片机等嵌入式系统通常应用在中小型产品上,其内部通常集成有非易失性存储器(如闪存Flash)和内存(如随机存取存储器RAM)。出于成本的考虑,嵌入式系统内的非易失性存储器和内存的存储资源非常有限。嵌入式系统中,应用层程序通常存储在非易失性存储器中,以非易失性存储器采用Flash为例,现有技术中对嵌入式系统的应用层程序进行升级通常有如下的几种方式:方式1:为嵌入式系统配备主、备两块Flash,先升级备Flash中的应用层程序,然后切换主、备Flash,将原来的备Flash切换为主Flash,将原来的主Flash切换为备Flash;方式2:先将Flash内存储的应用层程序加载到内存中运行,然后直接下载新版本应用层程序写入Flash中;方式3:先下载新版本应用层程序到内存中运行,然后复制内存中的新版本应用层程序到Flash中。然而,通过实际使用发现,上述的方式1由于需要额外配备Flash,增加了嵌入式系统的成本,上述的方式2、3中,由于需要用内存加载应用层程序,因而需要采用存储量较大的内存,成本较高,并且,上述的方式2、3中,若升级过程中发生断电,则内存中的数据会丢失,导致软件无法启动或升级文件下载失败。可见,现有的嵌入式系统进行软件升级的方式存在成本高、容易因为断电导致升级失败的技术问题。
技术实现思路
本专利技术实施例提一种嵌入式系统的软件升级方法及嵌入式系统供,用以解决现有的嵌入式系统进行软件升级的方式存在成本高、容易因为断电导致升级失败的技术问题。第一方面,提供一种嵌入式系统的软件升级方法,所述嵌入式系统包括非易失性存储器,所述非易失性存储器配置有引导区、运行区和下载区,所述引导区用于存储升级执行程序,所述运行区用于存储应用层程序,所述下载区用于存储升级压缩包,所述方法包括:在确定需要执行升级操作时,通过运行所述引导区存储的所述升级执行程序控制执行所述升级操作,其中,所述执行所述升级操作包括:对所述下载区存储的所述升级压缩包进行解压缩以获得新版本应用层程序,并使用所述新版本应用层程序覆盖所述运行区存储的应用层程序。在一种可能的实现方式中,所述嵌入式系统还包括内存,所述内存配置有用于在所述嵌入式系统内实现全局缓冲的全局缓冲区,对所述下载区存储的所述升级压缩包进行解压缩以获得新版本应用层程序,并使用所述新版本应用层程序覆盖所述运行区存储的应用层程序,包括:以预设的解压缩数据量,对所述下载区存储的升级压缩包分次进行解压缩,其中,各次解压缩获得的数据轮流存储在所述全局缓冲区;在每次解压缩完成后,将所述全局缓冲区存储的数据覆盖式存储至所述运行区,以在所述运行区中组成所述新版本应用层程序。在一种可能的实现方式中,所述非易失性存储器还配置有升级信息区,所述升级信息区用于存储所述升级压缩包的校验信息,所述升级信息区存储的校验信息是下载所述升级压缩包至所述下载区时由所述嵌入式系统确定的,所述执行所述升级操作还包括:在对所述下载区存储的所述升级压缩包进行解压缩以获得新版本应用层程序之前,确定所述升级压缩包中记录的校验信息是否与所述升级信息区存储的校验信息一致;若否,则停止执行所述升级操作。在一种可能的实现方式中,所述升级信息区还用于存储升级指示信息,所述升级指示信息用于指示是否需要执行所述升级操作,在所述通过运行所述引导区存储的所述升级执行程序执行所述升级操作之前,所述方法还包括:接收升级请求,并根据所述升级请求下载所述升级压缩包至所述下载区;在下载完成所述升级压缩包后,调整所述升级指示信息为指示需要执行所述升级操作,以在所述嵌入式系统启动时根据所述升级指示信息确定需要执行所述升级操作。第二方面,提供一种嵌入式系统,所述嵌入式系统包括非易失性存储器和处理器,所述非易失性存储器配置有引导区、运行区和下载区,所述引导区用于存储升级执行程序,所述运行区用于存储应用层程序,所述下载区用于存储升级压缩包;其中,所述处理器在确定需要执行升级操作时,通过运行所述引导区存储的所述升级执行程序控制执行所述升级操作,所述处理器执行所述升级操作包括:对所述下载区存储的所述升级压缩包进行解压缩以获得新版本应用层程序,并使用所述新版本应用层程序覆盖所述运行区存储的应用层程序。在一种可能的实现方式中,所述嵌入式系统还包括内存,所述内存配置有用于在所述嵌入式系统内实现全局缓冲的全局缓冲区,所述处理器通过运行所述引导区存储的所述升级执行程序控制执行所述升级操作,包括:以预设的解压缩数据量,对所述下载区存储的升级压缩包分次进行解压缩,其中,各次解压缩获得的数据轮流存储在所述全局缓冲区;在每次解压缩完成后,将所述全局缓冲区存储的数据覆盖式存储至所述运行区,以在所述运行区中组成所述新版本应用层程序。在一种可能的实现方式中,所述非易失性存储器还配置有升级信息区,所述升级信息区用于存储所述升级压缩包的校验信息,所述升级信息区存储的校验信息是下载所述升级压缩包至所述下载区时由所述嵌入式系统确定的,所述处理器通过运行所述引导区存储的所述升级执行程序控制执行所述升级操作,还包括:在对所述下载区存储的所述升级压缩包进行解压缩以获得新版本应用层程序之前,确定所述升级压缩包中记录的校验信息是否与所述升级信息区存储的校验信息一致;若否,则停止执行所述升级操作。在一种可能的实现方式中,所述升级信息区还用于存储升级指示信息,所述升级指示信息用于指示是否需要执行所述升级操作,所述处理器还用于在通过运行所述引导区存储的所述升级执行程序控制执行所述升级操作之前,通过运行所述运行区存储的所述应用层程序控制执行:接收升级请求,并根据所述升级请求下载所述升级压缩包至所述下载区;在下载完成所述升级压缩包后,调整所述升级指示信息为指示需要执行所述升级操作,以在所述嵌入式系统运行所述升级执行程序引导启动时根据所述升级指示信息确定需要执行所述升级操作。第三方面,提供一种嵌入式系统,所述嵌入式系统包括非易失性存储器,所述非易失性存储器配置有引导区、运行区和下载区,其中,所述引导区配置有升级执行模块,所述运行区配置有应用层模块,所述下载区用于存储升级压缩包,所述升级执行模块用于:在确定需要执行升级操作时,执行所述升级操作,其中,执行所述升级操作包括:对所述下载区存储的所述升级压缩包进行解压缩以获得新版本应用层模块,并使用所述新版本应用层模块更新所述运行区配置的应用层模块。在一种可能的实现方式中,所述嵌入式系统还包括内存,所述内存配置有用于在所述嵌入式系统内实现全局缓冲的全局缓冲区,所述升级执行模块具体用于:以预设的解压缩数据量,对所述下载区存储的升级压缩包分次进行解压缩,其中,各次解压缩获得的数据轮流存储在所述全局缓冲区;在每次解压缩完成后,将所述全局缓冲区存储的数据覆盖式存储至所述运行区,以在所述运行区中组成所述新版本应用层模块。在一种可能的实现方式中,所述非易失性存储器还配置有升级信息区,所述升级信息区用于存储所述升级压缩包的校验信息,所述升级信息区存储的校验信息是下载所述升级压缩包至所述下载区时由所述嵌入式系统确定的,所述升级执行模块还用于:在对所述下载区存储的所本文档来自技高网...

【技术保护点】
1.一种嵌入式系统的软件升级方法,所述嵌入式系统包括非易失性存储器,其特征在于,所述非易失性存储器配置有引导区、运行区和下载区,所述引导区用于存储升级执行程序,所述运行区用于存储应用层程序,所述下载区用于存储升级压缩包,所述方法包括:在确定需要执行升级操作时,通过运行所述引导区存储的所述升级执行程序控制执行所述升级操作,其中,所述执行所述升级操作包括:对所述下载区存储的所述升级压缩包进行解压缩以获得新版本应用层程序,并使用所述新版本应用层程序覆盖所述运行区存储的应用层程序。

【技术特征摘要】
1.一种嵌入式系统的软件升级方法,所述嵌入式系统包括非易失性存储器,其特征在于,所述非易失性存储器配置有引导区、运行区和下载区,所述引导区用于存储升级执行程序,所述运行区用于存储应用层程序,所述下载区用于存储升级压缩包,所述方法包括:在确定需要执行升级操作时,通过运行所述引导区存储的所述升级执行程序控制执行所述升级操作,其中,所述执行所述升级操作包括:对所述下载区存储的所述升级压缩包进行解压缩以获得新版本应用层程序,并使用所述新版本应用层程序覆盖所述运行区存储的应用层程序。2.如权利要求1所述的方法,其特征在于,所述嵌入式系统还包括内存,所述内存配置有用于在所述嵌入式系统内实现全局缓冲的全局缓冲区,对所述下载区存储的所述升级压缩包进行解压缩以获得新版本应用层程序,并使用所述新版本应用层程序覆盖所述运行区存储的应用层程序,包括:以预设的解压缩数据量,对所述下载区存储的升级压缩包分次进行解压缩,其中,各次解压缩获得的数据轮流存储在所述全局缓冲区;在每次解压缩完成后,将所述全局缓冲区存储的数据覆盖式存储至所述运行区,以在所述运行区中组成所述新版本应用层程序。3.如权利要求1或2所述的方法,其特征在于,所述非易失性存储器还配置有升级信息区,所述升级信息区用于存储所述升级压缩包的校验信息,所述升级信息区存储的校验信息是下载所述升级压缩包至所述下载区时由所述嵌入式系统确定的,所述执行所述升级操作还包括:在对所述下载区存储的所述升级压缩包进行解压缩以获得新版本应用层程序之前,确定所述升级压缩包中记录的校验信息是否与所述升级信息区存储的校验信息一致;若否,则停止执行所述升级操作。4.如权利要求3所述的方法,其特征在于,所述升级信息区还用于存储升级指示信息,所述升级指示信息用于指示是否需要执行所述升级操作,在所述通过运行所述引导区存储的所述升级执行程序执行所述升级操作之前,所述方法还包括:接收升级请求,并根据所述升级请求下载所述升级压缩包至所述下载区;在下载完成所述升级压缩包后,调整所述升级指示信息为指示需要执行所述升级操作,以在所述嵌入式系统启动时根据所述升级指示信息确定需要执行所述升级操作。5.一种嵌入式系统,所述嵌入式系统包括非易失性存储器和处理器,其特征在于,所述非易失性存储器配置有引导区、运行区和下载区,所述引导区用于存储升级执行程序,所述运行区用于存储应用层程序,所述下载区用于存储升级压缩包;其中,所述处理器在确定需要执行升级操作时,通过运行所述引导区存储的所述升级执行程序控制执行所述升级操作,所述处理器执行所述升级操作包括:对所述下载区存储的所述升级压缩包进行解压缩以获得...

【专利技术属性】
技术研发人员:王冰峰
申请(专利权)人:京信通信系统中国有限公司京信通信系统广州有限公司京信通信技术广州有限公司天津京信通信系统有限公司
类型:发明
国别省市:广东,44

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

1