CN110187906A - 多层异构网络下嵌入式设备固件更新方法 - Google Patents
多层异构网络下嵌入式设备固件更新方法 Download PDFInfo
- Publication number
- CN110187906A CN110187906A CN201910408588.7A CN201910408588A CN110187906A CN 110187906 A CN110187906 A CN 110187906A CN 201910408588 A CN201910408588 A CN 201910408588A CN 110187906 A CN110187906 A CN 110187906A
- Authority
- CN
- China
- Prior art keywords
- equipment
- layer
- program
- routing
- data
- 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.)
- Granted
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/60—Software deployment
- G06F8/65—Updates
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)
- Stored Programmes (AREA)
- Information Transfer Between Computers (AREA)
Abstract
本发明涉及一种多层异构网络下嵌入式设备固件更新方法,在客户端软件刺激下,网络中的所有设备会产生JSON路由信息数据,第N层设备路由信息通过总线上传至第N‑1层,第N‑1层设备完整接收后,添加自身属性及其与第N层的链路关系再向第N‑2层传递,最终汇总到第一层设备,由其传送至远程主机进行解析,固件更新时,依据用户选择的目标设备,远程主机会生成目标路由并随程序文件一起下发,各层设备解析路由后进行转发,最终将程序文件下发至目标设备。本发明利用JSON描述设备路由,结合IAP技术,远程主机可更新多层异构网络下任意设备固件,大大减轻了工程维护成本,该方法可应用于网络拓扑复杂的各种工业场合。
Description
技术领域:
本发明涉及嵌入式***技术领域,尤其涉及一种多层异构网络下嵌入式设备固件更新方法。
背景技术:
目前常用的嵌入式设备固件更新方法有以下三种:①JTAG/SWD接口烧写;②ISP接口烧写;③利用总线通信及IAP技术,远程更新固件。三种方法均可更新固件,但侧重场合不同:JTAG/SWD多用于程序开发阶段的下载、调试;ISP多用于批量生产时的固件烧写;远程总线固件更新则多用于产品现场维护。
(1)无论JTAG/SWD还是ISP接口均需要辅助工具(如PC机、J-link),且需要拆卸产品外壳(这类接口一般不会引出),这些操作在有些工业场合是禁止的,如煤矿井下、化工等易燃易爆场所,一者非本安或隔爆设备严禁进入这些场所,二者场所内隔爆产品严禁开盖。这两种接口应用的局限性很大。
(2)利用总线通信及IAP技术进行远程固件更新,从一定程度减轻了产品维护成本,且可以在多种工业场合应用。但研究发现多数应用局限于单一链路(以太网/RS485/CAN等)、单层网络拓扑,更新前需要将待升级设备从通信网络断开,接入辅助设备进行固件更新。这就要求工程人员必须深入现场,且设备存在长时间离线的可能。设备长时间离线在某些***(煤矿安全监测***)中是不允许的。单一链路、单层网络拓扑下远程固件更新并没有解决所有问题。
发明内容:
本发明的目标是提供一种多层异构网络下嵌入式设备固件更新方法,利用JSON描述设备路由,结合现有技术,远程主机可更新多层网络、多种链路(下文简称多层异构网络)下任意设备固件,大大减轻了工程维护成本。
实现多层异构网络升级的关键是实现路由描述,路由描述的核心是层级关系描述。一些轻量级的数据交换格式,如XML、JSON,先天具有描述层级关系的优势。本发明利用JSON来描述设备路由信息。
多层异构网络需要获取网络拓扑,在此基础上建立程序文件路由。即从用户的角度看,需要直观获得网络里的所有设备,进而选择升级对象;从***运行角度看,***中所有设备在作为转发器时需要明确程序文件的对象,进而规划转发动作。
为实现上述目的,本发明提供一种多层异构网络下嵌入式设备固件更新方法,在客户端软件刺激下,网络中的所有设备会产生JSON路由信息数据,第N层设备路由信息通过总线上传至第N-1层,第N-1层设备完整接收后,添加自身属性及其与第N层的链路关系再向第N-2层传递,最终汇总到第一层设备,由其传送至远程主机进行解析,固件更新时,依据用户选择的目标设备,远程主机会生成目标路由并随程序文件一起下发,各层设备解析路由后进行转发,最终将程序文件下发至目标设备。
具体的,所述多层异构网络下嵌入式设备固件更新方法具体包括如下步骤:
(1)第N层设备的JSON路由信息数据在第N-1层设备上汇总;
(2)第N-1层再向第N-2层传递,并添加自身属性描述及其与第N层的链路关系;
(3)最终由第一层设备将汇总的JSON路由信息数据传送至远程主机;
(4)远程主机解析路由数据,绘制出网络拓扑;
(5)用户根据网络拓扑选择需要进行固件更新的设备;
(6)远程主机依据用户选择生成目标设备的路由描述JSON数据,并将JSON数据及程序文件一起下发至第一层设备;
(7)第一层设备判断路由后,更新路由信息,将数据下发至第二层设备,层层传递,第N-1层设备分析路由判断需更新其总线端口下的设备,第N-1层设备启动总线转发程序数据。
其中,所述嵌入式设备具有Bootloader程序,远程主机上电后,首先运行Bootloader程序,Bootloader校验应用程序,校验通过后,设置中断向量、跳转、执行应用程序;校验不通过,Bootloader将监听通信总线,分拣程序数据包,待程序数据接收完毕,将应用程序编程至指定Flash扇区,进而再次尝试跳转、执行应用程序。
另外,所述嵌入式设备还具有Probe程序,Probe程序用于监测总线、分拣程序数据包,待程序数据接收完毕后,跳转至Bootloader,由Bootloader将新的应用程序编程至指定Flash扇区,进而实现程序更新。
本发明多层异构网络下嵌入式设备固件更新方法具有以下积极的效果:
(1)实现了多层异构网络下嵌入式设备的远程固件更新,对比原技术,不需要深入现场,减轻了维护工作量,整个网络的同类设备均可同时更新,提高了工作效率;
(2)固件更新辅助设备不需要进入工业现场,无应用场合限制;
(3)可生成网络拓扑信息,形成设备树,反馈固件更新进度及状态,提高了固件更新的辨识度;
(4)无需将待更新设备从原网络断开,更新过程不影响设备正常通信;
(5)协议灵活,无网络层级及链路形式限制。
附图说明:
图1为本发明的多层异构网络下嵌入式设备固件更新方法的流程图;
图2为本发明的多层异构网络下嵌入式设备固件更新方法的嵌入式软件结构图;
图3为本发明的路由JSON键值的示意图;
图4为本发明的程序文件JSON键值的示意图。
具体实施方式:
下面结合附图对本发明的较佳实施例进行详细阐述,以使本发明的优点和特征能更易被本领域人员理解,从而对本发明的保护范围做出更为清楚明确的界定。
本发明所适应的网络形式不限于网络层级及链路形式,但为了说明过程,简要绘制了一个三层网络的网络拓扑,如图1所示,其中L1-D1表示第一层网络上ID为1的设备,Link1表示链路形式1,常用链路有以太网、RS485、CAN等。在客户端软件刺激下,网络中所有设备会产生JSON路由信息数据,并通过总线向上层设备传送,上层设备完整接收后,添加自身属性及链路关系,再向上层传送,最终由第一层设备汇总传送至客户端软件解析。JSON对象包含设备地址、设备类型、软硬件版本号、升级进度、端口等键值如图3所示,其中端口用于扩展下级设备。“步骤①”为第三层设备L3-D1、L3-D2及L3-D3的JSON数据在第二层设备L2-Dn的汇总;“步骤②”为二层设备L2-Dn向一层设备L1-Dn传送的JSON数据,添加了自身属性描述及L3-Dx与L2-Dn的链路关系;“步骤③”为L1-Dn传送至远程主机的JSON数据。客户端软件解析路由数据,即可绘制出L1-Dn设备下的网络拓扑,即“步骤④”。
用户根据网络拓扑选择需要进行固件更新的设备,客户端软件依据用户选择生成程序文件路由描述JSON数据,该JSON数据不仅包含了必要的路由及使能信息,还包含了描述程序的一些关键字段,如程序名、长度、校验、版本等内容,如图4所示。该JSON包会连同程序数据一起下发,网络中的各级设备在接收后将解析JSON,判断路由,如果程序不属于本机,将启动总线进行转发。图1中“步骤⑤”用户选择升级L1-Dn下L2-Dn的两个三层设备;“步骤⑥”中客户端软件将JSON及程序数据同时下发至L1-Dn;“步骤⑦”中,L1-Dn设备判断路由后,更新路由信息,将数据下发至L2-Dn;L2-Dn分析路由判断需更新其链路Link3下的两个设备,L2-Dn启动Link3链路转发程序数据。
具有多层异构网络固件更新功能的嵌入式设备软件结构如图2所示。MCU上电后首先运行Bootloader程序。Bootloader校验应用程序,校验通过后,设置中断向量,跳转、执行应用程序;校验不通过,Bootloader将监听通信总线,分拣程序数据包,待程序数据接收完毕,将应用程序编程至指定Flash扇区,进而再次尝试跳转、执行应用程序。Probe程序是实现多层异构网络固件更新的关键。单机产品的远程固件更新工作流程为:将Probe程序嵌入到用户程序中监测总线、分拣程序数据包,待程序数据接收完毕后,跳转至Bootloader,由Bootloader将新的应用程序编程至指定Flash扇区,进而实现程序更新。在多层网络下,Probe程序除了完成上述功能外,还需要解析程序数据的路由信息,当判断该程序数据不属于本机时,需要依据路由描述,启动总线,转发路由信息及程序数据。
以上所述实施例仅表达了本发明的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变形和改进,这些都属于本发明的保护范围。
Claims (4)
1.一种多层异构网络下嵌入式设备固件更新方法,其特征在于:在客户端软件刺激下,网络中的所有设备会产生JSON路由信息数据,第N层设备路由信息通过总线上传至第N-1层,第N-1层设备完整接收后,添加自身属性及其与第N层的链路关系再向第N-2层传递,最终汇总到第一层设备,由其传送至远程主机进行解析,固件更新时,依据用户选择的目标设备,远程主机会生成目标路由并随程序文件一起下发,各层设备解析路由后进行转发,最终将程序文件下发至目标设备。
2.根据权利要求1所述的多层异构网络下嵌入式设备固件更新方法,其特征在于,所述多层异构网络下嵌入式设备固件更新方法具体包括如下步骤:
(1)第N层设备的JSON路由信息数据在第N-1层设备上汇总;
(2)第N-1层再向第N-2层传递,并添加自身属性描述及其与第N层的链路关系;
(3)最终由第一层设备将汇总的JSON路由信息数据传送至远程主机;
(4)远程主机解析路由数据,绘制出网络拓扑;
(5)用户根据网络拓扑选择需要进行固件更新的设备;
(6)远程主机依据用户选择生成目标设备的路由描述JSON数据,并将JSON数据及程序文件一起下发至第一层设备;
(7)第一层设备判断路由后,更新路由信息,将数据下发至第二层设备,层层传递,第N-1层设备分析路由判断需更新其总线端口下的设备,第N-1层设备启动总线转发程序数据。
3.根据权利要求1或2所述的多层异构网络下嵌入式设备固件更新方法,其特征在于:所述嵌入式设备具有Bootloader程序,远程主机上电后,首先运行Bootloader程序,Bootloader校验应用程序,校验通过后,设置中断向量、跳转、执行应用程序;校验不通过,Bootloader将监听通信总线,分拣程序数据包,待程序数据接收完毕,将应用程序编程至指定Flash扇区,进而再次尝试跳转、执行应用程序。
4.根据权利要求3所述的多层异构网络下嵌入式设备固件更新方法,其特征在于:所述嵌入式设备具有Probe程序,Probe程序用于监测总线、分拣程序数据包,待程序数据接收完毕后,跳转至Bootloader,由Bootloader将新的应用程序编程至指定Flash扇区,进而实现程序更新。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910408588.7A CN110187906B (zh) | 2019-05-16 | 2019-05-16 | 多层异构网络下嵌入式设备固件更新方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910408588.7A CN110187906B (zh) | 2019-05-16 | 2019-05-16 | 多层异构网络下嵌入式设备固件更新方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110187906A true CN110187906A (zh) | 2019-08-30 |
CN110187906B CN110187906B (zh) | 2022-07-15 |
Family
ID=67716567
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910408588.7A Active CN110187906B (zh) | 2019-05-16 | 2019-05-16 | 多层异构网络下嵌入式设备固件更新方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110187906B (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111966595A (zh) * | 2020-08-13 | 2020-11-20 | 安徽芯纪元科技有限公司 | 一种软件调试***内芯片定位方法及调试报文传输方法 |
CN113590152A (zh) * | 2021-07-23 | 2021-11-02 | 深圳市朗驰欣创科技股份有限公司 | 设备升级方法、***、嵌入式设备、上位机及存储介质 |
CN116149713A (zh) * | 2023-04-19 | 2023-05-23 | 广州擎天实业有限公司 | 一种树型异构网络下的各级设备的程序升级方法及装置 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107078956A (zh) * | 2014-12-11 | 2017-08-18 | 博科通迅***有限公司 | 多层分布式路由器体系结构 |
CN107465539A (zh) * | 2017-07-25 | 2017-12-12 | 北京康得新创科技股份有限公司 | 固件的升级方法、终端及固件的升级*** |
CN108923976A (zh) * | 2018-06-28 | 2018-11-30 | 中国人民解放军63698部队 | 航天通信专网轻量级网络运行管理*** |
CN109144551A (zh) * | 2018-09-05 | 2019-01-04 | 杭州和利时自动化有限公司 | 一种多层级组网方式下设备固件更新方法及*** |
US20190058630A1 (en) * | 2017-08-15 | 2019-02-21 | Mueller International, Llc | Broadcast remote firmware update |
-
2019
- 2019-05-16 CN CN201910408588.7A patent/CN110187906B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107078956A (zh) * | 2014-12-11 | 2017-08-18 | 博科通迅***有限公司 | 多层分布式路由器体系结构 |
CN107465539A (zh) * | 2017-07-25 | 2017-12-12 | 北京康得新创科技股份有限公司 | 固件的升级方法、终端及固件的升级*** |
US20190058630A1 (en) * | 2017-08-15 | 2019-02-21 | Mueller International, Llc | Broadcast remote firmware update |
CN108923976A (zh) * | 2018-06-28 | 2018-11-30 | 中国人民解放军63698部队 | 航天通信专网轻量级网络运行管理*** |
CN109144551A (zh) * | 2018-09-05 | 2019-01-04 | 杭州和利时自动化有限公司 | 一种多层级组网方式下设备固件更新方法及*** |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111966595A (zh) * | 2020-08-13 | 2020-11-20 | 安徽芯纪元科技有限公司 | 一种软件调试***内芯片定位方法及调试报文传输方法 |
CN111966595B (zh) * | 2020-08-13 | 2024-04-05 | 安徽芯纪元科技有限公司 | 一种软件调试***内芯片定位方法及调试报文传输方法 |
CN113590152A (zh) * | 2021-07-23 | 2021-11-02 | 深圳市朗驰欣创科技股份有限公司 | 设备升级方法、***、嵌入式设备、上位机及存储介质 |
CN116149713A (zh) * | 2023-04-19 | 2023-05-23 | 广州擎天实业有限公司 | 一种树型异构网络下的各级设备的程序升级方法及装置 |
CN116149713B (zh) * | 2023-04-19 | 2023-12-15 | 广州擎天实业有限公司 | 一种树型异构网络下的各级设备的程序升级方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
CN110187906B (zh) | 2022-07-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110187906A (zh) | 多层异构网络下嵌入式设备固件更新方法 | |
CN111835565B (zh) | 一种基于数字孪生的通信网络优化方法、装置和*** | |
US8321037B2 (en) | PLC distributed control system | |
CN101576742B (zh) | 一种数控切纸机远程监控与故障诊断***及其实现方法 | |
CN103645678B (zh) | 一种实时响应网络控制*** | |
CN105224362A (zh) | 上位机对下位机进行程序升级的方法及*** | |
CN101498931A (zh) | 一种流水线rfid接口控制器与上位机的通讯方法 | |
CN103460650A (zh) | 网络***、主机及网络***的控制方法 | |
CN105065050A (zh) | 一种井下综采工作面液压支架集中控制平台的实现方法 | |
CN105159109B (zh) | 一种plc控制器远程升级*** | |
CN109086182A (zh) | 数据库自动告警的方法及终端设备 | |
CN108364485B (zh) | 一种交通信号控制*** | |
US20180157975A1 (en) | Method, system and computer program for forecasting signaling in a light signal system | |
CN101105694A (zh) | 基于dsp的分布式微型燃机发电嵌入式远程监控装置及方法 | |
CN104731062A (zh) | 一种用于仪表状态监控及调度的智能网络管理***及方法 | |
CN109388603A (zh) | 状态信息获取和反馈方法、装置、介质、终端及示教器 | |
CN102238571B (zh) | 物联网m2m业务处理的装置、***以及方法 | |
CN103825893A (zh) | 信息采集方法、装置以及*** | |
CN102868220B (zh) | 电力调度主站式综合智能防误***综合令智能分解方法 | |
CN104063227A (zh) | 一种基于物联网的指令学习方法 | |
CN109871325B (zh) | 一种knx远程调试方法及*** | |
CN102955466A (zh) | 用于运行自动化***的方法 | |
CN110083128A (zh) | 矿山云监控联网指挥*** | |
CN109709849A (zh) | 单片机安全运行控制方法与装置 | |
Hirvonen | Design and implementation of Andon system for Lean manufacturing |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |