CN103336701B - 智能型引导升级方法 - Google Patents
智能型引导升级方法 Download PDFInfo
- Publication number
- CN103336701B CN103336701B CN201310248166.0A CN201310248166A CN103336701B CN 103336701 B CN103336701 B CN 103336701B CN 201310248166 A CN201310248166 A CN 201310248166A CN 103336701 B CN103336701 B CN 103336701B
- Authority
- CN
- China
- Prior art keywords
- host computer
- equipment
- burning
- data
- system start
- 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
Links
Abstract
一种智能型引导升级方法,涉及工业设备应用模块升级方法。上位机完成对应用模块进行复位,上位机对系统启动加载器(bootloader)引导程序通过相应的指令完成对应用模块的升级;系统启动加载器(bootloader)引导程序在接收到上位机的指令后,对闪存(FLASH)进行相应的操作,也可以在没有上位机指令的情况下,引导启动应用模块;应用模块除了完成本身的逻辑功能外,主设备在通讯上能够实现间隔查询上位机软件是否处于等待状态,如果处于等待状态,则停止和从设备的通讯,主从设备都具有接受上位机的复位指令,并完成复位至系统启动加载器(bootloader)引导程序的功能。本发明使设备的升级操作方便,并提高了效率。
Description
技术领域
本发明涉及工业设备应用模块升级方法。
背景技术
目前在工业控制应用中,有越来越多的设备是以主从方式进行运行的,一主一从或者是一主多从。
随着应用模块的不断完善和更新,不可避免的会遇到应用模块需要升级的问题,根据现有的升级方式,是通过对每台设备进行逐一升级,对于一主多从的设备进行升级时,则可能需要多几百甚至上千台设备进行相同的操作已完成控制软件的升级,重要的是某些设备的安装比较特殊,不容易对这些设备进行升级。
现有的升级方案,通常是选择能够支持自动擦除、烧写闪存(FLASH)的处理器,在处理器启动部分加入系统启动加载器(bootloader)引导程序,以完成升级应用模块升级或者引导应用模块启动。现有的方案有两大特点:第一,需要对设备进行重新上电复位,才能进行应用模块升级;第二,每次只能对一台设备进行升级。但是,现有的方案需要上电复位,升级操作较复杂;每次升级一台设备,对于一主多从的设备升级,则需要重复多次相同的操作,需要花费更多的时间和更大的成本。
发明内容
本发明的目的在于提供一种提高效率的智能型引导升级方法。
本发明的目的可以这样实现,设计一种智能型引导升级方法,包括以下步骤:
A、上位机运行,开始监听主设备与从设备的通讯情况;
B、如果主设备与从设备在通讯,则上位机处于等待状态;
C、如果上位机收到主设备查询上位机是否处于待机状态的请求,上位机则向主设备作出处于待机状态的应答;主设备每隔一段时间查询一次是否有上位机处于等待状态,当收到上位机的已处于等待状态,则主设备停止和从设备通讯,并将主设备的状态切换为从设备状态;
D、如果主设备与从设备持续一段时间内无通讯,则上位机开始发送复位指令,在下一步操作之前一直发送复位指令,使主设备和从设备复位至系统启动加载器引导状态;
E、用户操作查询相关设备后,上位机开始查询处于主从总线上的主、从设备;
F、上位机收到设备的应答指令后,如果收到设备的信息和用户选择的设备信息是一致的,则显示在上位机上,供用户选择是否进行升级操作;
G、用户选择已经查询到的设备后,选择连接设备操作后,上位机发送连接指令给相应的设备,使选择的设备处于等待烧录状态;
H、用户选择烧录操作后,上位机发送擦除指令;
I、上位机进行上一步骤后经过时间T0收到擦除成功的结果反馈,上位机开始按照设定的间隔时间T2发送烧录数据给要烧录的设备;
J、烧录完成后,上位机对应用模块文件计算循环冗余校验码,将应用模块的长度数据和循环冗余校验码数据通过校验命令发送给相应设备;
K、上位机收到相应设备的校验命令应答数据后,显示设备是否烧录成功,若还有已经连接、烧录的设备没有进行校验则回到上一步骤。
进一步地,所述系统启动加载器引导包括;
R1、当收到上位机的复位指令后,复位至系统启动加载器起始处开始运行;
R2、收到上位机的查询命令,如果查询的设备地址和自己的设备地址是一致的,则应答设备本身的硬件和软件信息数据传给上位机;
R3、收到上位机的连接命令,如果连接的设备地址和自己的设备地址是一致的,则应答连接成功状态给上位机,且系统启动加载器处于等待烧录状态;
R4、收到上位机的擦除命令,且设备已经过步骤R3处于等待烧录状态,则开始擦除应用模块闪存区域,擦除完成后回到等待烧录状态;
R5、收到上位机的烧录命令,且设备处于等待烧录状态则将烧录数据包中的烧录数据取出,开始将烧录数据写入到闪存中,烧录完成后回到等待烧录状态;
R6、收到上位机的校验命令,如果连接的设备地址和自己的设备地址是一致的,且设备处于等待烧录状态,则取出校验数据包中的应用模块长度数据和循环冗余校验码数据,系统启动加载器开始对闪存中应用模块起始地址处的应用模块文件长度取数据进行循环冗余校验码计算,如果计算出的循环冗余校验码数据和上位机发送的循环冗余校验码数据一致则应答烧录成功信息给上位机,否则应答失败信息给上位机;循环冗余校验码计算需要时间为T3,根据供应商芯片的FLASH总大小设计为最大时间即可,例如对富士通MB9A112M设为3S;
R7、系统启动加载器在启动后10s内若无收到任何有效的系统启动加载器指令,则引导启动应用模块。
本发明解决主从设备正在运行时,能够通过上位机使主从机设备之间的通讯停止,以等待上位机的指令,不需要上电复位;可以通过上位机自动复位设备,解决对某些安装特殊不易进行操作的设备升级;可以一次完成对所有同种设备进行升级。使设备的升级操作方便,提高效率。
附图说明
图1是本发明较佳实施例的流程图;
图2是本发明较佳实施例的流程图。
具体实施方式
以下结合实施例对本发明作进一步的描述。
一种智能型引导升级方法,包括以下步骤:
A、上位机运行,开始监听主设备与从设备的通讯情况;
B、如果主设备与从设备在通讯,则上位机处于等待状态;
C、如果上位机收到主设备的查询上位机是否待机状态,则应答主设备处于待机状态;
D、如果主设备与从设备持续一段时间Ts内无通讯,则上位机开始发送复位指令,在下一步操作之前一直发送复位指令,使主设备和从设备复位至系统启动加载器引导状态;无通讯的时间段一般设置在20秒内,本实施例设置为5秒;
E、用户操作查询相关设备后,上位机开始查询处于主从总线上的主、从设备;
F、上位机收到设备的应答指令后,如果收到设备的信息和用户选择的设备是一致的,则显示在上位机上,供用户选择是否进行升级操作;
G、用户选择已经查询到的设备后,选择连接设备操作后,上位机发送连接指令给相应的设备,使选择的设备处于等待烧录状态;
H、用户选择烧录操作后,上位机发送擦除指令;
I、上位机进行上一步骤后经过时间T0收到擦除成功的结果反馈后,上位机开始按照设定的间隔时间T2发送烧录数据给要烧录的设备;T0的时间根据不同供应商处理器芯片和FLASH的大小而定,例如富士通MB9A112M时间大于2s;T2时间根据烧录数据的数量和供应商处理器芯片等有关,例如对富士通MB9A112M、数据数据为254bytes需时间约50ms;
J、烧录完成后,上位机对应用模块文件计算循环冗余校验码(CRC16),将应用模块文件的长度数据和循环冗余校验码数据(CRC16)通过校验命令发送给相应设备;
K、上位机收到相应设备的校验命令应答数据后,显示设备是否烧录成功,若还有已经连接、烧录的设备没有进行校验则回到上一步骤。
所述系统启动加载器引导包括;
R1、系统启动加载器(bootloader)支持复位指令,当收到上位机的复位指令后,复位至系统启动加载器(bootloader)起始处开始运行;
R2、系统启动加载器(bootloader)收到上位机的查询命令,如果查询的设备地址和自己的设备地址是一致的,则应答设备本身的硬件和软件信息数据传给上位机;
R3、系统启动加载器(bootloader)收到上位机的连接命令,如果连接的设备地址和自己的设备地址是一致的,则应答连接成功状态给上位机,且系统启动加载器(bootloader)处于等待烧录状态;
R4、系统启动加载器(bootloader)收到上位机的擦除命令,且设备已经过步骤R3处于等待烧录状态,则开始擦除应用模块闪存(FLASH)区域,擦除完成后回到等待烧录状态;
R5、系统启动加载器(bootloader)收到上位机的烧录命令,且设备处于等待烧录状态则将烧录数据包中的烧录数据取出,开始将烧录数据写入到闪存(FLASH)中,烧录完成后回到等待烧录状态;
R6、系统启动加载器(bootloader)收到上位机的校验命令,如果连接的设备地址和自己的设备地址是一致的,且设备处于等待烧录状态,则取出校验数据包中的应用模块长度数据和循环冗余校验码数据(CRC),系统启动加载器开始对闪存中应用模块起始地址处的应用模块文件长度取数据进行循环冗余校验码计算,系统启动加载器(bootloader)的算法和上位机的算法一致,如果计算出的循环冗余校验码(CRC)数据和上位机发送的循环冗余校验码(CRC)数据一致则应答烧录成功信息给上位机,否则应答失败信息给上位机;循环冗余校验码计算需要时间为T3,根据供应商芯片的FLASH总大小设计为最大时间即可,例如对富士通MB9A112M设为3S;校验数据长度:从应用模块起始地址起到应用模块结束,即为应用模块的长度;
R7、系统启动加载器(bootloader)在启动后10s内若无收到任何有效的系统启动加载器(bootloader)指令,则引导启动应用模块。对于时间,本实施例设为5秒。
上位机完成对应用模块进行复位,上位机对系统启动加载器(bootloader)引导程序通过相应的指令完成对应用模块的升级,当上位机连续时间Ts没有监控到有数据,则允许发送复位指令给设备;系统启动加载器(bootloader)引导程序在接收到上位机的指令后,对闪存(FLASH)进行相应的操作,也可以在没有上位机指令的情况下,引导启动应用模块;应用模块除了完成本身的逻辑功能外,主设备在通讯上能够实现间隔查询上位机软件是否处于等待状态,如果处于等待状态,则停止和从设备的通讯,主从设备都具有接受上位机的复位指令,并完成复位至系统启动加载器(bootloader)引导程序的功能。
对主设备应用模块有一定的要求,由于对于主从设备,主从设备之间是一直处于通讯状态的,要想在不需要对主从设备进行断电复位的情况下使主设备停止,需要主设备应用模块能够通过一定的机制停止和从设备的通讯,并变为从设备,这样才能使主从设备能够接收上位机的复位指令和系统启动加载器(bootloader)指令。
主设备平时都是与从设备进行通讯的,但是,主设备每隔一段时间(本发明设定为60s)查询一次是否有上位机处于等待状态,称为“心跳包”,当收到上位机的已处于等待状态,则主设备停止和从设备通讯,并将自己的状态切换为从设备状态。
对于主从设备应用模块均不支持所有的系统启动加载器(bootloader)烧录指令,仅支持复位指令,当收到有效的复位指令后,则应用模块完成复位至系统启动加载器(bootloader)起始处的功能。
本发明解决主设备与从设备正在运行时,能够通过上位机使主设备与从设备之间的通讯停止,以等待上位机的指令,不需要上电复位;可以通过上位机自动复位设备,解决对某些安装特殊不易进行操作的设备升级;可以一次完成对所有同种设备进行升级。本发明使设备的升级操作方便,并提高了效率。
Claims (2)
1.一种智能型引导升级方法,其特征在于包括以下步骤:
A、上位机运行,开始监听主设备与从设备的通讯情况;
B、如果主设备与从设备在通讯,则上位机处于等待状态;
C、如果上位机收到主设备查询上位机是否处于待机状态的请求,上位机则向主设备作出处于待机状态的应答;主设备每隔一段时间查询一次是否有上位机处于等待状态,当收到上位机的已处于等待状态,则主设备停止和从设备通讯,并将主设备的状态切换为从设备状态;
D、如果主设备与从设备持续一段时间内无通讯,则上位机开始发送复位指令,在下一步操作之前一直发送复位指令,使主设备和从设备复位至系统启动加载器引导状态;
E、用户操作查询相关设备后,上位机开始查询处于主从总线上的主、从设备;
F、上位机收到设备的应答指令后,如果收到设备的信息和用户选择的设备信息是一致的,则显示在上位机上,供用户选择是否进行升级操作;
G、用户选择已经查询到的设备后,选择连接设备操作后,上位机发送连接指令给相应的设备,使选择的设备处于等待烧录状态;
H、用户选择烧录操作后,上位机发送擦除指令;
I、上位机进行上一步骤后经过时间T0收到擦除成功的结果反馈,上位机开始按照设定的间隔时间T2发送烧录数据给要烧录的设备;
J、烧录完成后,上位机对应用模块文件计算循环冗余校验码,将应用模块文件的长度数据和循环冗余校验码数据通过校验命令发送给相应设备;
K、上位机收到相应设备的校验命令应答数据后,显示设备是否烧录成功,若还有已经连接、烧录的设备没有进行校验则回到上一步骤。
2.根据权利要求1所述的智能型引导升级方法,其特征在于:所述系统启动加载器引导包括;
R1、当收到上位机的复位指令后,复位至系统启动加载器起始处开始运行;
R2、收到上位机的查询命令,如果查询的设备地址和自己的设备地址是一致的,则应答设备本身的硬件和软件信息数据传给上位机;
R3、收到上位机的连接命令,如果连接的设备地址和自己的设备地址是一致的,则应答连接成功状态给上位机,且系统启动加载器处于等待烧录状态;
R4、收到上位机的擦除命令,且设备已经过步骤R3处于等待烧录状态,则开始擦除应用模块闪存区域,擦除完成后回到等待烧录状态;
R5、收到上位机的烧录命令,且设备处于等待烧录状态则将烧录数据包中的烧录数据取出,开始将烧录数据写入到闪存中,烧录完成后回到等待烧录状态;
R6、收到上位机的校验命令,如果连接的设备地址和自己的设备地址是一致的,且设备处于等待烧录状态,则取出校验数据包中的应用模块长度数据和循环冗余校验码数据,系统启动加载器开始对闪存中应用模块起始地址处的应用模块文件长度取数据进行循环冗余校验码计算,如果计算出的循环冗余校验码数据和上位机发送的循环冗余校验码数据一致则应答烧录成功信息给上位机,否则应答失败信息给上位机;循环冗余校验码计算需要时间为T3,根据供应商芯片的FLASH总大小设计为最大时间即可;
R7、系统启动加载器在启动后10s内若无收到任何有效的系统启动加载器指令,则引导启动应用模块。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310248166.0A CN103336701B (zh) | 2013-06-20 | 2013-06-20 | 智能型引导升级方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310248166.0A CN103336701B (zh) | 2013-06-20 | 2013-06-20 | 智能型引导升级方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN103336701A CN103336701A (zh) | 2013-10-02 |
CN103336701B true CN103336701B (zh) | 2016-08-24 |
Family
ID=49244877
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201310248166.0A Active CN103336701B (zh) | 2013-06-20 | 2013-06-20 | 智能型引导升级方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN103336701B (zh) |
Families Citing this family (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103559066B (zh) * | 2013-11-19 | 2017-03-08 | 上海创程车联网络科技有限公司 | 基于canopen协议的嵌入式软件升级方法 |
CN105487890A (zh) * | 2015-11-25 | 2016-04-13 | 天津航空机电有限公司 | 一种基于c51系列单片机内核的固件下载方法 |
CN108228217A (zh) * | 2018-01-18 | 2018-06-29 | 晶晨半导体(上海)股份有限公司 | 一种系统升级方法 |
CN109284117A (zh) * | 2018-09-26 | 2019-01-29 | 深圳市慧嘉智科技有限公司 | 基于闪存微控制器的固件升级方法和系统及闪存微控制器 |
CN109189461B (zh) * | 2018-11-27 | 2022-01-18 | 上海辛格林纳新时达电机有限公司 | 电梯控制系统的程序升级方法和电梯控制系统及电梯设备 |
CN111552493A (zh) * | 2020-04-24 | 2020-08-18 | 苏州华芯微电子股份有限公司 | 防盗器软件更新方法、防盗器、自刷新设备 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101957764A (zh) * | 2010-08-02 | 2011-01-26 | 珠海许继电气有限公司 | 一种远方终端程序远程更新的方法 |
CN101963910A (zh) * | 2010-09-21 | 2011-02-02 | 深圳市元征软件开发有限公司 | 基于通用usb总线的设备固件升级方法 |
CN102073515A (zh) * | 2009-11-23 | 2011-05-25 | 天津中兴软件有限责任公司 | Rfid有源标签及其软件升级方法、系统 |
-
2013
- 2013-06-20 CN CN201310248166.0A patent/CN103336701B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102073515A (zh) * | 2009-11-23 | 2011-05-25 | 天津中兴软件有限责任公司 | Rfid有源标签及其软件升级方法、系统 |
CN101957764A (zh) * | 2010-08-02 | 2011-01-26 | 珠海许继电气有限公司 | 一种远方终端程序远程更新的方法 |
CN101963910A (zh) * | 2010-09-21 | 2011-02-02 | 深圳市元征软件开发有限公司 | 基于通用usb总线的设备固件升级方法 |
Also Published As
Publication number | Publication date |
---|---|
CN103336701A (zh) | 2013-10-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103336701B (zh) | 智能型引导升级方法 | |
CN104579719B (zh) | 一种固件的升级方法和系统、上位机和光模块 | |
CN105814541B (zh) | 计算机设备及计算机设备内存启动的方法 | |
CN102495744B (zh) | 基于can总线的电动汽车电控设备控制软件升级方法 | |
CN102388366B (zh) | 实现不同处理器兼容的方法及装置 | |
CN100570558C (zh) | 一种芯片固件升级方法 | |
US20180074828A1 (en) | Setting a startup parameter and controlling startup of a mainboard | |
CN105373407A (zh) | 嵌入式系统dsp和fpga在线升级方法 | |
WO2016101503A1 (zh) | 一种热补丁的实现方法和装置 | |
CN105760191A (zh) | 嵌入式系统设备程序烧写量产方法 | |
CN105468390B (zh) | Boot在线升级装置及方法 | |
CN105653306B (zh) | 显示启动设置界面的方法和装置 | |
CN101295255B (zh) | 固件更新系统及方法 | |
CN104731678A (zh) | Raid储存模式测试系统、方法及电子装置 | |
CN109614126B (zh) | 一种嵌入式系统在线程序升级方法及装置 | |
CN107870775A (zh) | 一种处理器及BootLoader程序的更新方法 | |
CN105068831A (zh) | 程序升级方法及装置 | |
US9223697B2 (en) | Computer reprogramming method, data storage medium and motor vehicle computer | |
US20150355997A1 (en) | Server-Platform Simulation Service | |
US20060080636A1 (en) | Method of building intelligent platform management interface firmware architecture | |
CN106095643A (zh) | 系统参数存取的设定方法及其服务器 | |
CN103617077A (zh) | 智能型云端化移转的方法与系统 | |
CN102110002A (zh) | 增加电子装置开机速度的方法 | |
KR100665134B1 (ko) | 임베디드 시스템의 루트 파일 시스템 구성 및 실행 방법,그리고 이를 이용한 이동 단말 장치 | |
KR100658564B1 (ko) | 임베디드 시스템의 소프트웨어 개발 및 실행 방법, 그리고이를 이용한 이동 단말 장치 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant |