CN105808296B - 一种用于充电桩安全升级自身程序的客户端软件启动方法 - Google Patents

一种用于充电桩安全升级自身程序的客户端软件启动方法 Download PDF

Info

Publication number
CN105808296B
CN105808296B CN201610130225.8A CN201610130225A CN105808296B CN 105808296 B CN105808296 B CN 105808296B CN 201610130225 A CN201610130225 A CN 201610130225A CN 105808296 B CN105808296 B CN 105808296B
Authority
CN
China
Prior art keywords
region
program
normal
data
bootcode
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.)
Active
Application number
CN201610130225.8A
Other languages
English (en)
Other versions
CN105808296A (zh
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.)
Wanbang Digital Energy Co Ltd
Original Assignee
Jiangsu Million Bangde And New Energy Polytron Technologies Inc
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 Jiangsu Million Bangde And New Energy Polytron Technologies Inc filed Critical Jiangsu Million Bangde And New Energy Polytron Technologies Inc
Priority to CN201610130225.8A priority Critical patent/CN105808296B/zh
Publication of CN105808296A publication Critical patent/CN105808296A/zh
Application granted granted Critical
Publication of CN105808296B publication Critical patent/CN105808296B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/65Updates

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)
  • Information Transfer Between Computers (AREA)
  • Stored Programmes (AREA)

Abstract

本发明公开了一种用于充电桩安全升级自身程序的客户端软件启动方法,包括:1、对系统存储区域划分,包括bootcode区域,正常区域,故障区域,更新程序备份区域,标识区域。2、系统运行程序时,若检测到更新指令,则接收服务器发送过来的升级数据以及对应的算法校验值b,系统进入bootcode区域;在bootcode区域判断升级数据的对错情况确定运行正常程序还是运行故障程序。判断升级数据对错的校验算法为:A,读取升级数据进行32位无符号的累加和;B,对步骤A算出来的值进行按位取反的操作;C,对C求出来的数据和一个固定值求差值。本发明能保证远程升级更准确;在硬件损坏时,设备依然可以正常运作,并上传损坏信息给服务器,由售后人员及时维修。

Description

一种用于充电桩安全升级自身程序的客户端软件启动方法
技术领域
本发明属于电动汽车充电桩的嵌入式系统领域,具体涉及安全升级自身程序的客户端软件启动方法。
背景技术
随着全球节能和环保意识的不断增强,新能源领域的电动汽车产业迅速发展。与此同时,随着电动汽车充电桩的大量建设和应用,用户对良好体验感的需求也被提上了日程,用户的体验感和充电桩的程序就是有着最直接的关系。
由于充电桩往往安装在室外,工作条件比较恶劣,而且在行业刚起步的时候,用户的体验感是需要不断地改进的,充电桩的长期正常运行和充电桩能够实时运行工程师修改后的新程序是用户体验感的基础,所以远程升级技术的应用在我们的产品中应运而生。
现有技术存在如下缺陷:(1)现有的远程升级技术中升级完成后许多都是通过服务器端进行软复位重启动;(2)现有的远程升级技术都是通过直接修改启动参数达到运行新旧程序的目的,这样的情况下一旦存储启动参数的区域硬件损坏,那么就会导致整个设备运行出错,如果是大型设备的话,程序运行出错很有可能发生事故;(3)现有的升级技术大部分会通过直接启动新程序然后通过判断服务器和新程序之间的通信来确认是否升级成功,这样不够安全,因为一个程序的部分数据出错不一定能够导致通信不正常。
发明内容
为了解决上述现有技术的缺陷,本发明提供一种针对嵌入式系统设备能够长期稳定运行,能够实时更新运行新程序的方法。根据系统存储区域更新的升级数据是否正确来判断是运行最新的程序还是运行上传故障的程序。
为了实现本发明的实现的安全功能,采取如下技术方案:
一种用于充电桩安全升级自身程序的客户端软件启动方法,包括:
步骤1,将系统存储区域分区,包括bootcode区域;
步骤2,系统运行程序时,若检测到更新指令,则接收服务器发送过来的升级数据以及所述升级数据的算法校验值b,系统进入bootcode区域;在bootcode区域里判断升级数据的对错情况确定运行正常程序还是运行故障程序。
作为优选,步骤1中的系统存储区域还包括:正常区域,故障区域,更新程序备份区域,标识区域;步骤2中接收的升级数据以及所述升级数据的算法校验值b分别保存在所述更新程序备份区域、所述标识区域;所述正常程序存放在所述正常区域,所述故障程序存放在所述故障区域。
作为优选,步骤2中判断升级数据的对错情况确定运行正常程序还是运行故障程序的方法为:
步骤2.1,对更新程序备份区域的升级数据进行校验计算,得到算法校验值a;
步骤2.2,将算法校验值a与算法校验值b比对,若一致,则执行步骤2.3,否则,执行当前版本的程序;
步骤2.3,将更新程序备份区域的升级数据搬运至正常区域;
步骤2.4,对正常区域的升级数据进行校验计算,得到算法校验值c;
步骤2.5,将算法校验值c与算法校验值b比对,若一致,则运行正常区域里的升级数据,否则,执行故障区域的程序。
作为优选,所述步骤2.5中所述的故障区域的程序包括:
建立一个故障上传通道,上传三次故障信息后自动关闭,然后建立正常通道,设备自动进入正常工作状态。
作为优选,所述步骤2.1中的校验计算和所述步骤2.4中的校验计算的算法相同,均包括如下步骤:
步骤A,读取升级数据进行32位无符号的累加和;
步骤B,对步骤A算出来的值进行按位取反的操作;
步骤C,对步骤B求出来的数据和一个固定值求差值。
作为优选,所述步骤C中的固定值可自行定义为任一个32位数据。
与现有技术相比,本发明的有益效果:
(1)本发明提出的远程升级程序客户端软件启动的方法,通过多次逻辑判断存储区域中自定义的不同分区的数据来确认远程升级是否成功,因为任何程序在存储区域中都是以数据的形式存在,我们通过直接判断最原始的数据是否正确来确认我们的远程升级是否成功,这样能够保证远程升级更准确。
(2)即使程序升级数据存放的硬件区域损坏了,设备通过运行到故障区域的程序,依然可以正常运作,实现正常的功能;并上传设备存储区域的损坏信息给服务器,由售后人员及时维修。故障区域的程序从出厂后一直不变。
(3)现有的远程升级技术在升级完成后都是通过服务器端进行软复位重启动,本发明提出的远程升级技术在客户端升级完成后会自行判断升级成功然后自动软复位重启动。
附图说明
图1是本发明系统软件循环启动的流程图。
图2是本发明在bootcode程序中的逻辑流程图。
具体实施方式
下面结合附图来对本发明作进一步说明。
1、首先对嵌入式系统的存储区域进行划分,包括五个部分,分别为:bootcode区域、正常区域、故障区域、更新程序备份区域、标识区域,下面分别进行说明。
1)bootcode区域——该区域存放系统启动程序,系统一旦启动首先运行到这里,能够通过判断标识区域的数据来确认是否有最新的升级程序需要更新,能够把最新的升级程序从更新程序备份区域搬运到正常区域,能够判断出搬运后的正常区域的硬件是否损坏从而判断下一步启动的程序是正常区域程序还是故障区域程序。
2)正常区域——该区域存放系统正常功能程序,系统能够运行设备的正常功能,能够判断是否进入更新模式,能够保存最新的数据到更新程序备份区域,能够自动软复位启动到bootcode程序。
3)故障区域——该区域存放主动上传故障信息的故障程序,能够主动上传故障信息到服务器,能够运行设备的正常功能,能够判断是否进入更新模式,能够保存最新的数据到更新程序备份区域,能够自动软复位启动到bootcode程序。
4)更新程序备份区域——该区域用来存放最新的程序,能够保存前述正常区域或者故障区域中接收到的更新数据。
5)标识区域——该区域存放更新成功标志,在正常区域或者故障区域里,在自动软复位启动的时候会对这个区域进行操作,能够使得bootcode程序知道是否有数据需要更新。
2、系统运行过程中,若检测到更新指令,则接收服务器发送过来的升级数据以及所述升级数据的算法校验值b,当更新完成后系统软件复位重新启动进入bootcode区域;在bootcode区域里判断升级数据的对错情况确定运行正常程序还是运行故障程序。
如图1所示,系统的启动有两种方式,一种就是第一次上电的启动,还有一种就是系统运行过程中通过服务器发送复位命令的方式进行软件复位的重新启动方式,系统启动后运行bootcode区域的程序,然后在这里会判断是运行正常程序(正常程序存放在正常区域)还是运行故障程序(故障程序存放在故障区域)。如果运行正常程序那么系统会建立正常通道,然后执行设备的各项功能,进入正常工作状态;如果运行故障程序,系统会建立一个故障上传通道,上传三次故障信息后自动关闭,然后建立正常通道,设备自动进入正常工作状态。在上传故障信息的同时,远程服务器根据收到的故障信息推送故障问题信息给服务器维护人员,维护人员安排售后进行到现场维修,在这里的一个优点就是:即使出现故障并且在维修人员没到现场维修,设备依然可以正常运作,实现正常的功能,只是不是最新的程序而已。
系统在正常区域和故障区域的程序都可以运行设备的正常功能,但这两个区域有两个不同点,第一、正常区域的程序是会根据升级数据更新到最新的程序,能够一直运行最新的程序,故障区域的程序是从出厂后一直保持不变的。第二、故障区域的程序比正常区域的程序多一个主动上传故障信息的部分,所以一旦运行到故障区域内的故障程序就代表正常区域的flash硬件出现了问题,就会主动上传故障信息给服务器,由服务器推送故障信息进行售后服务。
在运行正常区域和故障区域的程序时都可以接收服务器发送的更新指令,并且正常区域和故障区域在接收到升级数据后都会把升级数据存放到更新程序备份区域、与升级数据对应的算法校验值b存放到标识区域。当判断服务器更新成功后会改变标识区域里的值来提示有程序更新,然后系统自动软件复位重启进入运行用户的bootcode区域程序,在bootcode区域程序里判断更新程序备份区域的升级数据情况来确定是运行正常区域的程序还是运行故障区域的程序。
如图2所示,在bootcode区域里选择程序运行有三种情况,当系统硬件初始化过后,会去判断标识区域的数据,如果标识区域的标识数据没有更新提示,那么就运行当前旧版本正常程序;如果发现有更新提示,就把更新程序备份区域的数据读出来做一个校验计算,校验算法包括如下步骤:
步骤A,读取更新程序备份区域的更新数据进行32位无符号的累加和;
步骤B,对步骤A算出来的值进行按位取反的操作;
步骤C,对步骤B求出来的数据和一个固定值求差值(固定值可以自行定义为任意一个32位的数据)。
上述步骤C算出的差值即为算法校验值a,将计算得到的算法校验值a和保存在标识区域中的算法校验值b(该值由服务器按照上述相同的校验算法计算发送过来)进行比对,如果算法校验值a和算法校验值b的比对结果不一致,代表更新程序备份区域的数据有错误,那么就会运行旧版本(当前版本)的正常程序;如果算法校验值a和算法校验值b的比对结果一致,那么就把更新程序备份区域的数据搬运到正常区域进行覆盖,覆盖完成后,按照上述步骤A~步骤C的算法对搬运到正常区域的数据进行校验计算,得到算法校验值c,将算法校验值c和上面提到的保存在标识区域中的算法校验值b做比对。如果比对结果一致,那么升级成功,直接运行正常程序(该正常程序即为搬运至正常区域的数据),如果比对结果不一致,那么就运行故障区域的程序,通过故障区域的程序上传故障信息给服务器,由服务器推送故障信息进行售后服务。
以上所述仅用于描述本发明的技术方案,并不用于限定本发明的保护范围,应当理解,在不违背本发明实质内容和原则的前提下,本领域人员所作任何修改、改进或等同替换等都将落入本发明的保护范围内。

Claims (1)

1.一种用于充电桩安全升级自身程序的客户端软件启动方法,其特征在于,包括:
步骤1,将系统存储区域分区,包括bootcode区域;
步骤2,系统运行程序时,若检测到更新指令,则接收服务器发送过来的升级数据以及所述升级数据的算法校验值b,系统进入bootcode区域;在bootcode区域里判断升级数据的对错情况确定运行正常程序还是运行故障程序;
步骤1所述系统存储区域还包括:正常区域,故障区域,更新程序备份区域,标识区域;
所述bootcode区域:该区域存放系统启动程序,系统一旦启动首先运行到这里,能够通过判断标识区域的数据来确认是否有最新的升级程序需要更新,能够把最新的升级程序从更新程序备份区域搬运到正常区域,能够判断出搬运后的正常区域的硬件是否损坏从而判断下一步启动的程序是正常区域程序还是故障区域程序;
所述正常区域:该区域存放系统正常功能程序,系统能够运行设备的正常功能,能够判断是否进入更新模式,能够保存最新的数据到更新程序备份区域,能够自动软复位启动到bootcode程序;
所述故障区域:该区域存放主动上传故障信息的故障程序,能够主动上传故障信息到服务器,能够运行设备的正常功能,能够判断是否进入更新模式,能够保存最新的数据到更新程序备份区域,能够自动软复位启动到bootcode程序;
所述更新程序备份区域:该区域用来存放最新的程序,能够保存前述正常区域或者故障区域中接收到的更新数据;
标识区域——该区域存放更新成功标志,在正常区域或者故障区域里,在自动软复位启动的时候会对这个区域进行操作,能够使得bootcode程序知道是否有数据需要更新;
步骤2中接收的升级数据保存在所述更新程序备份区域、接收的升级数据的算法校验值b保存在所述标识区域;所述正常程序存放在所述正常区域,所述故障程序存放在所述故障区域;
步骤2中判断升级数据的对错情况确定运行正常程序还是运行故障程序的方法为:
步骤2.1,对更新程序备份区域的升级数据进行校验计算,得到算法校验值a;
步骤2.2,将算法校验值a与算法校验值b比对,若一致,则执行步骤2.3,否则,执行当前版本的程序;
步骤2.3,将更新程序备份区域的升级数据搬运至正常区域;
步骤2.4,对正常区域的升级数据进行校验计算,得到算法校验值c;
步骤2.5,将算法校验值c与算法校验值b比对,若一致,则运行正常区域里的升级数据,否则,执行故障区域的程序;
所述步骤2.5中所述的故障区域的程序包括:
建立一个故障上传通道,上传三次故障信息后自动关闭,然后建立正常通道,设备自动进入正常工作状态;
所述步骤2.1中的校验计算和所述步骤2.4中的校验计算的算法相同,均包括如下步骤:
步骤A,读取升级数据进行32位无符号的累加和;
步骤B,对步骤A计算的值进行按位取反的操作;
步骤C,对步骤B求出来的数据和一个固定值求差值;
所述步骤C中的固定值可自行定义为任一个32位数据。
CN201610130225.8A 2016-03-08 2016-03-08 一种用于充电桩安全升级自身程序的客户端软件启动方法 Active CN105808296B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201610130225.8A CN105808296B (zh) 2016-03-08 2016-03-08 一种用于充电桩安全升级自身程序的客户端软件启动方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201610130225.8A CN105808296B (zh) 2016-03-08 2016-03-08 一种用于充电桩安全升级自身程序的客户端软件启动方法

Publications (2)

Publication Number Publication Date
CN105808296A CN105808296A (zh) 2016-07-27
CN105808296B true CN105808296B (zh) 2019-06-25

Family

ID=56466858

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201610130225.8A Active CN105808296B (zh) 2016-03-08 2016-03-08 一种用于充电桩安全升级自身程序的客户端软件启动方法

Country Status (1)

Country Link
CN (1) CN105808296B (zh)

Families Citing this family (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107229495A (zh) * 2017-05-25 2017-10-03 沃太能源南通有限公司 一种防止能量管理系统远程升级失效的系统及方法
CN107402847B (zh) * 2017-07-28 2020-05-19 安徽江淮汽车集团股份有限公司 一种整车控制器软件的远程升级方法及系统
CN107402794A (zh) * 2017-08-03 2017-11-28 特瓦特能源科技有限公司 一种充电桩自身程序升级方法及装置
CN107748665A (zh) * 2017-09-06 2018-03-02 中国航空工业集团公司西安飞行自动控制研究所 一种适用于水下惯导设备的软件升级方法
CN107797812B (zh) * 2017-09-15 2020-12-04 许继电源有限公司 一种充电机远程在线升级方法及系统
CN107992322B (zh) * 2017-12-04 2021-06-04 上海无线电设备研究所 一种雷达信号处理机dsp代码自更新方法
CN109634781B (zh) * 2018-12-06 2023-03-24 中国航空工业集团公司洛阳电光设备研究所 一种基于嵌入式程序双区备份映像系统及启动方法
CN110825405A (zh) * 2019-10-24 2020-02-21 苏州海鹏科技有限公司 一种逆变器程序更新方法
CN112000358B (zh) * 2020-08-18 2024-05-03 宁波均胜群英汽车系统股份有限公司 充电桩的升级方法与智能充电桩
CN113568633A (zh) * 2021-06-24 2021-10-29 东莞市奥海科技股份有限公司 服务器电源在线更新方法、装置、计算机设备及存储介质
CN116737193A (zh) * 2022-09-23 2023-09-12 荣耀终端有限公司 软件升级方法、电子设备和通信系统

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101329631A (zh) * 2007-06-21 2008-12-24 大唐移动通信设备有限公司 一种嵌入式系统自动检测和恢复启动的方法及装置
CN101650662A (zh) * 2009-08-26 2010-02-17 中兴通讯股份有限公司 一种嵌入式系统的存储器件、固件启动及升级方法
CN102722420A (zh) * 2011-10-25 2012-10-10 中国电力科学研究院 一种自诊断终端、检测方法及远程维护系统
CN104468235A (zh) * 2014-12-25 2015-03-25 浙江中控研究院有限公司 一种基于iap的可配置全网络远程节点固件升级系统及装置
CN105045146A (zh) * 2015-07-03 2015-11-11 深圳市普博科技有限公司 一种具有复位功能的系统及其重启控制方法

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20090125645A1 (en) * 2007-11-12 2009-05-14 Gemalto Inc System and method for supporting multiple tokens having a smart card to control parameters of a flash memory device

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101329631A (zh) * 2007-06-21 2008-12-24 大唐移动通信设备有限公司 一种嵌入式系统自动检测和恢复启动的方法及装置
CN101650662A (zh) * 2009-08-26 2010-02-17 中兴通讯股份有限公司 一种嵌入式系统的存储器件、固件启动及升级方法
CN102722420A (zh) * 2011-10-25 2012-10-10 中国电力科学研究院 一种自诊断终端、检测方法及远程维护系统
CN104468235A (zh) * 2014-12-25 2015-03-25 浙江中控研究院有限公司 一种基于iap的可配置全网络远程节点固件升级系统及装置
CN105045146A (zh) * 2015-07-03 2015-11-11 深圳市普博科技有限公司 一种具有复位功能的系统及其重启控制方法

Also Published As

Publication number Publication date
CN105808296A (zh) 2016-07-27

Similar Documents

Publication Publication Date Title
CN105808296B (zh) 一种用于充电桩安全升级自身程序的客户端软件启动方法
CN110134412B (zh) 软件更新方法、装置、车辆及计算机可读存储介质
CN105302593B (zh) PowerPC主机板的远程升级系统及方法
CN109670319B (zh) 一种服务器flash安全管理方法及其系统
AU2018374925B2 (en) Starting method of energy storage system and energy storage device
CN103176875A (zh) 一种嵌入式系统上电自检方法
CN110971464A (zh) 一种适合灾备中心的运维自动化系统
CN106155685A (zh) 应用程序的管理方法、管理装置及移动终端
GB2512482A (en) Verification program, verification method, and verification device
CN106952425A (zh) 一种终端远程升级方法和pos终端
CN110837377B (zh) 一种应用程序的更新方法及装置、存储介质、电子设备
CN107133056A (zh) 智能设备升级恢复分区的方法和装置
CN109117162A (zh) 一种基于Hypervisor的多系统升级方法
EP3716069A1 (en) Augmented exception prognosis and management in real time safety critical embedded applications
CN107453959B (zh) 一种网卡的管理方法及其装置
CN104753993B (zh) 一种监控服务器的方法及监控设备
US20220282708A1 (en) Providing safety configuration parameters for a wind turbine
CN113687867A (zh) 一种云平台集群的关机方法、系统、设备及存储介质
CN111061255B (zh) 一种电动车的控制方法及设备
KR101322818B1 (ko) 결함 트리 자동 생성 방법 및 장치
CN110880812A (zh) 变电站设备监控方法、装置及变电站设备监控器
CN113805967A (zh) 一种mpu安全启动方法及mpu安全启动系统
CN111831296A (zh) 应用程序更新方法、终端设备和计算机可读存储介质
CN109861868B (zh) 基于Linux的两级三系统架构的网关系统加强方法
CN103713920B (zh) 便携设备操作系统启动保护方法和装置

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
CB02 Change of applicant information

Address after: 213100 room 149, 18 Xinya Road, Wujin national hi tech Industrial Development Zone, Changzhou, Jiangsu

Applicant after: Jiangsu million Bangde and new energy Polytron Technologies Inc

Address before: 213100 room 149, 18 Xinya Road, Wujin national hi tech Industrial Development Zone, Changzhou, Jiangsu

Applicant before: JAINGSU WANBANG DEHE NEW ENERGY TECHNOLOGY CO., LTD.

CB02 Change of applicant information
GR01 Patent grant
GR01 Patent grant
CP01 Change in the name or title of a patent holder

Address after: 213100 room 149, 18 Xinya Road, Wujin national hi tech Industrial Development Zone, Changzhou, Jiangsu

Patentee after: Wanbang Digital Energy Co., Ltd

Address before: 213100 room 149, 18 Xinya Road, Wujin national hi tech Industrial Development Zone, Changzhou, Jiangsu

Patentee before: JIANGSU WANBANG DEHE NEW ENERGY TECHNOLOGY Co.,Ltd.

CP01 Change in the name or title of a patent holder