本发明专利技术属于应用程序在线升级,提供了一种基于通信总线的应用程序批量在线升级方法及系统。其中,该方法包括在进行程序升级前,主机通过轮询地址向所有待升级板卡下发程序升级命令,将响应该命令的待升级板卡设为A类从机,反之设为B类从机并将其作为故障节点处理;其中,各待升级板卡按照设定的总线拓扑连接;主机通过广播方式直接将待烧录的数据包逐帧发送至通信总线,将正确完成数据包接收的A类从机设为C类从机并进行相应程序的烧录;在程序全部烧录完成后,主机关闭广播机制,逐个向C类从机发送复位指令,以期望在应用程序成功启动后,由应用程序回复预先写好的校验信息来确定应用程序是否升级成功。应用程序是否升级成功。应用程序是否升级成功。
【技术实现步骤摘要】
一种基于通信总线的应用程序批量在线升级方法及系统
[0001]本专利技术属于应用程序在线升级,尤其涉及一种基于通信总线的应用程序批量在线升级方法及系统。
技术介绍
[0002]本部分的陈述仅仅是提供了与本专利技术相关的
技术介绍
信息,不必然构成在先技术。
[0003]随着嵌入式及物联网技术的发展,智能硬件越来越多,特别是已经装机的智能硬件板卡,在需要程序升级时,我们不期望对其,重新拆机,为了便于升级维护,通常需要对智能硬件实现在应用编程,即在线升级。
[0004]传统的在线升级,通常是一对一的程序升级过程,如基于485总线的某种在线升级过程是:(1)依据从机地址,选择总线上某待升级设备,与其建立通信;(2)检查是否需要对该从机应用程序进行升级;(3)如不需要升级,则放弃,选择下一从机设备;(4)如需要升级,则主机与该从机建立通信,执行应用程序更新操作;(5)程序更新完成,跳转到应用程序运行。
[0005]专利技术人发现,现有技术为保证应用程序更新操作的安全性,通常是一对一的进行程序升级,在保证程序烧录不出错的情况下,必须要求主从设备之间实时通信,逐帧和整包校验,这样当对挂载在总线上的批量设备进行烧录时,会产生烧录速度慢,效率低的问题。
技术实现思路
[0006]为了解决上述
技术介绍
中存在的技术问题,本专利技术提供一种基于通信总线的应用程序批量在线升级方法及系统,其可以在保证应用程序安全的情况下,批量在线升级挂载在总线上的从机设备的应用程序。
[0007]为了实现上述目的,本专利技术采用如下技术方案:
[0008]本专利技术的第一个方面提供一种基于通信总线的应用程序批量在线升级方法,其包括:
[0009]在进行程序升级前,主机通过轮询地址向所有待升级板卡下发程序升级命令,将响应该命令的待升级板卡设为A类从机,反之设为B类从机并将其作为故障节点处理;其中,各待升级板卡按照设定的总线拓扑连接;
[0010]主机通过广播方式直接将待烧录的数据包逐帧发送至通信总线,将正确完成数据包接收的A类从机设为C类从机并进行相应程序的烧录;
[0011]在程序全部烧录完成后,主机关闭广播机制,逐个向C类从机发送复位指令,以期望在应用程序成功启动后,由应用程序回复预先写好的校验信息来确定应用程序是否升级成功。
[0012]作为一种实施方式,每个待升级板卡在使用过程中,预先设定自己的从机地址。
[0013]作为一种实施方式,主机将正确传入C类从机的数据包逐帧写入对应从机的应用
程序区,使得引导区在程序首次离线烧录后保持不变,备份区存储上次正确烧录的备份程序。
[0014]作为一种实施方式,主机将不正确完成数据包接收的A类从机设为D类从机,D类从机用于引导程区程序将引导备份区程序恢复到应用程序区,确保原程序安全,且主机将记录D类从机,再继续通过轮询地址,将所有D类从机设置为程序升级状态。
[0015]作为一种实施方式,若D类从机再次升级失败,主机将关闭广播模式,按照一对一升级方式,对升级失败的D类从机作最后升级,若再次升级失败,则报警记录从机号,停止升级。
[0016]本专利技术的第二个方面提供一种基于通信总线的应用程序批量在线升级系统,其包括主机以及各待升级板卡;
[0017]各待升级板卡按照设定的总线拓扑连接;
[0018]所述主机用于:
[0019]在进行程序升级前,通过轮询地址向所有待升级板卡下发程序升级命令,将响应该命令的待升级板卡设为A类从机,反之设为B类从机并将其作为故障节点处理;
[0020]通过广播方式直接将待烧录的数据包逐帧发送至通信总线,将正确完成数据包接收的A类从机设为C类从机并进行相应程序的烧录;
[0021]在程序全部烧录完成后,关闭广播机制,逐个向C类从机发送复位指令,以期望在应用程序成功启动后,由应用程序回复预先写好的校验信息来确定应用程序是否升级成功。
[0022]作为一种实施方式,每个待升级板卡在使用过程中,预先设定自己的从机地址。
[0023]作为一种实施方式,主机将正确传入C类从机的数据包逐帧写入对应从机的应用程序区,使得引导区在程序首次离线烧录后保持不变,备份区存储上次正确烧录的备份程序。
[0024]作为一种实施方式,主机将不正确完成数据包接收的A类从机设为D类从机,D类从机用于引导程区程序将引导备份区程序恢复到应用程序区,确保原程序安全,且主机将记录D类从机,再继续通过轮询地址,将所有D类从机设置为程序升级状态。
[0025]作为一种实施方式,若D类从机再次升级失败,主机将关闭广播模式,按照一对一升级方式,对升级失败的D类从机作最后升级,若再次升级失败,则报警记录从机号,停止升级。
[0026]与现有技术相比,本专利技术的有益效果是:
[0027](1)本专利技术利用主机通过轮询地址向所有待升级板卡下发程序升级命令,其中,各待升级板卡按照设定的总线拓扑连接;将响应该命令的待升级板卡设为A类从机,主机通过广播方式直接将待烧录的数据包逐帧发送至通信总线,以完成程序在线升级过程,实现了在保证应用程序安全的情况下,批量在线升级挂载在总线上的从机设备的应用程序。
[0028](2)本专利技术利用主机将不正确完成数据包接收的A类从机设为D类从机,D类从机用于引导程区程序将引导备份区程序恢复到应用程序区,确保原程序安全,且主机将记录D类从机,再继续通过轮询地址,将所有D类从机设置为程序升级状态,再继续升级,实现了在不必拆机的情况下,尽最大限度的实现了程序升级过程的并行烧录,使程序在线升级的速度成倍增长。
[0029]本专利技术附加方面的优点将在下面的描述中部分给出,部分将从下面的描述中变得明显,或通过本专利技术的实践了解到。
附图说明
[0030]构成本专利技术的一部分的说明书附图用来提供对本专利技术的进一步理解,本专利技术的示意性实施例及其说明用于解释本专利技术,并不构成对本专利技术的不当限定。
[0031]图1是本专利技术实施例的各待升级板卡的总线拓扑连接示意图;
[0032]图2是本专利技术实施例的预先划分的待升级板卡的FLASH空间分区;
[0033]图3是本专利技术实施例的基于通信总线的应用程序批量在线升级方法流程图。
具体实施方式
[0034]下面结合附图与实施例对本专利技术作进一步说明。
[0035]应该指出,以下详细说明都是例示性的,旨在对本专利技术提供进一步的说明。除非另有指明,本文使用的所有技术和科学术语具有与本专利技术所属
的普通技术人员通常理解的相同含义。
[0036]需要注意的是,这里所使用的术语仅是为了描述具体实施方式,而非意图限制根据本专利技术的示例性实施方式。如在这里所使用的,除非上下文另外明确指出,否则单数形式也意图包括复数形式,此外,还应当理解的是,当在本说明书中使用术语“包含”和/或“包括”时,其指明存在特征、步骤、操作、器件、组件和/或它们的组合。
[0037]实施例一
[0038本文档来自技高网...
【技术保护点】
【技术特征摘要】
1.一种基于通信总线的应用程序批量在线升级方法,其特征在于,包括:在进行程序升级前,主机通过轮询地址向所有待升级板卡下发程序升级命令,将响应该命令的待升级板卡设为A类从机,反之设为B类从机并将其作为故障节点处理;其中,各待升级板卡按照设定的总线拓扑连接;主机通过广播方式直接将待烧录的数据包逐帧发送至通信总线,将正确完成数据包接收的A类从机设为C类从机并进行相应程序的烧录;在程序全部烧录完成后,主机关闭广播机制,逐个向C类从机发送复位指令,以期望在应用程序成功启动后,由应用程序回复预先写好的校验信息来确定应用程序是否升级成功。2.如权利要求1所述的基于通信总线的应用程序批量在线升级方法,其特征在于,每个待升级板卡在使用过程中,预先设定自己的从机地址。3.如权利要求1所述的基于通信总线的应用程序批量在线升级方法,其特征在于,主机将正确传入C类从机的数据包逐帧写入对应从机的应用程序区,使得引导区在程序首次离线烧录后保持不变,备份区存储上次正确烧录的备份程序。4.如权利要求1所述的基于通信总线的应用程序批量在线升级方法,其特征在于,主机将不正确完成数据包接收的A类从机设为D类从机,D类从机用于引导程区程序将引导备份区程序恢复到应用程序区,确保原程序安全,且主机将记录D类从机,再继续通过轮询地址,将所有D类从机设置为程序升级状态。5.如权利要求4所述的基于通信总线的应用程序批量在线升级方法,其特征在于,若D类从机再次升级失败,主机将关闭广播模式,按照一对一升级方式,对升级失败的D类从机作最后升级,若再次升级失败,则报警记录从机号,停止升级。6.一种基于通信总线的...
【专利技术属性】
技术研发人员:郭昆,刘勇,冯铎,郎泽光,
申请(专利权)人:中孚信息股份有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。