一种通信模组固件升级系统及方法与流程

    技术2025-06-09  48


    本发明涉及通信模组,尤其涉及一种通信模组固件升级系统及方法。


    背景技术:

    1、随着物联网的发展,通信模组的应用越来越广泛,当通信模组部署到应用场景后,由于功能更新或修复缺陷,常常需要使用fota(firmware over-the-air,固件远程升级)对固件进行升级。通常通信模组内部存储单元空间较小,使用对通信模组内部存储单元空间需求较小的fota方法对产品有着非常重大的影响。然而,当前fota对通信模组内部存储单元空间的要求较大,通常需要单独留出一段用于fota功能的存储单元空间,在fota过程中同时保留新旧固件,以规避新固件存在异常时无法回退到旧固件运行的风险,或需要预留能够存放差分升级包的存储单元空间,但是理论上差分升级包需要的最大空间与固件的空间一致。并且,这部分预留的存储单元空间仅在fota时可用,非fota时该部分空间无法被利用,造成资源浪费。


    技术实现思路

    1、本发明所要解决的技术问题在于,提供一种通信模组固件升级系统及方法,无需预留出单独用于存储fota的升级包或升级前固件的存储空间,即可实现在保证升级可靠性的基础上,节省fota使用的存储空间。

    2、为了实现上述目的,本发明实施例提供了一种通信模组固件升级系统,包括存储单元和处理器;所述存储单元包括第一存储单元以及第二存储单元;

    3、所述第一存储单元包括系统升级模块固件存储单元和非系统升级模块固件存储单元;其中,所述系统升级模块固件存储单元用于存储系统升级模块固件,所述非系统升级模块固件存储单元用于存储非系统升级模块固件;所述系统升级模块固件和所述非系统升级模块固件组成系统固件;

    4、所述第二存储单元包括文件系统存储单元以及系统运行ram;其中,所述文件系统存储单元用于存储固件远程升级fota信息,且所述文件系统存储单元支持掉电保存;

    5、所述处理器用于根据所述fota信息对通信模组固件进行升级。

    6、作为上述方案的改进,所述存储单元还包括第三存储单元,所述第三存储单元用于存储用户app固件;所述用户app固件的最大占用空间不大于所述第三存储单元的大小。

    7、作为上述方案的改进,所述系统升级模块固件的占用空间小于所述非系统升级模块固件的占用空间;

    8、所述系统升级模块固件的最大占用空间不大于所述系统升级模块固件存储单元的大小;

    9、所述非系统升级模块固件的最大占用空间不大于所述非系统升级模块固件存储单元的大小。

    10、作为上述方案的改进,所述存储单元包括运行内存和存储内存;所述第一存储单元位于所述运行内存中,所述第三存储单元位于所述存储内存中;

    11、当运行所述第三存储单元中的用户app固件时,将所述用户app固件从所述第三存储单元所处的存储内存中拷贝加载至所述运行内存中;其中,所述第一存储单元与所述第三存储单元所占的空间总和不大于所述运行内存的空间。

    12、作为上述方案的改进,所述系统固件支持第一运行方式、第二运行方式以及第三运行方式;

    13、所述第一运行方式中系统仅运行所述系统升级模块固件;

    14、所述第二运行方式中系统先后运行所述系统升级模块固件和所述非系统升级模块固件;

    15、所述第三运行方式中系统先后运行所述系统升级模块固件、所述非系统升级模块固件和所述用户app固件。

    16、本发明实施例还提供了一种通信模组固件升级方法,应用于上述任意一项所述的通信模组固件升级系统,所述方法包括:

    17、根据所述fota信息中的升级标志位以及所述系统固件的运行方式,确定待升级固件;

    18、若所述待升级固件为所述系统固件,则执行第一升级方式;

    19、若所述待升级固件为所述用户app固件,则执行第二升级方式;

    20、若所述待升级固件为所述系统固件和所述用户app固件,则执行第三升级方式。

    21、作为上述方案的改进,所述第一升级方式具体为:

    22、删除所述非系统升级模块固件存储单元的内容释放空间,用于存储所述系统升级模块固件的升级包;

    23、根据所述fota信息中的升级标志位、升级版本下载协议以及升级版本升级数据,下载所述系统升级模块固件的升级包,并在本地和服务器进行双重校验;

    24、若双重校验成功,则根据所述系统升级模块固件的升级包对所述系统升级模块固件进行升级,并更新升级过程中间数据;若双重校验失败,则停止本次升级,根据所述fota信息中的当前版本下载协议和当前版本还原数据,下载校验当前版本的非系统升级模块固件,并将当前版本的非系统升级模块固件覆盖写入至所述非系统升级模块固件存储单元;

    25、所述系统升级模块固件升级成功后,下载校验所述非系统升级模块固件的升级包,并将所述非系统升级模块固件的升级包覆盖写入至所述非系统升级模块固件存储单元;

    26、根据所述非系统升级模块固件的升级包对所述非系统升级模块固件进行升级,并更新升级过程中间数据。

    27、作为上述方案的改进,所述第二升级方式具体为:

    28、删除所述第三存储单元的内容释放空间,用于存储所述用户app固件的升级包;

    29、根据所述fota信息中的升级标志位、升级版本下载协议以及升级版本升级数据,下载所述用户app固件的升级包,并在本地进行校验;

    30、若校验成功,则根据所述用户app固件的升级包对所述用户app固件进行升级,并更新升级过程中间数据;若校验失败,则停止本次升级,根据所述fota信息中的当前版本下载协议和当前版本还原数据,下载校验当前版本的用户app固件,并将当前版本的用户app固件覆盖写入至所述第三存储单元。

    31、作为上述方案的改进,所述第三升级方式具体为:

    32、删除所述非系统升级模块固件存储单元的内容释放空间,用于存储所述系统升级模块固件的升级包;

    33、根据所述fota信息中的升级标志位、升级版本下载协议以及升级版本升级数据,下载所述系统升级模块固件的升级包,并在本地和服务器进行双重校验;

    34、若双重校验成功,则根据所述系统升级模块固件的升级包对所述系统升级模块固件进行升级,并更新升级过程中间数据;若双重校验失败,则停止本次升级,根据所述fota信息中的当前版本下载协议和当前版本还原数据,下载校验当前版本的非系统升级模块固件,并将当前版本的非系统升级模块固件覆盖写入至所述非系统升级模块固件存储单元;

    35、所述系统升级模块固件升级成功后,下载校验所述非系统升级模块固件的升级包,并将所述非系统升级模块固件的升级包覆盖写入至所述非系统升级模块固件存储单元;

    36、根据所述非系统升级模块固件的升级包对所述非系统升级模块固件进行升级,并更新升级过程中间数据;

    37、删除所述第三存储单元的内容释放空间,用于存储所述用户app固件的升级包;

    38、根据所述fota信息中的升级标志位、升级版本下载协议以及升级版本升级数据,下载所述用户app固件的升级包,并在本地进行校验;

    39、若校验成功,则根据所述用户app固件的升级包对所述用户app固件进行升级,并更新升级过程中间数据;若校验失败,则返回步骤删除所述第三存储单元的内容释放空间,用于存储所述用户app固件的升级包。

    40、作为上述方案的改进,所述系统升级模块固件采用差分升级方式或全量升级方式;所述非系统升级模块固件和所述用户app固件均采用无备份的全量升级方式。

    41、相对于现有技术,本发明实施例提供的一种通信模组固件升级系统及方法的有益效果在于:无需预留出单独用于存储fota的升级包或升级前固件的存储空间,即可实现在保证升级可靠性的基础上,节省fota使用的存储空间。在无预留fota存储空间的情况下,升级失败后仍可还原成升级前版本的固件,规避了升级失败情况下通信模组故障的风险。


    技术特征:

    1.一种通信模组固件升级系统,其特征在于,包括存储单元和处理器;所述存储单元包括第一存储单元以及第二存储单元;

    2.如权利要求1所述的通信模组固件升级系统,其特征在于,所述存储单元还包括第三存储单元,所述第三存储单元用于存储用户app固件;所述用户app固件的最大占用空间不大于所述第三存储单元的大小。

    3.如权利要求2所述的通信模组固件升级系统,其特征在于,所述系统升级模块固件的占用空间小于所述非系统升级模块固件的占用空间;

    4.如权利要求3所述的通信模组固件升级系统,其特征在于,所述存储单元包括运行内存和存储内存;所述第一存储单元位于所述运行内存中,所述第三存储单元位于所述存储内存中;

    5.如权利要求2所述的通信模组固件升级系统,其特征在于,所述系统固件支持第一运行方式、第二运行方式以及第三运行方式;

    6.一种通信模组固件升级方法,应用于如权利要求2至5中任意一项所述的通信模组固件升级系统,其特征在于,所述方法包括:

    7.如权利要求6所述的通信模组固件升级方法,其特征在于,所述第一升级方式具体为:

    8.如权利要求6所述的通信模组固件升级方法,其特征在于,所述第二升级方式具体为:

    9.如权利要求6所述的通信模组固件升级方法,其特征在于,所述第三升级方式具体为:

    10.如权利要求7至9中任意一项所述的通信模组固件升级方法,其特征在于,所述系统升级模块固件采用差分升级方式或全量升级方式;所述非系统升级模块固件和所述用户app固件均采用无备份的全量升级方式。


    技术总结
    本发明公开了一种通信模组固件升级系统及方法,所述通信模组固件升级系统包括存储单元和处理器;所述存储单元包括第一存储单元以及第二存储单元;所述第一存储单元包括系统升级模块固件存储单元和非系统升级模块固件存储单元;其中,所述系统升级模块固件存储单元用于存储系统升级模块固件,所述非系统升级模块固件存储单元用于存储非系统升级模块固件;所述第二存储单元包括文件系统存储单元以及系统运行RAM;其中,所述文件系统存储单元用于存储固件远程升级FOTA信息;所述处理器用于根据FOTA信息对通信模组固件进行升级。本发明无需预留出单独用于存储FOTA的升级包或升级前固件的存储空间,即可实现在保证升级可靠性的基础上,节省FOTA使用的存储空间。

    技术研发人员:王鹏,林紫微,唐伟,张雄威,秦至希
    受保护的技术使用者:中移物联网有限公司
    技术研发日:
    技术公布日:2024/10/24
    转载请注明原文地址:https://symbian.8miu.com/read-32116.html

    最新回复(0)