电能表程序升级方法技术

技术编号:9462681 阅读:208 留言:0更新日期:2013-12-18 23:51
本发明专利技术涉及电能表程序升级方法。本发明专利技术的目的是提供一种电能表程序升级方法,降低升级程序被复制的可能性,避免非法程序下载到目标表计。本发明专利技术的技术方案是:a、将需要升级的HEX文件编辑生成可执行的升级器,编辑时将Bootloader代码删除,使升级代码为不完全升级代码,并对其加密;b、在计算机上运行升级器,使其登录目标表计并对目标表计的有效性进行验证,若通过,转至步骤c,若未通过,停止升级;c、升级器将不完全升级代码下载到目标表计内;d、目标表计运行接收到的不完全升级代码,检查表计内是否存在Bootloader代码并校验,若正确,升级成功,若不正确,升级失败。

【技术实现步骤摘要】
【专利摘要】本专利技术涉及。本专利技术的目的是提供一种,降低升级程序被复制的可能性,避免非法程序下载到目标表计。本专利技术的技术方案是:a、将需要升级的HEX文件编辑生成可执行的升级器,编辑时将Bootloader代码删除,使升级代码为不完全升级代码,并对其加密;b、在计算机上运行升级器,使其登录目标表计并对目标表计的有效性进行验证,若通过,转至步骤c,若未通过,停止升级;c、升级器将不完全升级代码下载到目标表计内;d、目标表计运行接收到的不完全升级代码,检查表计内是否存在Bootloader代码并校验,若正确,升级成功,若不正确,升级失败。【专利说明】
本专利技术涉及一种,主要适用于用户或管理员对带有Bootloader功能电能表的程序升级。
技术介绍
随着人们生活水平的提高,电能源的使用逐年递增,电能表不断改造,功能不断完善。为使电能表不断满足客户使用及电力公司管理的需求,同时又不增加用户使用成本,对电能表程序升级是最佳选择,然而现有的程序升级过程过于简单化,即直接将升级的源代码烧入电能表芯片中,其缺点在于:1、升级的源代码很容易被复制,导致程序开发方遭受损失;2、无法完成对升级表计详细信息的验证,导致非法升级程序下载到目标表计中;3、升级程序没有多重机密处理,易于被破解。4、需要邮寄烧写器,对于出口产品升级尤其不方便。
技术实现思路
本专利技术要解决的技术问题是:针对上述存在的问题提供一种安全性高的,以降低升级程序被复制的可能性,同时避免非法程序下载到目标表计。本专利技术所采用的技术方案是:,其特征在于步骤如下:a、在计算机上将需要升级的HEX文件编辑生成可执行的升级器,该升级器包含有升级代码;编辑时将Bootloader代码删除,使升级器中的升级代码为不完全升级代码,并对其进行加密处理;b、在计算机上运行所述升级器,使其登录目标表计并对目标表计的有效性进行验证,若通过验证,则转至步骤C,若未通过验证,则停止升级;C、升级器以加密的通讯方式将所述不完全升级代码下载到目标表计内;d、目标表计运行接收到的不完全升级代码,检查表计内是否存在Bootloader代码并校验正确,若正确,则升级成功,若不正确,则为非法破解写入,升级失败。步骤b中验证内容包括目标程序版本号、目标程序校验码、目标表订单号、目标表固件编码和目标表硬件编码。步骤a中的加密算法为AES128。步骤a中,编辑时设定升级器的有效期,过期之后该升级器将无法运行。步骤b中,升级器以用户名和密码的方式登录目标表计。所述计算机通过串口与目标表计通讯,其波特率为9600bps。本专利技术的有益效果是:1、本专利技术在计算机上将需要升级的HEX文件(升级包)编辑生成可执行的升级器,然后运行该升级器使其登录目标表计并对目标表计的有效性进行验证,验证通过后以加密的通讯方式将不完全升级代码下载到目标表计内完成升级,较之现有技术,本专利技术升级代码被编辑成升级器,并通过AES128加密,防止了可能的破解,复制者无法直接获取升级代码(源代码由开发方公司内部掌控),减除了被复制的困扰,从而有力的保护了程序开发方的权利和利益。2、升级器登录目标表计后进行一系列指定验证,能识别目标表版本,只对限定版本产品升级,能够有效避免非法升级程序下载到目标表计中。3、升级器以加密的方式与目标表计通讯,进一步提高了通讯的安全性。4、不再需要邮寄烧写器,通过互联网把生成的升级器软件传送给客户即可,省去了等待时间。【具体实施方式】本专利技术升级方法适用于电能表MCU芯片内本身就烧有应用程序和Bootloader代码的情况,并且该Bootloader代码并不会被发布,也就是说其他方不能获得此部分Bootloader代码,公司只会把Bootloader代码烧录到电能表MCU芯片内。其中应用程序为日常运行任务,Bootloader代码只在升级时运行,且在以后的升级中都不会发生改变。本实施例的具体步骤如下:a、在计算机上将需要升级的HEX文件(升级包)编辑生成可执行的Bootloader升级器,该升级器包含有升级代码,该升级代码由更高版本的应用程序(相对于烧录到电能表MCU芯片内的应用程序)和Bootloader代码组成。本例中,生成Bootloader升级器的方法为=Bootloader编辑器软件打开HEX文件,把HEX文件和所需的二进制序列数据综合编码,按照二进制方式生成可执行文件,即Bootloader升级器;所述Bootloader编辑器软件为能够在计算机上运行的可执行文件,主要用于将需要升级的HEX文件(升级包)编辑生成可执行的Bootloader升级器软件,同时它可以指定前述Bootloader代码所在地址段,设定需要验证的内容及相应的值,设定所生成的升级器的有效期,还可以设定升级时使用的用户名和密码。编辑时指定前述Bootloader代码所在HEX文件中的地址段,并将该Bootloader代码删除,使升级器中的升级代码为不完全升级代码,即仅留下更高版本的应用程序,并通过AES128对其进行加密,以防止可能的破解。同时,设定升级时需要验证的内容,并确定各内容的具体值,以确定需要升级的目标表计;所述验证内容包括目标程序版本号、目标程序校验码、目标表订单号、目标表固件编码和目标表硬件编码。b、在计算机上运行所述升级器,并以用户名和密码的方式(在步骤a中编辑时进行设定)登录目标表计,与电能表MCU芯片中的应用程序通讯,对目标表计的有效性进行验证;验证时,将步骤a中确定的各验证内容的具体值与升级器实际登陆表计的各验证内容的具体值进行比对,若各验证内容的具体值均相同,则表示通过验证,转至步骤C,否则表示未通过验证,停止升级。C、电能表MCU芯片中的应用程序将自己关闭,同时电能表MCU芯片运行烧录于其内部的Bootloader代码,并将烧录于MCU芯片中的应用程序删除,此时烧录于MCU芯片内部的Bootloader代码通过串口(波特率通常为9600bps)以加密的形式与升级器通讯,将所述不完全升级代码(即更高版本的应用程序)下载到目标表计内。若因通讯原因导致升级失败,此时烧录于MCU芯片中的应用程序已经被删除,芯片中的Bootloader代码为日常运行任务,与升级器直接通讯(不存在登录和有效验证),把更高版本的应用程序下载到目标表计芯片内。d、目标表计运行接收到的不完全升级代码(即更高版本的应用程序),检查Bootloader代码(本身烧写在电能表MCU内的Bootloader代码)是否存在并校验正确,若电能表MCU内存在Bootloader代码并且校验正确,则升级成功,若电能表MCU内不存在Bootloader代码或者校验不正确,则为非法破解写入,升级失败,同时可以启动功能失效等惩罚措施。校验的具体方法如下:应用程序在运行时,对Bootloader代码所在地址段的代码进行校验生成校验码,此校验码若不为正常Bootloader校验码,则认为Bootloader代码为非法。比如正常Bootloader校验码为B936,当Bootloader代码为空或者非法时,应用程序对其校验得到校验码为A333而不是B936,则认为此应用程序是非法烧入芯片的。步骤a中,编辑时可以设定升级器的有效期,过期之后该升级器将无法运行本文档来自技高网...

【技术保护点】
一种电能表程序升级方法,其特征在于步骤如下:a、在计算机上将需要升级的HEX文件编辑生成可执行的升级器,该升级器包含有升级代码;编辑时将Bootloader代码删除,使升级器中的升级代码为不完全升级代码,并对其进行加密处理;b、在计算机上运行所述升级器,使其登录目标表计并对目标表计的有效性进行验证,若通过验证,则转至步骤c,若未通过验证,则停止升级;c、升级器以加密的通讯方式将所述不完全升级代码下载到目标表计内;d、目标表计运行接收到的不完全升级代码,检查表计内是否存在Bootloader代码并校验正确,若正确,则升级成功,若不正确,则为非法破解写入,升级失败。

【技术特征摘要】

【专利技术属性】
技术研发人员:周良璋王军
申请(专利权)人:杭州海兴电力科技股份有限公司
类型:发明
国别省市:

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

1