CN103200026B - 固件的升级方法及系统 - Google Patents

固件的升级方法及系统 Download PDF

Info

Publication number
CN103200026B
CN103200026B CN201310055694.4A CN201310055694A CN103200026B CN 103200026 B CN103200026 B CN 103200026B CN 201310055694 A CN201310055694 A CN 201310055694A CN 103200026 B CN103200026 B CN 103200026B
Authority
CN
China
Prior art keywords
firmware upgrade
veneer
control veneer
upgrading
firmware
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
CN201310055694.4A
Other languages
English (en)
Other versions
CN103200026A (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.)
Shanghai Zhongxing Software Co Ltd
Original Assignee
Shanghai Zhongxing Software Co Ltd
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 Shanghai Zhongxing Software Co Ltd filed Critical Shanghai Zhongxing Software Co Ltd
Priority to CN201310055694.4A priority Critical patent/CN103200026B/zh
Publication of CN103200026A publication Critical patent/CN103200026A/zh
Priority to PCT/CN2013/083676 priority patent/WO2014127628A1/zh
Priority to US14/769,252 priority patent/US9946530B2/en
Priority to EP13876024.4A priority patent/EP2961097B1/en
Application granted granted Critical
Publication of CN103200026B publication Critical patent/CN103200026B/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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/08Configuration management of networks or network elements
    • H04L41/0803Configuration setting
    • H04L41/0813Configuration setting characterised by the conditions triggering a change of settings
    • H04L41/082Configuration setting characterised by the conditions triggering a change of settings the condition being updates or upgrades of network functionality
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/34Network arrangements or protocols for supporting network services or applications involving the movement of software or configuration parameters 

Abstract

本发明公开了一种固件的升级方法及系统,该方法包括:升级控制单板接收来自于主控单板的固件升级请求,其中,固件升级请求中携带有固件升级参数信息;升级控制单板根据固件升级参数信息确定待升级的与固件升级参数信息对应的子链;升级控制单板从主控单板获取与子链对应的固件升级数据,并采用固件升级数据对子链上的一个或多个固件进行升级。根据本发明提供的技术方案,可以在待升级单板裸机只上电的情况下对单板进行远程固件升级,降低了因进行固件升级作业影响系统正常运行的风险。

Description

固件的升级方法及系统
技术领域
本发明涉及通信领域,具体而言,涉及一种固件的升级方法及系统。
背景技术
随着信息时代的来临,个人计算机(PC)的普及以及互联网的广泛应用,计算机信息技术与各行各业实现了有效结合,各种新兴技术、新兴业务不断涌现,用户对于数据的带宽需求也越来越高。为了满足单个用户高带宽的需求,运营商要求网络设备具有大容量、高接入和高处理性能。为了达到大容量、高接入和高处理性能的需求,目前的网络设备多采用部署大量中央处理器(CPU)的分布式系统。
固件是一种嵌入在硬件装置中的软件,可以供使用者更新。固件升级是指通过专门的升级程序将硬件中的工作程序或者源代码进行改进,使其获得兼容性、性能或者功能上的提高。它与升级驱动程序的不同之处在于:从机器底层进行更新,因而更直接、更有效,性能提高也更明显。随着多处理机的分布式系统在电信行业逐渐推广和大规模使用以及用户对网络设备性能需求的提高,单板的固件更新必然更加频繁。
联合测试工作组(Joint Test Action Group,简称为JTAG)是一种国际标准测试协议(IEEE1149.1),该标准已被全球的电子企业广泛采用,发展至今,几乎所有的大规模复杂数字电路都兼容IEEE1149.1标准。通过JTAG接口实现固件升级也逐渐成为主流。
相关技术中实现固件升级的方法之一是将整个单板的JTAG器件串接在一起,以连成菊花链的形式,视情况设置一个或多个JTAG接口,通过JTAG插座对单板的所有JTAG器件实现扫描及固件数据加载。然而,该方法存在以下缺陷:
(1)通过JTAG插座才能加载固件升级数据,现场维护不方便;
(2)无法进行远程升级。
相关技术中实现固件升级的方法之二是机框管理板与待升级单板进行信息交互,将其存储的目标文件加载到待升级单板的存储模块中,由待升级单板的控制器(如:单片机)控制将目标文件写入到JTAG器件或者JTAG链中,以完成对JTAG器件或者JTAG链的扫描和加载。该方案虽然实现了远程升级,但是仍存在以下不足:
(1)机框管理板及待升级单板的控制器无法实现固件升级,系统存在升级盲点;
(2)要求待升级单板上的控制器处于工作状态,如果控制器由于某种原因处于故障状态,则无法进行固件升级。
发明内容
本发明提供了一种固件的升级方法及系统,以至少解决相关技术中由主控单板负责固件升级操作大大增加了固件升级作业的风险的问题。
根据本发明的一个方面,提供了一种固件的升级方法。
根据本发明的固件的升级方法包括:升级控制单板接收来自于主控单板的固件升级请求,其中,固件升级请求中携带有固件升级参数信息;升级控制单板根据固件升级参数信息确定待升级的与固件升级参数信息对应的子链;升级控制单板从主控单板获取与子链对应的固件升级数据,并采用固件升级数据对子链上的一个或多个固件进行升级。
优选地,在升级控制单板接收来自于主控单板的固件升级请求之前,还包括:主控单板接收来自于升级控制单板的状态信息;主控单板根据状态信息判断升级控制单板当前是否正在执行固件升级操作;如果否,则主控单板向升级控制单板发送固件升级请求。
优选地,升级控制单板根据固件升级参数信息确定子链包括:升级控制单板根据固件升级参数信息获取与子链对应的物理参数信息;升级控制单板按照物理参数信息确定子链。
优选地,在升级控制单板从主控单板获取与子链对应的固件升级数据之前,还包括:主控单板接收来自于升级控制单板的固件升级数据请求;主控单板根据固件升级数据请求查找与子链对应的固件升级数据,并将固件升级数据发送至升级控制单板。
优选地,在升级控制单板接收来自于主控单板的固件升级请求之前,还包括:确定升级控制单板和主控单板当前的使用状态均为主用状态。
根据本发明的另一方面,提供了一种固件的升级系统。
根据本发明的固件的升级系统包括:升级控制单板;升级控制单板包括:第一接收模块,用于接收来自于主控单板的固件升级请求,其中,固件升级请求中携带有固件升级参数信息;第一确定模块,用于根据固件升级参数信息确定待升级的与固件升级参数信息对应的子链;升级模块,用于从主控单板获取与子链对应的固件升级数据,并采用固件升级数据对子链上的一个或多个固件进行升级。
优选地,上述系统还包括:主控单板;主控单板包括:第二接收模块,用于接收来自于升级控制单板的状态信息;判断模块,用于根据状态信息判断升级控制单板当前是否正在执行固件升级操作;第一发送模块,用于在判断模块输出为否时,向升级控制单板发送固件升级请求。
优选地,第一确定模块包括:获取单元,用于根据固件升级参数信息获取与子链对应的物理参数信息;确定单元,用于按照物理参数信息确定子链。
优选地,主控单板还包括:第三接收模块,用于接收来自于升级控制单板的固件升级数据请求;第二发送模块,用于根据固件升级数据请求查找与子链对应的固件升级数据,并将固件升级数据发送至升级控制单板。
优选地,升级控制单板还包括:第二确定模块,用于确定升级控制单板当前的使用状态为主用状态;主控单板还包括:第三确定模块,用于确定主控单板当前的使用状态为主用状态。
通过本发明,采用升级控制单板接收来自于主控单板的固件升级请求,固件升级请求中携带有固件升级参数信息;升级控制单板根据固件升级参数信息确定待升级的与固件升级参数信息对应的子链;升级控制单板从主控单板获取与子链对应的固件升级数据,并采用固件升级数据对子链上的一个或多个固件进行升级,解决了相关技术中由主控单板负责固件升级操作大大增加了固件升级作业的风险的问题,进而降低了固件升级作业的风险。
附图说明
此处所说明的附图用来提供对本发明的进一步理解,构成本申请的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:
图1是根据本发明实施例的固件的升级方法的流程图;
图2是根据本发明实施例的固件的升级系统的结构框图;
图3是根据本发明优选实施例的升级控制单板的JTAG链接结构的示意图;
图4是根据本发明优选实施例的待升级单板的JTAG链接结构的示意图;
图5是根据本发明优选实施例的固件的升级系统的结构框图;
图6是根据本发明优选实施例的主用升级控制单板的选择的流程图;
图7是根据本发明优选实施例的固件升级装置的JTAG链接总体结构的示意图;
图8是根据本发明优选实施例的固件升级系统的总体结构的示意图;
图9是根据本发明优选实施例的多处理器的分布式系统的固件升级方法的流程图。
具体实施方式
下文中将参考附图并结合实施例来详细说明本发明。需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。
图1是根据本发明实施例的固件的升级方法的流程图。如图1所示,该方法可以包括以下处理步骤:
步骤S102:升级控制单板接收来自于主控单板的固件升级请求,其中,固件升级请求中携带有固件升级参数信息;
步骤S104:升级控制单板根据固件升级参数信息确定待升级的与固件升级参数信息对应的子链;
步骤S106:升级控制单板从主控单板获取与子链对应的固件升级数据,并采用固件升级数据对子链上的一个或多个器件进行升级。
相关技术中,由主控单板负责固件升级操作大大增加了固件升级作业的风险。采用如图1所示的方法,升级控制单板接收来自于主控单板的固件升级请求,固件升级请求中携带有固件升级参数信息;升级控制单板根据固件升级参数信息确定待升级的与固件升级参数信息对应的子链;升级控制单板从主控单板获取与子链对应的固件升级数据,并采用固件升级数据对子链上的一个或多个固件进行升级。由于引入了升级控制单板,将固件升级数据加载到JTAG控制器的此种耗时操作从主控单板中分离出来,减小了进行固件升级作业的风险;同时引入了系统级的JTAG技术,固件升级数据烧写操作由JTAG控制器和JTAG桥片协作完成,一方面实现了远程固件升级,另一方面能够在待升级单板裸机,只上电的情况下,对子链上的一个或多个JTAG器件进行固件升级,解决了相关技术中由主控单板负责固件升级操作大大增加了固件升级作业的风险的问题,进而降低了固件升级作业的风险。
优选地,在步骤S102,升级控制单板接收来自于主控单板的固件升级请求之前,还可以包括以下操作:
步骤S1:主控单板接收来自于升级控制单板的状态信息;
步骤S2:主控单板根据状态信息判断升级控制单板当前是否正在执行固件升级操作;
步骤S3:如果否,则主控单板向升级控制单板发送固件升级请求。
在优选实施例中,主控单板从升级控制单板接收注册JTAG状态消息,从而获取升级控制单板的状态信息,如果升级控制单板正在进行固件升级作业,则结束本次固件升级操作;否则主控单板向升级控制单板发送固件升级请求,同时在主控单板上将该升级控制单板的状态信息更新为正在进行固件升级作业。
优选地,在步骤S104中,升级控制单板根据固件升级参数信息确定子链可以包括以下步骤:
步骤S4:升级控制单板根据固件升级参数信息获取与子链对应的物理参数信息;
步骤S5:升级控制单板按照物理参数信息确定子链。
在优选实施例中,升级控制单板从主控单板发送的固件升级请求中解析出固件升级参数信息,根据该固件升级参数信息扫描获取与待升级子链对应的物理参数信息,进而按照获取到的物理参数信息确定待升级的子链。
优选地,在步骤S106,升级控制单板从主控单板获取与子链对应的固件升级数据之前,还可以包括以下操作:
步骤S6:主控单板接收来自于升级控制单板的固件升级数据请求;
步骤S7:主控单板根据固件升级数据请求查找与子链对应的固件升级数据,并将固件升级数据发送至升级控制单板。
在优选实施例中,升级控制单板向主控单板请求并加载固件升级数据到升级控制单板的特定存储区中,即升级控制单板在接收到固件升级请求之后,根据请求参数扫描获取待升级子链的物理参数信息,然后向主控单板请求并加载与待升级子链对应的固件升级数据,并将其获取到的数据存储到特定数据存储区中。
优选地,在步骤S102,升级控制单板接收来自于主控单板的固件升级请求之前,还可以包括以下处理:
步骤S8:确定升级控制单板和主控单板当前的使用状态均为主用状态。
在优选实施例中,本发明还引入了主控单板和升级控制单板的主备状态,可将全框都纳入可现场升级的范畴,解决了相关技术中存在的升级盲点的问题。
图2是根据本发明实施例的固件的升级系统的结构框图。如图2所示,该固件的升级系统可以包括:升级控制单板10;升级控制单板10可以包括:第一接收模块100,用于接收来自于主控单板的固件升级请求,其中,固件升级请求中携带有固件升级参数信息;第一确定模块102,用于根据固件升级参数信息确定待升级的与固件升级参数信息对应的子链;升级模块104,用于从主控单板获取与子链对应的固件升级数据,并采用固件升级数据对子链上的一个或多个固件进行升级。
采用如图2所示的系统,解决了相关技术中由主控单板负责固件升级操作大大增加了固件升级作业的风险的问题,进而降低了固件升级作业的风险。
在优选实施例中,上述系统可以包括:两个主控单板,两个升级控制单板和多个待升级单板。本发明所提供的技术方案应用了系统级的JTAG技术,在每个升级控制单板上新增加了嵌入式测试控制器(如:JTAG控制器)和JTAG桥片,在每个待升级单板上新增加了JTAG桥片。
下面结合图3和图4所示的优选实施例分别对升级控制单板和待升级单板的结构进行说明。
图3是根据本发明优选实施例的升级控制单板的JTAG链接结构的示意图。如图3所示,该链接结构可以包括:JTAG桥片,子链n,JTAG器件,上述各个部分与待升级单板的JTAG桥片,子链n,JTAG器件相同。JTAG控制器,用于接收中央处理器下发的固件升级数据和指令,生成JTAG信号,与JTAG桥片协作共同完成固件升级数据的烧写,同时还接收来自于待升级单板的JTAG信号,反馈固件升级结果。
图4是根据本发明优选实施例的待升级单板的JTAG链接结构的示意图。如图4所示,该链接结构可以包括:JTAG桥片,用于将JTAG总线分成多条JTAG链路,分别称为子链1,……子链n,按照不同的分类标准连接单板上的JTAG器件,一条JTAG子链可以采用菊花链的形式连接多个JTAG器件。主控单板同其他普通待升级单板的JTAG链接结构相同。子链n,用于通过JTAG桥片分成的JTAG链路,可连接一个或多个JTAG器件,其中,n为正整数,其最大值由选用的具体芯片来决定。JTAG器件为支持JTAG协议的设备或者芯片。
需要说明的是,升级控制单板每执行一次升级操作仅能实现对待升级单板上的一条子链上的各个器件进行升级,而不同子链上的器件无法同时升级。
在优选实施例中,升级控制单板主要用于请求并加载固件升级数据到JTAG控制器的特定存储区中,通过中央处理器调用JTAG控制器的驱动代码,使能将固件升级数据加载到JTAG器件或者JTAG链的过程。升级控制单板在接收到固件升级请求之后,根据请求参数扫描获取待升级JTAG器件的物理信息,向主控单板请求并加载待升级固件数据,并将其获取到的数据存储到JTAG控制器的特定数据存储区中。由JTAG控制器和待升级单板的桥片共同完成固件数据的加载。两个升级控制单板增加了JTAG控制器和JTAG桥片,并通过一个主备逻辑来选择单板的主备状态,从而实现主备互为备份以提高可靠性,又可通过主备倒换来互相升级,处于备用状态的升级控制单板,其JTAG桥片的设计与普通待升级单板相同。
在优选实施例中,JTAG控制器设置在升级控制单板上,与JTAG桥片协作共同完成固件升级数据的烧写。JTAG控制器接收中央处理器下发的固件升级数据和指令,生成JTAG信号,通过JTAG总线将数据传送给待升级单板的JTAG桥片,完成固件升级数据的加载,同时JTAG控制器可接收来自于待升级单板的JTAG信号,反馈固件升级结果。
JTAG桥片主要负责解析接收到的固件升级数据,可将进入单板的JTAG总线分成多条JTAG链路,按照不同的分类标准连接板上所有的JTAG器件,一条JTAG支链可以以菊花链的形式连接多个JTAG器件。JTAG桥片和JTAG控制器可以搭配使用。
JTAG总线是背板上的固件升级总线,可以传输JTAG信号,其中,JTAG以总线的形式将各单板的桥片相连,单板的桥片再将进入单板的JTAG总线分成多条JTAG链路,按照不同的分类标准连接板上所有支持JTAG的器件。JTAG控制器可以通过JTAG总线访问单板上的JTAG器件,从而实现固件升级。
优选地,如图5所示,上述系统还可以包括:主控单板20;主控单板20可以包括:第二接收模块200,用于接收来自于升级控制单板的状态信息;判断模块202,用于根据状态信息判断升级控制单板当前是否正在执行固件升级操作;第一发送模块204,用于在判断模块输出为否时,向升级控制单板发送固件升级请求。
在优选实施例中,主控单板主要负责固件升级过程的控制。主控单板中存储着固件升级数据并安装了固件升级数据管理模块。主控单板可与升级控制单板进行数据交互,将其存储的固件升级数据加载到升级控制单板中。两个主控单板通过软件来筛选当前单板处于主用状态还是备用状态,处于备用状态的单板角色转变为待升级单板。主备主控单板通过设备内部通讯网络实现主备间固件升级数据的同步,从而实现主备互为备份以提高可靠性,同时又可通过主备倒换来互相升级。当作为待升级单板时,其JTAG桥片的设计与普通待升级单板相同。
需要说明的是,假设当前有10个单板,其中,可以包括:2个主控单板,2个升级控制单板和6个待升级单板,经过筛选可以得到处于主用状态的1个主控单板,1个升级控制单板,而处于备用状态的1个主控单板,1个升级控制单板以及原有的6个待升级单板均作为当前系统内的待升级单板。
优选地,第一确定模块102可以包括:获取单元(图中未示出),用于根据固件升级参数信息获取与子链对应的物理参数信息;确定单元(图中未示出),用于按照物理参数信息确定子链。
优选地,如图5所示,主控单板20还可以包括:第三接收模块206,用于接收来自于升级控制单板的固件升级数据请求;第二发送模块208,用于根据固件升级数据请求查找与子链对应的固件升级数据,并将固件升级数据发送至升级控制单板。
优选地,如图5所示,升级控制单板10还可以包括:第二确定模块106,用于确定升级控制单板当前的使用状态为主用状态;主控单板20还可以包括:第三确定模块210,用于确定主控单板当前的使用状态为主用状态。
在优选实施例中,图6是根据本发明优选实施例的主用升级控制单板的选择的流程图。如图6所示,将对板在位信号作为升级控制单板的主备逻辑选择信号,当对板输送的对板在位信号为高时,本板为备用状态,该流程可以包括以下步骤:
步骤S602:升级控制单板上电初始化后默认设置为备用状态,使能JTAG控制器;
步骤S604:根据预设法则加入一段延时后,设置主备工作机制使能信号,先置位的为主用单板,置本板的对板在位信号为高;
步骤S606:备用单板关闭JTAG控制器,使能JTAG桥片。
下面结合图7和图8所示的优选实施方式对上述优选实施过程做进一步的描述。
图7是根据本发明优选实施例的固件升级装置的JTAG链接总体结构的示意图。如图7所示,该总体结构为:JTAG总线是指背板上的固件升级总线,传输JTAG信号。各单板通过JTAG桥片并联在JTAG总线上,通过将主控单板,升级控制单板和待升级单板的JTAG器件以JTAG链的形式链接起来,使得JTAG控制器能通过JTAG总线访问各单板上的JTAG器件,从而实现JTAG器件的固件升级。
图8是根据本发明优选实施例的固件升级系统的总体结构的示意图。如图8所示,该固件升级系统的总体结构可以包括:
主控单板通过以太网口同PC相连,与用户进行信息交互;在主控单板上可以安装系统配置管理模块、固件升级控制模块、数据库操作引擎以及JTAG控制器状态信息表;升级控制单板上新增了JTAG控制器并安装了版本管理模块、JTAG加载模块以及JTAG保活模块;待升级单板上新增了JTAG桥片,JTAG器件连接到JTAG子链上;主控单板、升级控制单板、待升级单板可以通过内部控制面进行交互。
系统配置管理模块,用于解析并传递用户与升级装置之间的交互信息。在接收方向上,接收并解析固件升级命令;在发送方向上,实时地解析并传递固件升级过程中的各种错误信息。
固件升级控制模块(包括上述第二接收模块、判断模块、第一发送模块、第三接收模块以及第二发送模块),用于控制固件升级流程。固件升级控制模块从系统配置管理模块接收固件升级参数,调用数据库操作引擎查询JTAG控制器的状态信息表,获取JTAG控制器的状态信息,如果JTAG控制器正在进行固件升级作业,则结束本次固件升级操作;否则固件升级控制模块向JTAG加载模块发送固件升级请求,同时通过数据库操作引擎更新JTAG控制器状态信息表中的JTAG控制器状态为正在进行固件升级作业。固件升级控制模块还用于待升级的固件数据的维护。
数据库操作引擎,用于对JTAG控制器状态信息表进行操作和维护,可以包括:检索、添加和删除JTAG控制器状态信息表的存储单元数据。
JTAG状态信息表,用于保存JTAG控制器的位置、状态等信息。
JTAG加载模块(包括上述第一接收模块和第一确定模块),用于在单板启动过程中,向固件升级控制模块,发送请求注册JTAG控制器位置及状态信息;根据固件升级控制模块的固件升级请求,扫描获取待升级设备的物理参数,调用版本管理模块向固件升级控制模块请求待升级固件的数据;待升级固件的数据加载成功后,通过中央处理器调用JTAG控制器的驱动代码使能固件升级的操作过程,完成待升级固件的烧结;同时激活JTAG保活模块,启动JTAG保活功能,固件升级结束后,停止保活功能。
版本管理模块,用于请求加载待升级固件的数据。
JTAG保活模块,由JTAG加载模块控制,用于激活或结束JTAG保活功能。在激活JTAG保活功能时,通过定时向固件升级控制模块发送保活消息,使之确认在固件升级过程中,升级控制单板无异常。
JTAG控制器(相当于上述升级模块),由升级控制单板的中央处理器控制,以总线的形式将各单板的JTAG桥片相连,可以向JTAG桥片发送JTAG协议数据用于寻址单板及对单板上的JTAG链路进行操作。
JTAG桥片,是JTAG系统的从设备,多片挂接在JTAG总线上,JTAG桥片再将进入单板的JTAG总线分成多条JTAG链路,按照不同的分类标准连接单板上所有支持JTAG的设备或者芯片,一条JTAG支链可以采用菊花链的形式连接多个器件。JTAG桥片通过接收JTAG控制器发送的协议数据来寻址单板,并对单板上的JTAG链路进行操作。
子链,为JTAG桥片的JTAG子链,可以将支持JTAG的设备或者芯片分类链接。
JTAG器件支持JTAG方式的固件升级,链接在JTAG子链上。
下面结合图9所示的优选实施方式对上述优选实施过程做进一步的描述。
图9是根据本发明优选实施例的多处理器的分布式系统的固件升级方法的流程图。如图9所示,处于备用状态的主控单板和升级控制单板,其JTAG桥片的设计与普通待升级单板的设计相同。该流程可以包括如下步骤:
步骤S902:JTAG加载模块向固件升级控制模块发送注册JTAG状态消息;
步骤S904:固件升级控制模块保存JTAG加载模块的状态信息;
步骤S906:固件升级控制模块向JTAG加载模块回复消息,确认已经收到了其发送的注册消息;
步骤S908:用户发起固件升级请求;
步骤S910:系统配置管理模块解析固件升级请求,通知固件升级控制模块进行固件升级操作;
步骤S912:固件升级控制模块查询JTAG状态信息表,得到JTAG状态信息;
步骤S914:固件升级控制模块根据查询得到的JTAG状态信息(可以包括:JTAG加载模块位置信息),发送固件升级请求;
步骤S916:JTAG加载模块根据接收到的固件升级请求中的参数,获取待升级单板上的设备参数;
步骤S918:JTAG加载模块向版本管理模块发送下载固件升级数据请求;
步骤S920:JTAG加载模块激活JTAG保活模块,启动JTAG保活功能;
步骤S922:JTAG保活模块被激活后,定时给固件升级模块发送保活消息;
步骤S924:版本管理模块向固件升级控制模块发送下载固件升级数据请求;
步骤S926:固件升级控制模块根据请求参数查找相应的升级数据,并向版本管理模块发送应答消息;
步骤S928:版本管理模块下载固件升级数据;
步骤S930:版本管理模块下载固件升级数据成功后,告知JTAG加载模块固件升级数据信息,通知其开始进行固件升级作业;
步骤S932:JTAG加载模块加载固件升级数据;
步骤S934:JTAG加载模块完成固件升级数据的加载后,停止JTAG加载模块的JTAG保活功能;
步骤S936:JTAG加载模块通知固件升级控制模块加载固件升级数据结束;
步骤S938:固件升级控制模块通知系统配置管理模块固件升级结束;
步骤S940:系统配置管理模块将升级结果参数进行解析后,通知用户。
从以上的描述中,可以看出,上述实施例实现了如下技术效果(需要说明的是这些效果是某些优选实施例可以达到的效果):根据本发明提供的技术方案,由于引入了升级控制单板,将固件升级数据加载到JTAG控制器的此种耗时操作从主控单板中分离出来,减小了进行固件升级作业的风险;同时引入了系统级的JTAG技术,固件升级数据烧写操作由JTAG控制器和JTAG桥片协作完成,一方面实现了远程固件升级,另一方面能够在待升级单板裸机,只上电的情况下,对子链上的一个或多个JTAG器件进行固件升级,解决了相关技术中由主控单板负责固件升级操作大大增加了固件升级作业的风险的问题,进而降低了固件升级作业的风险。
显然,本领域的技术人员应该明白,上述的本发明的各模块或各步骤可以用通用的计算装置来实现,它们可以集中在单个的计算装置上,或者分布在多个计算装置所组成的网络上,可选地,它们可以用计算装置可执行的程序代码来实现,从而,可以将它们存储在存储装置中由计算装置来执行,并且在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤,或者将它们分别制作成各个集成电路模块,或者将它们中的多个模块或步骤制作成单个集成电路模块来实现。这样,本发明不限制于任何特定的硬件和软件结合。
以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

Claims (10)

1.一种固件的升级方法,其特征在于,包括:
升级控制单板接收来自于主控单板的固件升级请求,其中,所述固件升级请求中携带有固件升级参数信息;
所述升级控制单板根据所述固件升级参数信息确定待升级的与所述固件升级参数信息对应的待升级单板的子链;
所述升级控制单板从所述主控单板获取与所述子链对应的固件升级数据,并采用所述固件升级数据对所述子链上的一个或多个固件进行升级;
其中,在所述升级控制单板上设置嵌入式测试控制器和JTAG桥片,在每个待升级单板上设置JTAG桥片;通过所述嵌入式测试控制器与所述JTAG桥片完成固件升级数据的烧写。
2.根据权利要求1所述的方法,其特征在于,在所述升级控制单板接收来自于所述主控单板的所述固件升级请求之前,还包括:
所述主控单板接收来自于所述升级控制单板的状态信息;
所述主控单板根据所述状态信息判断所述升级控制单板当前是否正在执行固件升级操作;
如果否,则所述主控单板向所述升级控制单板发送所述固件升级请求。
3.根据权利要求1所述的方法,其特征在于,所述升级控制单板根据所述固件升级参数信息确定所述子链包括:
所述升级控制单板根据所述固件升级参数信息获取与所述子链对应的物理参数信息;
所述升级控制单板按照所述物理参数信息确定所述子链。
4.根据权利要求1所述的方法,其特征在于,在所述升级控制单板从所述主控单板获取与所述子链对应的固件升级数据之前,还包括:
所述主控单板接收来自于所述升级控制单板的固件升级数据请求;
所述主控单板根据所述固件升级数据请求查找与所述子链对应的固件升级数据,并将所述固件升级数据发送至所述升级控制单板。
5.根据权利要求1至4中任一项所述的方法,其特征在于,在所述升级控制单板接收来自于所述主控单板的所述固件升级请求之前,还包括:
确定所述升级控制单板和所述主控单板当前的使用状态均为主用状态。
6.一种固件的升级系统,其特征在于,包括:升级控制单板;
所述升级控制单板包括:
第一接收模块,用于接收来自于主控单板的固件升级请求,其中,所述固件升级请求中携带有固件升级参数信息;
第一确定模块,用于根据所述固件升级参数信息确定待升级的与所述固件升级参数信息对应的待升级单板的子链;
升级模块,用于从所述主控单板获取与所述子链对应的固件升级数据,并采用所述固件升级数据对所述子链上的一个或多个固件进行升级;
其中,在所述升级控制单板上设置嵌入式测试控制器和JTAG桥片,在每个待升级单板上设置JTAG桥片;通过所述嵌入式测试控制器与所述JTAG桥片完成固件升级数据的烧写。
7.根据权利要求6所述的系统,其特征在于,所述系统还包括:所述主控单板;
所述主控单板包括:
第二接收模块,用于接收来自于所述升级控制单板的状态信息;
判断模块,用于根据所述状态信息判断所述升级控制单板当前是否正在执行固件升级操作;
第一发送模块,用于在所述判断模块输出为否时,向所述升级控制单板发送所述固件升级请求。
8.根据权利要求6所述的系统,其特征在于,所述第一确定模块包括:
获取单元,用于根据所述固件升级参数信息获取与所述子链对应的物理参数信息;
确定单元,用于按照所述物理参数信息确定所述子链。
9.根据权利要求6所述的系统,其特征在于,所述主控单板还包括:
第三接收模块,用于接收来自于所述升级控制单板的固件升级数据请求;
第二发送模块,用于根据所述固件升级数据请求查找与所述子链对应的固件升级数据,并将所述固件升级数据发送至所述升级控制单板。
10.根据权利要求6至9中任一项所述的系统,其特征在于,
所述升级控制单板还包括:
第二确定模块,用于确定所述升级控制单板当前的使用状态为主用状态;
所述主控单板还包括:
第三确定模块,用于确定所述主控单板当前的使用状态为主用状态。
CN201310055694.4A 2013-02-21 2013-02-21 固件的升级方法及系统 Active CN103200026B (zh)

Priority Applications (4)

Application Number Priority Date Filing Date Title
CN201310055694.4A CN103200026B (zh) 2013-02-21 2013-02-21 固件的升级方法及系统
PCT/CN2013/083676 WO2014127628A1 (zh) 2013-02-21 2013-09-17 固件的升级方法及系统
US14/769,252 US9946530B2 (en) 2013-02-21 2013-09-17 Firmware upgrade method and system
EP13876024.4A EP2961097B1 (en) 2013-02-21 2013-09-17 Firmware upgrade method and system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201310055694.4A CN103200026B (zh) 2013-02-21 2013-02-21 固件的升级方法及系统

Publications (2)

Publication Number Publication Date
CN103200026A CN103200026A (zh) 2013-07-10
CN103200026B true CN103200026B (zh) 2018-12-04

Family

ID=48722392

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201310055694.4A Active CN103200026B (zh) 2013-02-21 2013-02-21 固件的升级方法及系统

Country Status (4)

Country Link
US (1) US9946530B2 (zh)
EP (1) EP2961097B1 (zh)
CN (1) CN103200026B (zh)
WO (1) WO2014127628A1 (zh)

Families Citing this family (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103200026B (zh) 2013-02-21 2018-12-04 上海中兴软件有限责任公司 固件的升级方法及系统
CN103490927A (zh) * 2013-09-10 2014-01-01 中兴通讯股份有限公司 一种固件升级方法、设备及通信系统
CN106330497A (zh) * 2015-06-25 2017-01-11 中兴通讯股份有限公司 一种待升级单板的确定方法、装置、主控板及单板系统
CN106357546A (zh) * 2015-07-21 2017-01-25 中兴通讯股份有限公司 路由器集群的升级系统、方法及装置
US10430173B2 (en) * 2015-10-19 2019-10-01 Harman International Industries, Incorporated Techniques for updating components of a computer device while enabling components for availability
US20190087174A1 (en) * 2017-09-21 2019-03-21 Western Digital Technologies, Inc. Background firmware update
CN108304231A (zh) * 2018-03-07 2018-07-20 山东超越数控电子股份有限公司 一种通过jtag链路进行程序更新的方法
CN109491685A (zh) * 2018-11-01 2019-03-19 郑州云海信息技术有限公司 服务器下刷cpld版本的方法、装置、设备及存储介质
CN110347412B (zh) * 2019-06-27 2023-05-30 中国第一汽车股份有限公司 电子控制单元固件升级管理方法、装置、设备和存储介质
CN111104131B (zh) * 2019-12-30 2023-07-25 Tcl空调器(中山)有限公司 一种电源板、芯片烧录装置及烧录方法
CN112532417B (zh) * 2020-08-21 2023-03-24 广东电网有限责任公司 一种智能电表升级方法
CN111930402A (zh) * 2020-08-27 2020-11-13 中山市天启智能科技有限公司 集群服务器的固件升级方法和集群服务器
CN114816464A (zh) * 2021-01-29 2022-07-29 青岛海信宽带多媒体技术有限公司 一种固件升级控制方法、固件升级控制装置及光模块
CN115134233B (zh) * 2022-05-12 2023-10-20 芜湖美的厨卫电器制造有限公司 场景升级方法及装置、介质及终端
CN114895612B (zh) * 2022-07-11 2022-09-27 深圳市杰美康机电有限公司 一种用于dsp芯片的仿真系统

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101448050A (zh) * 2008-12-29 2009-06-03 华为技术有限公司 一种atca系统的固件更新装置及方法
CN101551769A (zh) * 2009-04-28 2009-10-07 中兴通讯股份有限公司 可配置固件的烧结方法及装置

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20030023793A1 (en) 2001-07-30 2003-01-30 Mantey Paul J. Method and apparatus for in-system programming through a common connection point of programmable logic devices on multiple circuit boards of a system
JP2003043116A (ja) * 2001-08-01 2003-02-13 Anritsu Corp Jtagチェーン接続型プログラムデータ書込方法,jtagチェーン接続型プログラムデータ書込装置及びjtagチェーン接続型プログラムデータ書込プログラム
US8988599B2 (en) * 2010-08-31 2015-03-24 University Of Southern California Illumination sphere with intelligent LED lighting units in scalable daisy chain with interchangeable filters
US7017081B2 (en) * 2002-09-27 2006-03-21 Lucent Technologies Inc. Methods and systems for remotely controlling a test access port of a target device
US7661048B2 (en) * 2007-06-29 2010-02-09 Alcatel-Lucent Usa Inc. Apparatus and method for embedded boundary scan testing
JP4467624B2 (ja) * 2008-03-24 2010-05-26 富士通株式会社 ソフトウェアアップデート管理プログラム、ソフトウェアアップデート管理装置、およびソフトウェアアップデート管理方法
US20100191867A1 (en) * 2009-01-29 2010-07-29 Dell Products L.P. Systems and Methods for Performing Field Updates of Firmware
JP2010198332A (ja) * 2009-02-25 2010-09-09 Canon Inc ファームウェア更新装置、ファームウェア更新システム、ファームウェア更新方法、およびファームウェア更新プログラム
CN101853173A (zh) * 2010-05-27 2010-10-06 杭州华三通信技术有限公司 一种分布式系统的可编程逻辑器件的软件升级方法和设备
JP5640154B2 (ja) * 2010-10-16 2014-12-10 ヒューレット−パッカード デベロップメント カンパニー エル.ピー.Hewlett‐Packard Development Company, L.P. デバイスハードウェアエージェント
US9146726B2 (en) * 2010-12-16 2015-09-29 Netapp, Inc. System and method for firmware update for network connected storage subsystem components
CN103809990B (zh) * 2012-11-09 2016-12-21 英业达科技有限公司 伺服器
CN103200026B (zh) * 2013-02-21 2018-12-04 上海中兴软件有限责任公司 固件的升级方法及系统

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101448050A (zh) * 2008-12-29 2009-06-03 华为技术有限公司 一种atca系统的固件更新装置及方法
CN101551769A (zh) * 2009-04-28 2009-10-07 中兴通讯股份有限公司 可配置固件的烧结方法及装置

Also Published As

Publication number Publication date
EP2961097A1 (en) 2015-12-30
WO2014127628A1 (zh) 2014-08-28
CN103200026A (zh) 2013-07-10
EP2961097B1 (en) 2019-05-15
EP2961097A4 (en) 2016-03-02
US20160103672A1 (en) 2016-04-14
US9946530B2 (en) 2018-04-17

Similar Documents

Publication Publication Date Title
CN103200026B (zh) 固件的升级方法及系统
CN104579719B (zh) 一种固件的升级方法和系统、上位机和光模块
CN102917095B (zh) 一种基于Android系统的终端测试的方法及装置
CN101483576B (zh) 一种分布式系统中的版本管理实现方法
US20110238188A1 (en) Engineering tool
CN103580942B (zh) 一种模拟串口测试方法和装置
CN103164244A (zh) 一种基于通用可扩展固件接口的固件系统远程更新方法
CN100571160C (zh) 软件升级方法和装置、以及网元
CN102404149B (zh) 一种业务特性的管理系统和方法
CN103177104A (zh) 一种应用程序搜索方法及装置
CN102263660A (zh) 双网卡冗余切换方法及装置
CN101751265A (zh) 服务器的基本输入/输出系统的更新系统及其方法
CN102567050B (zh) B/s系统远程部署项目的方法和装置
CN101193154A (zh) 手机产品测试数据整合系统及方法
CN102467394A (zh) 多核热补丁的实现方法及系统
CN102984055A (zh) 一种issu的软重启升级方法和设备
CN112003723A (zh) Expander芯片的固件批量升级实现方法和系统
CN116708592A (zh) 一种可配置的通信协议交互方法及系统
CN106555743B (zh) 一种电动压缩机驱动器固件更新方法及系统
CN111984287A (zh) 设备升级方法及系统
CN103428305A (zh) 一种网络设备批量升级的方法
CN1636171B (zh) 用于可编程控制器的通用功能电路和通用单元
CN103338134A (zh) 分布式网络交换机调试系统
CN103997528A (zh) 一种配网自动化终端及其实现方法
CN110995867A (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
TA01 Transfer of patent application right
TA01 Transfer of patent application right

Effective date of registration: 20181105

Address after: 201203 Shanghai Zhangjiang hi tech park, 889 B, Bi Po Road 205

Applicant after: Shanghai Zhongxing Software Co., Ltd.

Address before: No. 55, Nanshan District science and technology road, Nanshan District, Shenzhen, Guangdong

Applicant before: ZTE Corporation

GR01 Patent grant
GR01 Patent grant