工控设备的系统升级方法及系统升级装置、电控设备与流程

文档序号:24305207发布日期:2021-03-17 00:57阅读:101来源:国知局
工控设备的系统升级方法及系统升级装置、电控设备与流程

本发明涉及系统升级技术领域,具体而言,涉及一种工控设备的系统升级方法及系统升级装置、电控设备。



背景技术:

相关技术中,cotex-m4处理器是arm专门开发的嵌入式处理器,支持浮点、dsp、并行计算等,凭借其低功耗、低成本和易于使用的优点,被普遍应用于电机控制、汽车、电源管理、嵌入式音频和工业自动化市场,随着市场需求,基于cotex-m4的工业控制系统越来越多,系统的安全维护与升级成为关键。而当前的工业控制系统中,无法实现系统的实时更新与维护,只能在网络有线连线时,才能实现内部的系统升级,无法实现系统的远程升级维护,而且当前的控制系统系统时,很容易发生代码泄露,导致系统升级安全性较低。

针对上述的问题,目前尚未提出有效的解决方案。



技术实现要素:

本发明实施例提供了一种工控设备的系统升级方法及系统升级装置、电控设备,以至少解决相关技术中在进行控制系统升级时,升级环境限制较多,无法实现系统的远程升级维护的技术问题。

根据本发明实施例的一个方面,提供了一种工控设备的系统升级方法,应用于预设嵌入式处理器,所述预设嵌入式处理器支持远程系统升级,包括:在进入系统升级模式时,获取目标板卡当前运行的第一系统,其中,所述第一系统运行于第一存储区;擦除第二存储区;写入第二系统的系统文件至所述第二存储区,以完成系统的远程升级任务。

可选地,获取目标板卡当前运行的第一系统之前,所述工控设备的系统升级方法还包括:将用于系统升级的目标存储空间划分为多个存储区块,其中,所述多个存储区块包括:引导区、标识区、第一存储区和第二存储区,所述引导区是指引导代码启动方式的区域,所述标识区用于存储识别第一系统和第二系统的系统标识的区域。

可选地,写入第二系统的系统文件至所述第二存储区,以完成系统的远程升级任务的步骤,包括:将所述第二系统的系统文件划分为多份子文件;将所述多份子文件按照文件排列顺序依次写入所述第二存储区;每写一次系统子文件,判断一次写入的系统子文件是否正确;若不正确,重新写入系统子文件;若写入正确,则继续写入系统子文件,直到系统文件写入完为止。

可选地,在写入第二系统的系统文件至所述第二存储区,以完成系统的远程升级任务之后,所述工控设备的系统升级方法还包括:擦除所述标识区;将第二系统启动所需要的系统标识写入所述标识区。

可选地,在写入第二系统的系统文件至所述第二存储区,以完成系统的远程升级任务之后,所述工控设备的系统升级方法还包括:根据预设升级算法,计算升级后系统文件的物理地址值;判断所述物理地址值是否与预设地址值一致;若所述物理地址值与预设地址值一致,则确定升级后的系统能够正常使用;若所述物理地址值与预设地址值不一致,回退系统版本至所述第一系统。

可选地,所述工控设备的系统升级方法应用于远程网络系统升级环境。

根据本发明实施例的另一方面,还提供了一种工控设备的系统升级装置,应用于预设嵌入式处理器,所述预设嵌入式处理器支持远程系统升级,包括:获取单元,用于在进入系统升级模式时,获取目标板卡当前运行的第一系统,其中,所述第一系统运行于第一存储区;擦除单元,用于擦除第二存储区;升级单元,用于写入第二系统的系统文件至所述第二存储区,以完成系统的远程升级任务。

可选地,所述工控设备的系统升级装置还包括:划分单元,用于获取目标板卡当前运行的第一系统之前,将用于系统升级的目标存储空间划分为多个存储区块,其中,所述多个存储区块包括:引导区、标识区、第一存储区和第二存储区,所述引导区是指引导代码启动方式的区域,所述标识区用于存储识别第一系统和第二系统的系统标识的区域。

可选地,所述升级单元包括:第一划分模块,用于将所述第二系统的系统文件划分为多份子文件;第一写入模块,用于将所述多份子文件按照文件排列顺序依次写入所述第二存储区;第一判断模块,用于在每写一次系统子文件,判断一次写入的系统子文件是否正确;第二写入模块,用于在不正确时,重新写入系统子文件;第三写入模块,用于在写入正确时,则继续写入系统子文件,直到系统文件写入完为止。

可选地,在写入第二系统的系统文件至所述第二存储区,以完成系统的远程升级任务之后,所述工控设备的系统升级方法还包括:擦除所述标识区;将第二系统启动所需要的系统标识写入所述标识区。

可选地,所述工控设备的系统升级装置还包括:计算单元,用于在写入第二系统的系统文件至所述第二存储区,以完成系统的远程升级任务之后,根据预设升级算法,计算升级后系统文件的物理地址值;第二判断单元,用于判断所述物理地址值是否与预设地址值一致;第一确定模块,用于在所述物理地址值与预设地址值一致,则确定升级后的系统能够正常使用;回退模块,用于所述物理地址值与预设地址值不一致,回退系统版本至所述第一系统。

可选地,所述工控设备的系统升级方法应用于远程网络系统升级环境。

根据本发明实施例的另一方面,还提供了一种电控设备,包括:处理器;以及存储器,用于存储所述处理器的可执行指令;其中,所述处理器配置为经由执行所述可执行指令来执行上述任意一项所述的工控设备的系统升级方法。

根据本发明实施例的另一方面,还提供了一种计算机可读存储介质,所述计算机可读存储介质包括存储的计算机程序,其中,在所述计算机程序运行时控制所述计算机可读存储介质所在设备执行上述任意一项所述的工控设备的系统升级方法。

本发明实施例中,在进入系统升级模式时,获取目标板卡当前运行的第一系统,其中,第一系统运行于第一存储区;擦除第二存储区;写入第二系统的系统文件至第二存储区,以完成系统的远程升级任务。在该实施例中,可以在有网络的情况下,远程实现系统的升级更新,能够有效安全的远程维护系统代码不被别人盗取,提高系统升级过程中的安全性,从而解决相关技术中在进行控制系统升级时,升级环境限制较多,无法实现系统的远程升级维护的技术问题。

附图说明

此处所说明的附图用来提供对本发明的进一步理解,构成本申请的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:

图1是根据本发明实施例的一种可选的工控设备的系统升级方法的流程图;

图2是根据本发明实施例的一种可选的划分存储空间的示意图;

图3是根据本发明实施例的一种可选的从系统a升级到系统b的示意图;

图4是根据本发明实施例的一种可选的工控设备的系统升级装置的示意图。

具体实施方式

为了使本技术领域的人员更好地理解本发明方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分的实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明保护的范围。

需要说明的是,本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本发明的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。

为便于本领域技术人员理解本发明,下面对本发明各实施例中涉及的部分术语或名词做出解释:

mac(messageauthenticationcode):消息认证码,保证消息数据完整性的一种工具。

sm3:密码杂凑算法,主要用于数字签名及验证、消息认证码生成及验证、随机数生成等,其算法公开。

id(identifier):标识符。

本发明适用于cotex-m4处理器的远程系统升级方法,可选择性的支持本地或者远程对系统升级与维护,在实现系统升级的同时,还增加了安全性验证,保证了代码的安全性,防止被盗用;而且本发明的实施方法简单易操作,在系统快速升级的同时保证了系统升级的有效性。下面结合各个实施例来详细说明本发明。

实施例一

根据本发明实施例,提供了一种工控设备的系统升级方法实施例,需要说明的是,在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机系统中执行,并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。

本发明实施例提供了一种工控设备的系统升级方法,应用于预设嵌入式处理器,预设嵌入式处理器支持远程系统升级。

图1是根据本发明实施例的一种可选的工控设备的系统升级方法的流程图,如图1所示,该方法包括如下步骤:

步骤s102,在进入系统升级模式时,获取目标板卡当前运行的第一系统,其中,第一系统运行于第一存储区;

步骤s104,擦除第二存储区;

步骤s106,写入第二系统的系统文件至第二存储区,以完成系统的远程升级任务。

通过上述步骤,可以在进入系统升级模式时,获取目标板卡当前运行的第一系统,其中,第一系统运行于第一存储区;擦除第二存储区;写入第二系统的系统文件至第二存储区,以完成系统的远程升级任务。在该实施例中,可以在有网络的情况下,远程实现系统的升级更新,能够有效安全的远程维护系统代码不被别人盗取,提高系统升级过程中的安全性,从而解决相关技术中在进行控制系统升级时,升级环境限制较多,无法实现系统的远程升级维护的技术问题。

本发明实施例中的工控设备的系统升级方法,可应用于远程网络系统升级环境。有效安全的远程维护自己的代码不被别人盗取,且能够安全的实现系统远程升级,方便程序设计人员无论何时何地只要有网络情况下都能对系统实时更新与维护;系统的升级维护不会失败的,除非硬件已经损坏,保证了系统升级过程中的安全性。

本发明实施例中的系统升级方法适用于cotex-m4处理器,适用于工业控制领域任何用cotex-m4控制系统,能够应用的设备包括但不限于:电机控制设备、汽车、电源管理系统、嵌入式音频设备或其它自动化控制设备中。

下面结合上述各实施步骤详细说明本发明实施例。

可选的,获取目标板卡当前运行的第一系统之前,工控设备的系统升级方法还包括:将用于系统升级的目标存储空间划分为多个存储区块,其中,多个存储区块包括:引导区、标识区、第一存储区和第二存储区,引导区是指引导代码启动方式的区域,标识区用于存储识别第一系统和第二系统的系统标识的区域。

图2是根据本发明实施例的一种可选的划分存储空间的示意图,如图2所示,将存储空间划分为引导区、标识区、a系统区(可指示上述的第一存储区)、b系统区(可指示上述的第二存储区),这些存储区的大小可以根据用户使用情况自己定义,其中,引导区可用于引导代码启动,例如,将引导区大小设置为0x00-0x7ff位;标识区,可用于存储用于识别a系统还是b系统的id号的区域,例如,标识区大小设置为0x800-0xfff;a系统区,可存储第一系统a的代码段,其大小可根据不同的系统大小来定义,例如,a系统区大小设置为0x1000-0x1ffff;b系统区,可存储第二系统b的代码段,其大小可根据不同的系统大小来定义,例如,b系统区大小设置为0x2000-0x3ffff。

在整个存储空间大小设置完成,可以进入系统升级流程,实现第一系统升级到第二系统,或者说系统a升级到系统b,或者系统b升级到系统a。

在实现系统升级时,需要先区分第一系统与第二系统的标识区,例如,若从第一系统a启动,则写入标识区为:a.id,a.id,其中,设置a.id=0x20200306;若从第二系统b启动,则写入标识区为:a.id,b.id,其中b.id=0x19780308。

步骤s102,在进入系统升级模式时,获取目标板卡当前运行的第一系统,其中,第一系统运行于第一存储区。

在进行系统升级时,需要确定板卡当前运行的系统,然后才会擦除第二存储区,写入系统程序到第二存储区。

步骤s104,擦除第二存储区。

步骤s106,写入第二系统的系统文件至第二存储区,以完成系统的远程升级任务。

在本发明实施例中,写入第二系统的系统文件至第二存储区,以完成系统的远程升级任务的步骤,包括:将第二系统的系统文件划分为多份子文件;将多份子文件按照文件排列顺序依次写入第二存储区;每写一次系统子文件,判断一次写入的系统子文件是否正确;若不正确,重新写入系统子文件;若写入正确,则继续写入系统子文件,直到系统文件写入完为止。

在升级系统过程中,向第二存储区写入待升级的第二系统时,每写一次都要判断一次写入的是否正确,若不正确重新写入,若写入正确则继续写入,直到系统程序写入完为止。

可选的,在写入第二系统的系统文件至第二存储区,以完成系统的远程升级任务之后,工控设备的系统升级方法还包括:擦除标识区;将第二系统启动所需要的系统标识写入标识区。

在本发明实施例中,系统程序完全写入后,擦除标识区,然后把第二系统启动所需要的标识id写入到标识区,例如,设置的待写入标识区标志为:0x0:0x20200306;0x4:0x19780308。

另一种可选的,在写入第二系统的系统文件至第二存储区,以完成系统的远程升级任务之后,工控设备的系统升级方法还包括:根据预设升级算法,计算升级后系统文件的物理地址值;判断物理地址值是否与预设地址值一致;若物理地址值与预设地址值一致,则确定升级后的系统能够正常使用;若物理地址值与预设地址值不一致,回退系统版本至第一系统。

上述预设升级算法可以为m3算法,根据预设升级算法,计算升级后代码的物理地址值/杂凑值(即mac值)是否和设计员给定的mac值一样,若一致,则表示是在用户允许的情况下升级系统,用户可以正常使用升级后的系统,若不一致,则系统自动回退到之前使用的第一系统。可选的,上述实施方式也可以选择数字签名的方式实现,具体根据不同的具体项目要求设计,主要是为了验证的系统是否被攻击或者修改,有效保证系统升级的安全性。

下面结合一种可选的具体实施方式来说明本发明。

图3是根据本发明实施例的一种可选的从系统a升级到系统b的示意图,如图3所示,在网络通讯成功的情况下进入系统升级流程,主要描述系统a升级到系统b的过程:第一步,确定当前系统为a,即确定目标板卡当前运行的系统属于系统a;第二步,擦除系统b,即擦除b系统存储区,第三步,写入系统程序到b系统区。每写一次都要判断一次写入的数据是否正确,若不正确重新写入,若写入正确则继续写入,直到系统程序写入完为止。第四步,系统程序完全写入后,擦除标识区。第五步,写入系统b的id到标识区,即将系统b启动所需要的id写入到标识区,如设置要写入标识区的标志为:0x0:0x20200306;0x4:0x19780308。写入成功后用户还不能正常使用系统,第六步,判断mac校验是否成功,本发明实施例中,可以根据sm3算法,计算升级后代码的杂凑值(即mac值)是否和设计员给定的mac值一样,若一致,则表示是在用户允许的情况下升级系统,用户可以正常使用升级后的系统,若不一致,则系统自动回退到之前使用的系统。

通过上述实施例,可以实现适用于预设处理器cotex-m4的远程系统升级,支持本地或者远程对系统升级与维护,在实现系统升级的同时增加mac验证,保证了代码的安全性,防止被盗用。方法简单易操作,系统快速升级的同时保证了系统升级的有效性。

下面结合另一种可选的实施例来说明本发明。

实施例二

图4是根据本发明实施例的一种可选的工控设备的系统升级装置的示意图,应用于预设嵌入式处理器,预设嵌入式处理器支持远程系统升级,如图4所示,该系统升级装置可以包括:获取单元41,擦除单元43,升级单元45,其中,

获取单元41,用于在进入系统升级模式时,获取目标板卡当前运行的第一系统,其中,第一系统运行于第一存储区;

擦除单元43,用于擦除第二存储区;

升级单元45,用于写入第二系统的系统文件至第二存储区,以完成系统的远程升级任务。

上述工控设备的系统升级装置,可以通过获取单元41在进入系统升级模式时,获取目标板卡当前运行的第一系统,其中,第一系统运行于第一存储区,通过擦除单元43擦除第二存储区,通过升级单元45写入第二系统的系统文件至第二存储区,以完成系统的远程升级任务。在该实施例中,可以在有网络的情况下,远程实现系统的升级更新,能够有效安全的远程维护系统代码不被别人盗取,提高系统升级过程中的安全性,从而解决相关技术中在进行控制系统升级时,升级环境限制较多,无法实现系统的远程升级维护的技术问题。

可选的,工控设备的系统升级装置还包括:划分单元,用于获取目标板卡当前运行的第一系统之前,将用于系统升级的目标存储空间划分为多个存储区块,其中,多个存储区块包括:引导区、标识区、第一存储区和第二存储区,引导区是指引导代码启动方式的区域,标识区用于存储识别第一系统和第二系统的系统标识的区域。

另一种可选的,升级单元包括:第一划分模块,用于将第二系统的系统文件划分为多份子文件;第一写入模块,用于将多份子文件按照文件排列顺序依次写入第二存储区;第一判断模块,用于在每写一次系统子文件,判断一次写入的系统子文件是否正确;第二写入模块,用于在不正确时,重新写入系统子文件;第三写入模块,用于在写入正确时,则继续写入系统子文件,直到系统文件写入完为止。

可选的,在写入第二系统的系统文件至第二存储区,以完成系统的远程升级任务之后,工控设备的系统升级方法还包括:擦除标识区;将第二系统启动所需要的系统标识写入标识区。

可选的,工控设备的系统升级装置还包括:计算单元,用于在写入第二系统的系统文件至第二存储区,以完成系统的远程升级任务之后,根据预设升级算法,计算升级后系统文件的物理地址值;第二判断单元,用于判断物理地址值是否与预设地址值一致;第一确定模块,用于在物理地址值与预设地址值一致,则确定升级后的系统能够正常使用;回退模块,用于物理地址值与预设地址值不一致,回退系统版本至第一系统。

在本发明实施例中,工控设备的系统升级方法应用于远程网络系统升级环境。

上述的工控设备的系统升级装置还可以包括处理器和存储器,上述获取单元41,擦除单元43,升级单元45等均作为程序单元存储在存储器中,由处理器执行存储在存储器中的上述程序单元来实现相应的功能。

上述处理器中包含内核,由内核去存储器中调取相应的程序单元。内核可以设置一个或以上,通过调整内核参数来写入第二系统的系统文件至第二存储区,以完成系统的远程升级任务。

上述存储器可能包括计算机可读介质中的非永久性存储器,随机存取存储器(ram)和/或非易失性内存等形式,如只读存储器(rom)或闪存(flashram),存储器包括至少一个存储芯片。

根据本发明实施例的另一方面,还提供了一种电控设备,包括:处理器;以及存储器,用于存储处理器的可执行指令;其中,处理器配置为经由执行可执行指令来执行上述任意一项的工控设备的系统升级方法。

根据本发明实施例的另一方面,还提供了一种计算机可读存储介质,计算机可读存储介质包括存储的计算机程序,其中,在计算机程序运行时控制计算机可读存储介质所在设备执行上述任意一项的工控设备的系统升级方法。

本申请还提供了一种计算机程序产品,当在数据处理设备上执行时,适于执行初始化有如下方法步骤的程序:在进入系统升级模式时,获取目标板卡当前运行的第一系统,其中,第一系统运行于第一存储区;擦除第二存储区;写入第二系统的系统文件至第二存储区,以完成系统的远程升级任务。

上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。

在本发明的上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。

在本申请所提供的几个实施例中,应该理解到,所揭露的技术内容,可通过其它的方式实现。其中,以上所描述的装置实施例仅仅是示意性的,例如所述单元的划分,可以为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,单元或模块的间接耦合或通信连接,可以是电性或其它的形式。

所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。

另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。

所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可为个人计算机、服务器或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:u盘、只读存储器(rom,read-onlymemory)、随机存取存储器(ram,randomaccessmemory)、移动硬盘、磁碟或者光盘等各种可以存储程序代码的介质。

以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1