CN113190257A - 智能电能表远程升级方法 - Google Patents

智能电能表远程升级方法 Download PDF

Info

Publication number
CN113190257A
CN113190257A CN202110485184.5A CN202110485184A CN113190257A CN 113190257 A CN113190257 A CN 113190257A CN 202110485184 A CN202110485184 A CN 202110485184A CN 113190257 A CN113190257 A CN 113190257A
Authority
CN
China
Prior art keywords
function
module
transition interface
program
intelligent electric
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN202110485184.5A
Other languages
English (en)
Inventor
陈伟雄
史俊武
刘益熹
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Shenzhen Huawo Meter Technology Co ltd
Original Assignee
Shenzhen Huawo Meter Technology Co ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Shenzhen Huawo Meter Technology Co ltd filed Critical Shenzhen Huawo Meter Technology Co ltd
Priority to CN202110485184.5A priority Critical patent/CN113190257A/zh
Publication of CN113190257A publication Critical patent/CN113190257A/zh
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/65Updates
    • G06F8/654Updates using techniques specially adapted for alterable solid state memories, e.g. for EEPROM or flash memories

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Stored Programmes (AREA)

Abstract

本发明提供了一种智能电能表远程升级方法,包括:在智能电能表的程序中,为每一个可独立升级的程序模块构造一个函数调用过渡接口;所述函数调用过渡接口为一个有固定的绝对地址定位的函数,其参数包括功能子函数索引和数据指针,用于根据传入的功能子函数索引参数来调用模块内对应的功能子函数,并将数据指针参数传递给该功能子函数,以使其它模块能够任意调用该模块内部的功能子函数;任何一个程序模块需要独立升级更新功能时,保证其函数调用过渡接口的绝对地址是固定的。本发明实现了模块内的功能子函数,不需要逐个定位绝对地址,仍然可以被外部模块调用,增加了程序模块化的独立升级开发的灵活性,以及提高产品的安全性和兼容性。

Description

智能电能表远程升级方法
技术领域
本发明涉及智能电表领域,特别涉及一种智能电能表远程升级方法。
背景技术
智能电表的主芯片,主要采用单芯片,无操作系统的方案。嵌入式芯片资源限制的原因,智能电表的程序升级,仍然使用预先整块程序存储备份,再进行更新的模式。现在智能电表的功能越来越复杂化,智能表的程序占用空间也越来越大,对芯片的FLASH资源要求越大,提高了产品的设计成本。同时存在为了更新一个小功能,而需要升级整块电能表的程序的问题。
目前,单芯片无操作系统的嵌入式固件升级,存在以下缺点:(1)无法灵活独立地,进行部分程序的模块化升级。(2)方案设计需要预留完整固件大小的FLASH空间,浪费FLASH资源。(3)固件升级需要传输完整的固件,导致升级时间过长。
发明内容
本发明提供了一种智能电能表远程升级方法,以解决至少一个上述技术问题。
为解决上述问题,作为本发明的一个方面,提供了一种智能电能表远程升级方法,包括:
在智能电能表的程序中,为每一个可独立升级的程序模块构造一个函数调用过渡接口;
所述函数调用过渡接口为一个有固定的绝对地址定位的函数,其参数包括功能子函数索引和数据指针、返回参数是用于反馈接口执行情况的无符号整型,函数调用过渡接口用于根据传入的功能子函数索引参数来调用模块内对应的功能子函数,并将数据指针参数传递给该功能子函数,以使其它模块能够任意调用该模块内部的功能子函数;
任何一个程序模块需要独立升级更新功能时,保证其函数调用过渡接口的绝对地址是固定的,以使该模块内被其它的模块调用的功能子函数能够任意更新改动功能代码,而不用考虑因为重新编译链接时,功能子函数的地址改变、与其它模块不兼容的问题,从而使智能电能表程序中的一个或多个程序模块得以独立地升级。
优选地,将模块所有的程序分配在指定FLASH地址,并保证函数调用过渡接口分配在该段的启始地址,以保证每个模块的函数调用过渡接口的绝对地址固定不变,以使模块程序功能升级时,更改后的模块程序经重新编译链接,虽然其中的功能子函数的地址对应改变,但也不会影响其它的模块的调用,从而实现智能电表固件模块化的独立升级。
由于采用了上述技术方案,本发明实现了模块内的功能子函数,不需要逐个定位绝对地址,仍然可以被外部模块调用,增加了程序模块化的独立升级开发的灵活性,以及提高产品的安全性和兼容性,大幅度地缩短程序升级开发和测试调试的周期。程序模块化的独立升级,使得在工程设计规划时,降低了对MCU程序固件FLASH的空间需求。放宽了产品对MCU的选型要求,同时又有效降低产品的成本。
具体实施方式
以下对本发明的实施例进行详细说明,但是本发明可以由权利要求限定和覆盖的多种不同方式实施。
本发明创建构造一个程序模块的函数调用过渡接口,通过这个函数调用过渡接口,一个程序模块可以任意调用,其它的程序模块内的任何功能函数,不会因为该模块单独升级后,其中的功能函数代码更新,重新编译链接,导致的功能函数地址更改,而无法被其它模块正常调用的问题。
整个智能表的程序中,每一个可独立升级的程序模块,都需要构造一个函数调用过渡接口。函数调用过渡接口是一个有固定的绝对地址定位的函数。这个函数的参数包括:功能子函数索引,数据指针,返回参数是无符号整型,反馈接口执行情况。函数体主要实现的任务,是根据传入的功能子函数索引参数,来调用该模块内的对应的功能子函数,并将数据指针参数传递给该功能子函数,从而其它模块可以任意调用该模块内部的功能子函数。
任何一个程序模块需要独立升级更新功能时,只要保证其函数调用过渡接口的绝对地址是固定的。该模块内,有被其它的模块调用的功能子函数,都可以任意更新改动功能代码,而不用考虑因为重新编译链接时,功能子函数的地址改变,与其它模块不兼容的问题。从而达到程序模块灵活独立升级的目的。
在一个优选的实施例中,本发明中的函数调用过渡接口示意性地表示如下:
Figure BDA0003050409960000031
Figure BDA0003050409960000041
在创建程序模块的函数调用过渡接口时,先设计模块需要向外部(其它程序模块)开放的,功能子函数(参见上文中的uint8_t Sub_FunA(void*p)),定义每个功能子函数索引(参见上文中的“//Module X功能子函数索引”部分)。函数调用过渡接口内,根据功能子函数索引,再调用对应的功能子函数(参见上文中的“switch(index)”部分),传入数据指针(void*p)。将模块所有的程序,分配在指定FLASH地址(参见上文中的“place at addressmem:0x00020000{readonly section.moduleX}”部分),并保证函数调用过渡接口(参见上文中的“uint8_t Module_X(uint8_t index,viod*p)”),分配在该段的启始地址,以保证每个模块的函数调用过渡接口,绝对地址固定不变。例如,函数调用过渡接口的地址为0x00020000。
在一个优选的实施例中,本发明中的模块程序功能需要升级时的示意性地表示如下:
Figure BDA0003050409960000051
当模块程序功能需要升级时,更改后的模块程序,重新编译链接,其中的功能子函数的地址对应变化了,但是也不会影响其它的模块的调用,从而达到智能电表的固件模块化独立升级。
模块升级之前,SubFunA功能子函数的FLASH地址为0x00020b29,其它模块调用该函数的路径为A->B。即,先经过函数调用过渡接口路径A。再根据函数调用过渡接口,去调用功能子函数路径B。
在模块功能升级之后,SubFunA功能子函数的FLASH地址,变改为0x00020079,其它模块调用该函数的路径变为C->D。虽然由于功能子函数的FLASH地址改变了,其它未同步升级的模块,仍然可以正确调用到功能子函数SubFunA。因为函数调用过渡接口的绝对地址固定不变,所以路径A和路径C,其实是相同的,这就是实现程序模块化的独立升级目的关键。
由于采用了上述技术方案,本发明实现了模块内的功能子函数,不需要逐个定位绝对地址,仍然可以被外部模块调用,增加了程序模块化的独立升级开发的灵活性,以及提高产品的安全性和兼容性,大幅度地缩短程序升级开发和测试调试的周期。程序模块化的独立升级,使得在工程设计规划时,降低了对MCU程序固件FLASH的空间需求。放宽了产品对MCU的选型要求,同时又有效降低产品的成本。
以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

Claims (2)

1.一种智能电能表远程升级方法,其特征在于,包括:
在智能电能表的程序中,为每一个可独立升级的程序模块构造一个函数调用过渡接口;
所述函数调用过渡接口为一个有固定的绝对地址定位的函数,其参数包括功能子函数索引和数据指针、返回参数是用于反馈接口执行情况的无符号整型,函数调用过渡接口用于根据传入的功能子函数索引参数来调用模块内对应的功能子函数,并将数据指针参数传递给该功能子函数,以使其它模块能够任意调用该模块内部的功能子函数;
任何一个程序模块需要独立升级更新功能时,保证其函数调用过渡接口的绝对地址是固定的,以使该模块内被其它的模块调用的功能子函数能够任意更新改动功能代码,而不用考虑因为重新编译链接时,功能子函数的地址改变、与其它模块不兼容的问题,从而使智能电能表程序中的一个或多个程序模块得以独立地升级。
2.根据权利要求1所述的智能电能表远程升级方法,其特征在于,将模块所有的程序分配在指定FLASH地址,并保证函数调用过渡接口分配在该段的启始地址,以保证每个模块的函数调用过渡接口的绝对地址固定不变,以使模块程序功能升级时,更改后的模块程序经重新编译链接,虽然其中的功能子函数的地址对应改变,但也不会影响其它的模块的调用,从而实现智能电表固件模块化的独立升级。
CN202110485184.5A 2021-04-30 2021-04-30 智能电能表远程升级方法 Pending CN113190257A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110485184.5A CN113190257A (zh) 2021-04-30 2021-04-30 智能电能表远程升级方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110485184.5A CN113190257A (zh) 2021-04-30 2021-04-30 智能电能表远程升级方法

Publications (1)

Publication Number Publication Date
CN113190257A true CN113190257A (zh) 2021-07-30

Family

ID=76983839

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110485184.5A Pending CN113190257A (zh) 2021-04-30 2021-04-30 智能电能表远程升级方法

Country Status (1)

Country Link
CN (1) CN113190257A (zh)

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106598647A (zh) * 2016-11-09 2017-04-26 许继集团有限公司 一种智能装置开发平台
CN106843954A (zh) * 2017-01-16 2017-06-13 武汉慧联无限科技有限公司 传感器节点远程升级方法
CN107346255A (zh) * 2017-05-18 2017-11-14 国网浙江省电力公司电力科学研究院 一种电能表系统升级方法及电能表系统
CN109933358A (zh) * 2019-01-28 2019-06-25 金卡智能集团股份有限公司 用于减少计量设备程序升级量的控制方法
CN112306540A (zh) * 2020-11-05 2021-02-02 重庆科技学院 一种多工程独立编译方法、系统、终端及介质
CN112650520A (zh) * 2020-12-31 2021-04-13 威胜集团有限公司 电表升级方法、系统、智能电表及存储介质
CN112667272A (zh) * 2020-12-31 2021-04-16 威胜集团有限公司 电表升级方法、系统、智能电表及存储介质

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106598647A (zh) * 2016-11-09 2017-04-26 许继集团有限公司 一种智能装置开发平台
CN106843954A (zh) * 2017-01-16 2017-06-13 武汉慧联无限科技有限公司 传感器节点远程升级方法
CN107346255A (zh) * 2017-05-18 2017-11-14 国网浙江省电力公司电力科学研究院 一种电能表系统升级方法及电能表系统
CN109933358A (zh) * 2019-01-28 2019-06-25 金卡智能集团股份有限公司 用于减少计量设备程序升级量的控制方法
CN112306540A (zh) * 2020-11-05 2021-02-02 重庆科技学院 一种多工程独立编译方法、系统、终端及介质
CN112650520A (zh) * 2020-12-31 2021-04-13 威胜集团有限公司 电表升级方法、系统、智能电表及存储介质
CN112667272A (zh) * 2020-12-31 2021-04-16 威胜集团有限公司 电表升级方法、系统、智能电表及存储介质

Similar Documents

Publication Publication Date Title
EP1474753B1 (en) Component model for real time system control
US6128315A (en) Distributed control network system
CN100489778C (zh) Java程序可动态更新化实现方法
CN103019941B (zh) 程序调试方法和装置
CN114237676B (zh) 一种fpga逻辑更新方法、装置、设备及可读存储介质
US20190286089A1 (en) Sequence control of program modules
CN109964181B (zh) 用于工业自动化设备的控制器和对这种控制器编程和运行的方法
CN109871274B (zh) 一种嵌入式环境应用的多任务构造及处理方法
CN101110031B (zh) 用于灵活在线/离线部署n层软件应用程序的错接接口
CN113190257A (zh) 智能电能表远程升级方法
Macher et al. Filling the gap between automotive systems, safety, and software engineering.
CN100517265C (zh) 一种微控制器仿真系统
Kramer et al. The conic toolkit for building distributed systems
US7757205B2 (en) System for preparing a standard framework for automation appliances
CN109857638B (zh) 一种测试系统软件通用框架
CN113961232A (zh) 提供集成开发环境的终端、方法和平台服务器
CN111597022B (zh) 一种自动融合多专业业务功能的融合系统及融合方法
CN112597413A (zh) 一种新型嵌入式系统框架及设备
US6922834B1 (en) Data processing apparatus, data processing method, and program providing medium
CN113608752A (zh) 智能网卡系统的安装方法、系统、装置及可读存储介质
CN111221571A (zh) 外设驱动制作方法、装置以及计算机可读介质
CN100419711C (zh) 一种服务调试命令发射器及其处理方法
Bruegge et al. The Warp programming environment
KR102155822B1 (ko) 이기종 공작기계 컨트롤러용 통합 인터페이스 시스템
CN102567034A (zh) 驱动程序管理系统

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
RJ01 Rejection of invention patent application after publication
RJ01 Rejection of invention patent application after publication

Application publication date: 20210730