一种空调器固件OTA升级方法技术

技术编号:37214906 阅读:43 留言:0更新日期:2023-04-20 23:03
本发明专利技术主要涉及程序升级技术领域,为了解决目前空调器固件只能升级用户程序,不能升级引导程序的问题,本发明专利技术提供一种空调器固件OTA升方法,在主控MCU中增设一个BOOT区,在空调器固件升级包中将BOOT程合并在USER程序前端,控制器在对空调器固件升级包进行拆分时,将BOOT程序存放至非上次进行OTA升级时存放BOOT程序的一个BOOT区,使本次存放BOOT程序的BOOT区作为程序启动区,通过软件复位的方式,使本次更新的BOOT程序作为启动程序,当BOOT程序出现问题时,可以进行远程修复,防止空调器升级失败成砖,无法使用。无法使用。无法使用。

【技术实现步骤摘要】
一种空调器固件OTA升级方法


[0001]本专利技术主要涉及程序升级
,尤其是涉及一种空调器固件OTA升级方法。

技术介绍

[0002]目前行业内,空调软件的OTA(Over

the

AirTechnology)升级方案为,将目标芯片的Flash资源划分为BOOT引导区、USER程序区、Data数据区、TEMP缓存区,当系统触发固件升级时,联网模块先将固件从服务器上下载到芯片的TEMP缓冲区,完成检验后再将TEMP缓冲区的新固件拷贝至USER区,替换空调原有固件,实现在线OTA升级。
[0003]空调固件的组成主要包括:用于升级的BOOT引导程序,以及用于控制空调功能运转的USER用户程序。从上述过程可以看出现有方案只能升级用户程序,不能升级引导程序。然而引导程序虽然短小,但在OTA升级过程中至关重要,一旦BOOT引导程序出现问题,将导致OTA升级失败,甚至USER程序丢失,设备变砖无法启动,空调无法使用。

技术实现思路

[0004]本专利技术所要解决的技术问题:
[0005]提供在一种空调器固件OTA升级方法,解决目前空调器固件只能升级用户程序,不能升级引导程序的问题。
[0006]本专利技术解决上述技术问题所采用的技术方案:
[0007]一种空调器固件OTA升级方法,主控MCU中包括第一BOOT区、USER区、TEMP区,在主控MCU中增设一个第二BOOT区,在空调器固件升级包中将BOOT程序合并在USER程序前端,主控MCU在对空调器固件升级包进行拆分时,将BOOT程序存放至非上次进行OTA升级时存放BOOT程序的一个BOOT区,使本次存放BOOT程序的BOOT区作为程序启动区,通过软件复位的方式,使本次更新的BOOT程序作为启动程序。
[0008]进一步的,所述方法包括以下步骤:
[0009]步骤1:制作空调器固件升级包,将BOOT程序合并在USER程序前端;
[0010]步骤2:将所述空调器固件升级包上传至云端升级服务管理平台的指定位置;
[0011]步骤3:云端升级服务管理平台检查到的新版本的空调器固件升级包后,触发固件升级流程,空调器中的通信模块将所述新版本的空调器固件升级包下载至通信模块MCU的BUFF缓存区,对所述新版本的空调器固件升级包进行校验,将通过检验的空调器固件升级包传输至主控MCU,主控MCU将所述空调器固件升级包中的USER程序和BOOT分别存放至指定位置;
[0012]步骤4:用存放在指定位置的更新的USER程序对原先的USER程序进行替换;通过软件复位的方式使本次存放在指定位置的更新的BOOT程序作为启动程序,使本次更新的BOOT程序生效。
[0013]进一步的,步骤3中所述云端升级服务管理平台中设置固定检查周期定期检查所述空调器固件升级包版本是否存在更新。
[0014]进一步的,步骤3所述主控MCU将所述空调器固件升级包中的USER程序和BOOT存放至指定位置具体包括,主控MCU将接收的空调器固件升级包中的BOOT程序和USER程序进行拆分,将BOOT程序存放至非上次进行OTA升级时存放BOOT程序的BOOT区,将USER程序升级文件存放至主控MCU的TEMP区。
[0015]进一步的,步骤3中主控MCU将空调器固件升级包中的USER程序升级文件和BOOT程序升级文件存放至指定位置后分别对所述BOOT程序和USER程序的完整性进行校验。
[0016]进一步的,步骤4所述替换当前USER程序具体包括,启动上次更新保存的BOOT程序,将TEMP区的新版本USER程序复制至USER区替换旧版的USER程序。
[0017]进一步的,步骤4所述使本次存放BOOT程序的BOOT区作为程序启动区,通过软件复位的方式使本次更新的BOOT程序作为启动程序具体包括,使用上次更新保存的BOOT程序执行检查逻辑,对比此次保存在另一个BOOT区的BOOT程序是否有更新,若不存在更新,跳转至USER程序,结束升级流程;若存在更新,使本次存放BOOT程序的BOOT区作为程序启动区,通过软件复位的方式使本次更新的BOOT程序作为启动程序,使本次更新的BOOT程序生效,最后跳转USER区。
[0018]进一步的,空调器固件升级完成之后,主控MCU将本次OTA升级的结果上报至所述通信模块,通信模块对所述MCU的BUFF缓存区缓存的空调器固件升级包进行清除;所述通信模块将本次OTA的升级结果上报至所述云端升级服务管理平台,所述云端升级服务管理平台对本次OTA升级的结果进行推送和展示。
[0019]本专利技术的有益效果:
[0020]本专利技术所述的一种空调器固件OTA升级方法,在不改变现有OTA升级方案,也不改变服务器和通信模块配置的情况下,通过在BOOT程序中设计一种特殊方法,同时整合升级包,把BOOT程序和USER程序进行编辑合并,实现空调器的用户程序和引导程序都可进行OTA升级或者单独对其中的一项进行升级,特别是当BOOT程序出现问题时,可以进行远程修复,防止空调器升级失败成砖,无法使用。
附图说明
[0021]图1为本专利技术
技术介绍
所述主控MCU的功能划分示意图。
[0022]图2为本专利技术
技术介绍
所述通信模块MCU的功能划分示意图。
[0023]图3为本专利技术所述固件版本检查流程图。
[0024]图4为本专利技术所述通信模块MCU固件下载流程图。
[0025]图5为控制器升级BOOT程序流程图。
具体实施方式
[0026]本专利技术所述的一种空调器固件OTA升级方法,如图1所示,在主控MCU中增设一个BOOT区,将原有的BOOT区记为BOOTA,新增的BOOT区记为BOOTB,在空调器固件升级包中将BOOT程序合并在USER程序前端,在BOOT程序有更新时,执行BOOT交换程序,将更新的BOOT程序作为新的启动程序,通过软件复位的方式让更新的BOOT程序生效。
[0027]实施例:
[0028]在主控MCU中增设一个BOOT区,将原有的BOOT区记为BOOTA,新增的BOOT区记为
BOOTB;将BOOT程序合并在USER程序前端,打包为一个整体空调器升固件升级包,设计端在完成空调器控制程序设计后,将编译的目标文件转化为二进制文件。将所述空调器固件升级包上传至云端服务器管理平台对应机型下。
[0029]对所述固件升级包的版本进行检查,如图3所示,对空调器进行上电联网,云端升级服务管理平台会检查空调器固件现有的版本及服务器上最新的空调器固件版本,若存在新版本的空调器固件,则执行下载流程,否则,空调器可执行其余功能,同时,还通过在升级服务管理平台上设置程序定期检查服务器上的空调器固件升级包是否存在更新。
[0030]在云端升级服务管理平检测到有新版本的空调器固件升级包后,云端升级管理平台会触发固件升级流程,如图4所示,下载所述空调器固件升级包,通信模块(如图2所示)将新的空调器固件本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种空调器固件OTA升级方法,主控MCU中包括第一BOOT区、USER区、TEMP区,其特征在于,在主控MCU中增设一个第二BOOT区,在空调器固件升级包中将BOOT程序合并在USER程序前端,主控MCU在对空调器固件升级包进行拆分时,将BOOT程序存放至非上次进行OTA升级时存放BOOT程序的一个BOOT区,使本次存放BOOT程序的BOOT区作为程序启动区,通过软件复位的方式,使本次更新的BOOT程序作为启动程序。2.根据权利要求1所述的一种空调器固件OTA升级方法,其特征在于,所述方法包括以下步骤:步骤1:制作空调器固件升级包,将BOOT程序合并在USER程序前端;步骤2:将所述空调器固件升级包上传至云端升级服务管理平台的指定位置;步骤3:云端升级服务管理平台检查到的新版本的空调器固件升级包后,触发固件升级流程,空调器中的通信模块将所述新版本的空调器固件升级包下载至通信模块MCU的BUFF缓存区,对所述新版本的空调器固件升级包进行校验,将通过检验的空调器固件升级包传输至主控MCU,主控MCU将所述空调器固件升级包中的USER程序和BOOT分别存放至指定位置;步骤4:用存放在指定位置的更新的USER程序对原先的USER程序进行替换;通过软件复位的方式使本次存放在指定位置的更新的BOOT程序作为启动程序,使本次更新的BOOT程序生效。3.根据权利要求2所述的一种空调器固件OTA升级方法,其特征在于,步骤3中所述云端升级服务管理平台中设置固定检查周期定期检查所述空调器固件升级包版本是否存在更新。4.根据权利要求3所述的一种空调器固件OTA升级方法,其特征在于,步骤3所述主控MCU将所述空调器固件升级包中的USER程序和BOOT存放至指定位置具体包括,主控MCU将接收的空调器固件升...

【专利技术属性】
技术研发人员:谢鹏王剑任静
申请(专利权)人:四川长虹空调有限公司
类型:发明
国别省市:

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

1