智能电能表IAP升级方法、装置及相关设备制造方法及图纸

技术编号:39285623 阅读:9 留言:0更新日期:2023-11-07 10:57
本申请公开了一种智能电能表IAP升级方法,应用于电能表技术领域。本申请提供的方法包括:在只读存储器中开启预设空间大小的存储区域作为映射区,所述映射区的起始地址为所述只读存储器的起始地址;设置所述映射区的第一条指令为跳转至引导加载程序,并在所述映射区生成至少一个中断函数;若所述引导加载程序中包含IAP升级任务,生成所述IAP升级任务对应类型的目标中断;根据所述目标中断的中断类型调用对应的目标中断函数,所述目标中断函数访问静态随机存储器中的目标中断向量表,所述目标中断向量表中包含对应的目标中断服务函数地址;跳转至所述目标中断服务函数地址,通过所述目标中断服务函数执行所述电能表升级指令对应的IAP升级程序。对应的IAP升级程序。对应的IAP升级程序。

【技术实现步骤摘要】
智能电能表IAP升级方法、装置及相关设备


[0001]本申请涉及电能表
,尤其涉及一种智能电能表IAP升级方法、装置及相关设备。

技术介绍

[0002]基于M0内核设计的芯片具有成本低廉和性能强大的优势,所以传统的智能电能表采用基于M0内核设计的芯片,又由于智能电能表的外壳法制特性禁止开盖,所以智能电能表的IAP升级方式十分重要。但是,不同的芯片厂商对于同样的M0内核的设计存在细节上的差异,而与IAP升级方式相关联的是芯片是否支持中断向量表重定向和芯片是否支持映射SRAM到0x00000000地址(即芯片对应的ROM的存储起始地址),进而衍生出至少三种智能电能表的IAP升级方式,第一种是芯片支持中断向量表重定向但不支持映射SRAM到0x00000000地址情况下的IAP升级方案,第二种是芯片不支持中断向量表重定向但支持映射SRAM到0x00000000地址情况下的IAP升级方案,第三种是芯片既不支持中断向量表重定向又不支持映射SRAM到0x00000000地址情况下的IAP升级方案。多种芯片对应多种IAP升级方式的现状,不仅使得电能表系统的开发和维护成本过高,也增加了电能表系统IAP升级失败或异常的概率。

技术实现思路

[0003]本申请实施例提供一种智能电能表IAP升级方法、装置、智能电能表及存储介质,以解决传统智能电能表多种IAP升级方式带来的开发和维护成本高、IAP升级失败或异常概率大的问题。
[0004]本申请的第一方面,提供一种智能电能表IAP升级方法,包括:
[0005]在只读存储器中开启预设空间大小的存储区域作为映射区,所述映射区的起始地址为所述只读存储器的起始地址;
[0006]设置所述映射区的第一条指令为跳转至引导加载程序,并在所述映射区生成至少一个中断函数,所述中断函数通过函数指针调用指定地址的中断服务函数,所述指定地址为所述引导加载程序或电能表应用程序的中断服务函数地址,所述中断服务函数从中断向量表中获取,所述中断向量表存储于静态随机存储区;
[0007]若所述引导加载程序中包含IAP升级任务,生成所述IAP升级任务对应类型的目标中断;
[0008]根据所述目标中断的中断类型调用对应的目标中断函数,所述目标中断函数访问静态随机存储器中的目标中断向量表,所述目标中断向量表中包含对应的目标中断服务函数地址;
[0009]跳转至所述目标中断服务函数地址,通过所述目标中断服务函数执行所述电能表升级指令对应的IAP升级程序。
[0010]优选地,所述若所述引导加载程序中包含IAP升级任务,生成所述IAP升级任务对
应类型的目标中断的步骤之前,还包括:
[0011]检测到所述映射区的第一条指令被执行,跳转至所述引导加载程序时,拷贝所述引导加载程序的中断向量表至所述静态随机存储器中的目标地址;
[0012]设置所述引导加载程序的最后一条指令为跳转至所述电能表应用程序。
[0013]优选地,所述设置所述引导加载程序的最后一条指令为跳转至电能表应用程序的步骤之后,还包括:
[0014]检测所述引导加载程序中是否包含IAP升级任务;
[0015]若不包含,则跳转至所述电能表应用程序,设置所述电能表应用程序的第一条指令为拷贝所述电能表应用程序的中断向量表至所述静态随机存储器中的目标地址;
[0016]运行所述电能表应用程序。
[0017]优选地,所述设置所述电能表应用程序的第一条指令为拷贝所述电能表应用程序的中断向量表至所述静态随机存储器中的目标地址的步骤之后,包括:
[0018]监测是否接收到电能表IAP升级指令;
[0019]若接收到所述电能表IAP升级指令,则停止执行所述电能表应用程序,跳转至所述引导加载程序。
[0020]优选地,所述通过所述目标中断服务函数执行所述电能表升级指令对应的IAP升级程序的步骤之后,还包括:
[0021]跳转至执行所述设置所述电能表应用程序的第一条指令为拷贝所述电能表应用程序的中断向量表至所述静态随机存储器中的目标地址。
[0022]优选地,所述通过所述目标中断服务函数执行所述电能表升级指令对应的IAP升级程序的步骤之后,还包括:
[0023]若所述目标中断服务函数执行异常停止,则重新跳转至执行所述映射区的第一条指令,直至所述目标中断服务函数执行异常停止的次数等于或大于预设升级异常次数阈值。
[0024]本申请的第二方面,提供一种智能电能表IAP升级装置,包括:
[0025]映射区模块,用于在只读存储器中开启预设空间大小的存储区域作为映射区,所述映射区的起始地址为所述只读存储器的起始地址;
[0026]中断函数模块,用于设置所述映射区的第一条指令为跳转至引导加载程序,并在所述映射区生成至少一个中断函数,所述中断函数通过函数指针调用指定地址的中断服务函数,所述指定地址为所述引导加载程序或电能表应用程序的中断服务函数地址,所述中断服务函数从中断向量表中获取,所述中断向量表存储于静态随机存储区;
[0027]中断生成模块,用于若所述引导加载程序中包含IAP升级任务,生成所述IAP升级任务对应类型的目标中断;
[0028]中断向量表模块,用于根据所述目标中断的中断类型调用对应的目标中断函数,所述目标中断函数访问静态随机存储器中的目标中断向量表,所述目标中断向量表中包含对应的目标中断服务函数地址;
[0029]IAP升级程序模块,用于跳转至所述目标中断服务函数地址,通过所述目标中断服务函数执行所述电能表升级指令对应的IAP升级程序。
[0030]本申请的第三方面,提供一种电子设备,包括:
[0031]至少一个处理器;以及与所述至少一个处理器通信连接的存储器;其中,所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行如上任一项所述的智能电能表IAP升级方法。
[0032]本申请的第四方面,提供一种智能电能表,所述智能电能表包含上述电子设备。
[0033]本申请的第五方面,提供一种非易失性计算机可读存储介质,所述非易失性计算机可读存储介质存储有计算机可执行指令,当所述计算机可执行指令被电子设备执行时,使所述电子设备执行如上任一项所述的智能电能表IAP升级方法。
[0034]上述智能电能表IAP升级方法、装置、智能电能表及存储介质,通过在只读存储器中开启预设空间大小的存储区域作为映射区,所述映射区的起始地址为所述只读存储器的起始地址;设置所述映射区的第一条指令为跳转至引导加载程序,并在所述映射区生成至少一个中断函数;若所述引导加载程序中包含IAP升级任务,生成所述IAP升级任务对应类型的目标中断;根据所述目标中断的中断类型调用对应的目标中断函数,所述目标中断函数访问静态随机存储器中的目标中断向量表,所述目标中断向量表中包含对应的目标中断服务函数地址;跳转至所述目标中断服务函数地址,通过所述目标中本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种智能电能表IAP升级方法,其特征在于,包括:在只读存储器中开启预设空间大小的存储区域作为映射区,所述映射区的起始地址为所述只读存储器的起始地址;设置所述映射区的第一条指令为跳转至引导加载程序,并在所述映射区实现所有必须的中断函数,中断函数实现内容为通过函数指针调用指定地址的函数,指定地址为引导加载程序或电能表应用程序的中断函数地址,函数指针指向的函数由拷贝到静态随机存储器的中断向量表获取;设置所述映射区的第一条指令为跳转至引导加载程序,并在所述映射区生成至少一个中断函数,所述中断函数通过函数指针调用指定地址的中断服务函数,所述指定地址为所述引导加载程序或电能表应用程序的中断服务函数地址,所述中断服务函数从中断向量表中获取,所述中断向量表存储于静态随机存储区;若所述引导加载程序中包含IAP升级任务,生成所述IAP升级任务对应类型的目标中断;根据所述目标中断的中断类型调用对应的目标中断函数,所述目标中断函数访问静态随机存储器中的目标中断向量表,所述目标中断向量表中包含对应的目标中断服务函数地址;跳转至所述目标中断服务函数地址,通过所述目标中断服务函数执行所述电能表升级指令对应的IAP升级程序。2.根据权利要求1所述的智能电能表IAP升级方法,其特征在于,所述若所述引导加载程序中包含IAP升级任务,生成所述IAP升级任务对应类型的目标中断的步骤之前,还包括:检测到所述映射区的第一条指令被执行,跳转至所述引导加载程序时,拷贝所述引导加载程序的中断向量表至所述静态随机存储器中的目标地址;设置所述引导加载程序的最后一条指令为跳转至所述电能表应用程序。3.根据权利要求2所述的智能电能表IAP升级方法,其特征在于,所述设置所述引导加载程序的最后一条指令为跳转至所述电能表应用程序的步骤之后,还包括:检测所述引导加载程序中是否包含IAP升级任务;若不包含,则跳转至所述电能表应用程序,设置所述电能表应用程序的第一条指令为拷贝所述电能表应用程序的中断向量表至所述静态随机存储器中的目标地址;运行所述电能表应用程序。4.根据权利要求3所述的智能电能表IAP升级方法,其特征在于,所述设置所述电能表应用程序的第一条指令为拷贝所述电能表应用程序的中断向量表至所述静态随机存储器中的目标地址的步骤之后,包括:监测是否接收到电能表IAP升级指令;若接收到所述电能表IAP升级指令,则停止执行所述电能表应用程序,跳转至所述引导加载程序。5.根据权利要求3...

【专利技术属性】
技术研发人员:夏冬春高靖万勤刘鑫龚为国陈卫刚
申请(专利权)人:深圳市科陆电子科技股份有限公司
类型:发明
国别省市:

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

1