一种智能电表嵌入式固件补丁升级方法、介质及终端技术

技术编号:37711417 阅读:13 留言:0更新日期:2023-06-02 00:04
本发明专利技术适用于智能电表技术领域,涉及一种智能电表嵌入式固件补丁升级方法、介质及终端,包括:S10、每个功能模块主函数预留函数句柄到指定的未使用的代码区间,添加新功能函数制作特殊嵌入式固件补丁包;S20、基于功能函数表绝对地址定位,完成特殊嵌入式固件补丁包的打入;S30、智能电表接收HES系统下发的文件头信息,校验并完成特殊嵌入嵌入式固件补丁包的升级。本发明专利技术流程简单、过程高效,当需要增加新功能或修改问题时,无需执行完整的升级流程,打补丁的过程对智能电表运行没有影响,且补丁数据量小,在通信带宽不变的情况下,减少了固件升级时间,提高了固件升级成功率。提高了固件升级成功率。提高了固件升级成功率。

【技术实现步骤摘要】
一种智能电表嵌入式固件补丁升级方法、介质及终端


[0001]本专利技术属于智能电表
,尤其涉及一种智能电表嵌入式固件补丁升级方法、介质及终端。

技术介绍

[0002]且随着应用功能的不断增加升级的固件越来越大,升级的时间将变得越来越长,升级的成功率也变得越来越低。
[0003]智能电表作为一种嵌入式计量设备,随着电力技术和物联网技术的发展,除了基本的计量功能外具有的其他功能比如负荷管理、负荷控制、分时计费、事件记录、远程通信和本地通信等,各种软件功能需求变化越来越快,新的软件功能要执行并运行就必须对智能电表的固件进行远程在线升级。在智能电表的固件改动或增加新功能时,传统的方法为智能电表制作新的固件并通过远程通信进行批量固件升级。但随着智能电表软件应用功能的不断增加,其固件大小也越来越大。目前,具有AMI基本软件功能的智能电表嵌入式固件大小已经超过300K byte,根据传统对整体固件升级的方法,每次软件功能需求改变或功能增加,将对智能电表进行超过300K byte大小的固件进行升级,这将对远程通信的效率,通信的带宽,稳定性提出严峻的考验,且受远程通信环境等干扰因素,现如今升级的固件越大,升级的时间将变得越来越长,升级的成功率也变得越来越低。
[0004]说明书附图的图2为传统的对智能电表固件升级的方法流程图,每次软件功能需求改变或功能增加,将对智能电表整体固件进行升级,这种整机固件升级的方法,优点是软件处理简单,只需把新增软件功能加入源代码重新编译生成新的Bin文件即可,缺点是随着软件需求的增加,软件功能增加越来越多,编译出的固件越来越大,升级的固件也越来越大,这样在通信方式不变,通信带宽不变的情况下,固件升级的时间将越来越长,升级的效率也将越来越低。
[0005]因此,如何提供一种在通信带宽不变的情况下,减少固件升级时间,提高固件升级成功率的固件升级方法,是本
人员亟待解决的问题。

技术实现思路

[0006]针对现有技术的不足,本专利技术的目的是提供一种智能电表嵌入式固件补丁升级方法,以解决现有技术中的固件升级方法升级时间长、升级成功率低的问题;另外本专利技术还提供了一种智能电表嵌入式固件补丁升级介质及终端。
[0007]为了解决上述技术问题,本专利技术采用了如下的技术方案:
[0008]第一方面,本专利技术提供了一种智能电表嵌入式固件补丁升级方法,包括以下步骤:
[0009]S10、每个功能模块主函数预留函数句柄到指定的未使用的代码区间,添加新功能函数制作特殊嵌入式固件补丁包;
[0010]S20、基于功能函数表绝对地址定位,完成所述特殊嵌入式固件补丁包的打入;
[0011]S30、智能电表接收HES系统下发的文件头信息,校验并完成所述特殊嵌入嵌入式
固件补丁包的升级。
[0012]进一步的,所述步骤S10的具体步骤如下:
[0013]S101、在MCU工程的Icf文件中固定一片ROM存储器给补丁文件;
[0014]S102、在补丁文件的起始位置定义一个const指针列表;
[0015]S103、当需要增加某个功能时,则添加对应的功能函数;
[0016]S104、生成整体的嵌入式升级固件All Bin文件,将补丁文件的Patch Bin文件段从All Bin文件中截取出来;
[0017]S105、对截取出来的Patch Bin文件头加上特征标识符和版本号。
[0018]进一步的,所述步骤S20的具体步骤如下:
[0019]S201、在MCU工程的Icf文件中增加补丁功能的绝对定位区;
[0020]S202、Icf文件对补丁功能区下发绝对定位指令;
[0021]S203、定义Patch函数表结构体;
[0022]S204、把Patch函数实体化并将其固定在ROM存储器中的固定地址0x0004B000区;
[0023]S205、将所有的补丁函数在编写时都固定到地址0x0004B100区域中;
[0024]S206、定义补丁文件Patch Bin的特征标识符和版本号。
[0025]进一步的,智能电表接收HES系统下发的文件头信息后检验特征标识符和版本号是否正确,若是,则接收HES系统下发的升级包并保存在外部Flash中进行校验,若否,则不接收HES系统下发的升级包。
[0026]进一步的,若补丁升级包校验成功,则智能电表把补丁升级包从外部Flash存储器中加载到MCU内部ROM存储器中并执行新功能的运行。
[0027]进一步的,所述步骤S30中HES系统下发文件头信息的通信方式包括GPRS、4G、G3

PLC和RF。
[0028]进一步的,所述步骤S102中,不使用时const指针为空指针,当App应用程序检测到const指针列表为空指针时则不运行。
[0029]进一步的,所述步骤S103中,同时将新添加的功能函数的指针填到const指针列表的对应位置。
[0030]第二方面,本专利技术还提供了一种计算机可读存储介质,所述存储介质存储有计算机程序,所述计算机程序被处理器执行时实现如上所述方法。
[0031]第三方面,本专利技术还提供了一种电子终端,包括:处理器及存储器;所述存储器用于存储计算机程序,所述处理器用于执行所述存储器存储的计算机程序,以使所述终端执行如上所述方法。
[0032]本专利技术提供的智能电表嵌入式固件补丁升级方法、介质及终端与现有技术相比,至少具有如下有益效果:
[0033]本专利技术流程简单、过程高效,当需要增加新功能或修改问题时,无需执行完整的升级流程,只需要添加新功能函数制作特殊嵌入式固件补丁包进行升级,打补丁的过程对智能电表运行没有影响,且补丁数据量小,较传统的整体固件升级方法,本专利技术在通信带宽不变的情况下,减少了固件升级时间,提高了固件升级成功率。
附图说明
[0034]为了更清楚地说明本专利技术的方案,下面将对实施例描述中所需要使用的图作一个简单的介绍,显而易见地,下面描述中的附图是本专利技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
[0035]图1为本专利技术实施例提供的一种智能电表嵌入式固定补丁升级方法的流程图;
[0036]图2为传统的整机固件升级方法的流程图;
[0037]图3为本专利技术实施例提供的一种智能电表嵌入式固定补丁升级方法中在MCU工程的Icf文件中增加补丁功能的绝对定位区示意图;
[0038]图4为本专利技术实施例提供的一种智能电表嵌入式固定补丁升级方法中定义补丁文件Patch Bin的特征标识符和版本号示意图。
具体实施方式
[0039]为了便于理解本专利技术,下面将参照相关附图对本专利技术进行更全面的描述。附图中给出了本专利技术的较佳实施例。但是,本专利技术可以以许多不同的形式来实现,并不限于本文所描述的实施例。相反地,提供这些实施例的目的是使对本本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种智能电表嵌入式固件补丁升级方法,其特征在于,包括:S10、每个功能模块主函数预留函数句柄到指定的未使用的代码区间,添加新功能函数制作特殊嵌入式固件补丁包;S20、基于功能函数表绝对地址定位,完成所述特殊嵌入式固件补丁包的打入;S30、智能电表接收HES系统下发的文件头信息,校验并完成所述特殊嵌入嵌入式固件补丁包的升级。2.根据权利要求1所述的一种智能电表嵌入式固件补丁升级方法,其特征在于,所述步骤S10的具体步骤如下:S101、在MCU工程的Icf文件中固定一片ROM存储器给补丁文件;S102、在补丁文件的起始位置定义一个const指针列表;S103、当需要增加某个功能时,则添加对应的功能函数;S104、生成整体的嵌入式升级固件All Bin文件,将补丁文件的Patch Bin文件段从AllBin文件中截取出来;S105、对截取出来的Patch Bin文件头加上特征标识符和版本号。3.根据权利要求1所述的一种智能电表嵌入式固件补丁升级方法,其特征在于,所述步骤S20的具体步骤如下:S201、在MCU工程的Icf文件中增加补丁功能的绝对定位区;S202、Icf文件对补丁功能区下发绝对定位指令;S203、定义Patch函数表结构体;S204、把Patch函数实体化并将其固定在ROM存储器中的固定地址0x0004B000区;S205、将所有的补丁函数在编写时都固定到地址0x0004B100区域中;S206、定义补丁文件Patch Bin的特征标识符和版本号。4.根据权...

【专利技术属性】
技术研发人员:刘维张宇陈金玲吕新伟甘建平贺助理金虎
申请(专利权)人:威胜集团有限公司
类型:发明
国别省市:

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

1