CN109885327A - 一种升级cpld的方法及装置 - Google Patents

一种升级cpld的方法及装置 Download PDF

Info

Publication number
CN109885327A
CN109885327A CN201910150766.0A CN201910150766A CN109885327A CN 109885327 A CN109885327 A CN 109885327A CN 201910150766 A CN201910150766 A CN 201910150766A CN 109885327 A CN109885327 A CN 109885327A
Authority
CN
China
Prior art keywords
cpld
processor
target
target load
pin
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.)
Pending
Application number
CN201910150766.0A
Other languages
English (en)
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.)
New H3C Security Technologies Co Ltd
Original Assignee
New H3C Security Technologies 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 New H3C Security Technologies Co Ltd filed Critical New H3C Security Technologies Co Ltd
Priority to CN201910150766.0A priority Critical patent/CN109885327A/zh
Publication of CN109885327A publication Critical patent/CN109885327A/zh
Pending legal-status Critical Current

Links

Landscapes

  • Stored Programmes (AREA)

Abstract

本公开实施例提供了一种升级CPLD的方法,涉及计算机技术领域。该方法应用于网络设备的处理器,处理器通过连接器与CPLD连接,处理器包含四个通用输入输出GPIO引脚,CPLD包括联合测试工作组JTAG接口,连接器分别与处理器的四个GPIO引脚、以及CPLD的JTAG接口连接,该方法包括:当接收到CPLD的升级命令时,获取预先存储的目标加载文件,目标加载文件包含升级后的程序;将四个GPIO引脚的属性分别定义为测试时钟输入TCK引脚、测试模式选择TMS引脚、测试数据输入TDI引脚和测试数据输出TDO引脚;通过定义后的四个GPIO引脚模拟JTAG时序,将目标加载文件写入到CPLD中。

Description

一种升级CPLD的方法及装置
技术领域
本公开涉及计算机技术领域,特别是涉及一种升级CPLD的方法及装置。
背景技术
目前,复杂可编程逻辑器件(英文:Complex Programmable Logic Device,简称:CPLD)在单板硬件设计中通常用来实现单板管理功能,例如,通过CPLD来实现器件复位、中断汇聚、点灯控制等功能。
CPLD中的程序可以通过CPLD上设置的联合测试工作组(英文:Joint Test ActionGroup,简称:JTAG)接口加载。在CPLD的生产加工阶段,技术人员可以在终端生成需要加载到CPLD中的文件,该文件包括程序数据。技术人员通过有线连接的方式,将CPLD的JTAG接口与终端的数据传输接口(比如用串行总线(英文:Universal Serial Bus,简称:USB)接口)连接,以便将该文件通过有线连接加载到CPLD中。
发明内容
本公开实施例的目的在于提供一种升级CPLD的方法及装置,以实现提高CPLD升级的效率。具体技术方案如下:
第一方面,提供了一种升级复杂可编程逻辑器件CPLD的方法,所述方法应用于网络设备的处理器,所述处理器通过连接器与CPLD连接,所述处理器包含四个通用输入输出GPIO引脚,所述CPLD包括联合测试工作组JTAG接口,所述连接器分别与所述处理器的所述四个GPIO引脚、以及所述CPLD的JTAG接口连接,所述方法包括:
当接收到所述CPLD的升级命令时,获取预先存储的目标加载文件,所述目标加载文件包含升级后的程序数据;
将所述四个GPIO引脚的属性分别定义为测试时钟输入TCK引脚、测试模式选择TMS引脚、测试数据输入TDI引脚和测试数据输出TDO引脚;
通过定义后的所述四个GPIO引脚模拟JTAG时序,将所述目标加载文件写入到所述CPLD中。
可选的,所述将所述目标加载文件写入到所述CPLD中之后,所述方法还包括:
接收针对升级后的程序的测试命令,并将所述测试命令传输至所述CPLD;
接收所述CPLD执行所述测试命令后返回的执行结果;
如果所述执行结果与预设执行结果相同,则输出升级成功的提示消息;
如果所述执行结果与预设执行结果不相同,则输出升级失败的提示消息。
可选的,所述方法还包括:
如果所述执行结果与预设执行结果不相同,则获取所述CPLD的目标型号和所述目标加载文件的目标文件格式;
根据预先存储的CPLD的型号和加载文件的文件格式的对应关系,确定所述目标型号与所述目标文件格式是否匹配;
如果所述目标型号与所述目标文件格式不匹配,则输出升级失败的第一原因信息,所述第一原因信息表示所述目标型号与所述目标文件格式不匹配。
可选的,所述方法还包括:
如果所述执行结果与预设执行结果不相同,则获取所述目标加载文件对应的初始文件;
判断所述初始文件的文件内容与所述目标加载文件的文件内容是否相同;
如果所述初始文件的文件内容与所述目标加载文件的文件内容不相同,则输出升级失败的第二原因信息,所述第二原因信息表示所述目标加载文件损坏。
可选的,所述方法还包括:
通过所述网络设备的数据传输接口接收目标终端发送的所述目标加载文件;
将所述目标加载文件存储到所述处理器对应的存储资源中。
第二方面,提供了一种升级复杂可编程逻辑器件CPLD的装置,所述装置应用于网络设备的处理器,所述处理器通过连接器与CPLD连接,所述处理器包含四个通用输入输出GPIO引脚,所述CPLD包括联合测试工作组JTAG接口,所述连接器分别与所述处理器的所述四个GPIO引脚、以及所述CPLD的JTAG接口连接,所述装置包括:
第一获取模块,用于当接收到所述CPLD的升级命令时,获取预先存储的目标加载文件,所述目标加载文件包含升级后的程序数据;
定义模块,用于将所述四个GPIO引脚的属性分别定义为测试时钟输入TCK引脚、测试模式选择TMS引脚、测试数据输入TDI引脚和测试数据输出TDO引脚;
写入模块,用于通过定义后的所述四个GPIO引脚模拟JTAG时序,将所述目标加载文件写入到所述CPLD中。
可选的,所述装置还包括:
第一接收模块,用于接收针对升级后的程序的测试命令,并将所述测试命令传输至所述CPLD;
第二接收模块,用于接收所述CPLD执行所述测试命令后返回的执行结果;
第一输出模块,用于如果所述执行结果与预设执行结果相同,则输出升级成功的提示消息;
第二输出模块,用于如果所述执行结果与预设执行结果不相同,则输出升级失败的提示消息。
可选的,所述装置还包括:
第二获取模块,用于如果所述执行结果与预设执行结果不相同,则获取所述CPLD的目标型号和所述目标加载文件的目标文件格式;
确定模块,用于根据预先存储的CPLD的型号和加载文件的文件格式的对应关系,确定所述目标型号与所述目标文件格式是否匹配;
第三输出模块,用于如果所述目标型号与所述目标文件格式不匹配,则输出升级失败的第一原因信息,所述第一原因信息表示所述目标型号与所述目标文件格式不匹配。
可选的,所述装置还包括:
第三获取模块,用于如果所述执行结果与预设执行结果不相同,则获取所述目标加载文件对应的初始文件;
判断模块,用于判断所述初始文件的文件内容与所述目标加载文件的文件内容是否相同;
第四输出模块,用于如果所述初始文件的文件内容与所述目标加载文件的文件内容不相同,则输出升级失败的第二原因信息,所述第二原因信息表示所述目标加载文件损坏。
可选的,所述装置还包括:
发送模块,用于通过所述网络设备的数据传输接口接收目标终端发送的所述目标加载文件;
存储模块,用于将所述目标加载文件存储到所述处理器对应的存储资源中。
第三方面,提供了一种电子设备,包括处理器、通信接口、存储器和通信总线,其中,处理器,通信接口,存储器通过通信总线完成相互间的通信;
存储器,用于存放计算机程序;
处理器,用于执行存储器上所存放的程序时,实现第一方面任一所述的方法步骤。
第四方面,提供了一种计算机可读存储介质,所述计算机可读存储介质内存储有计算机程序,所述计算机程序被处理器执行时实现第一方面任一所述的方法步骤。
第五方面,提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述第一方面任一所述的方法步骤。
本公开实施例中,网络设备的处理器可以通过连接器与CPLD连接,该处理器包含四个通用输入输出GPIO引脚,CPLD包括联合测试工作组JTAG接口,连接器分别与处理器的四个GPIO引脚、以及CPLD的JTAG接口连接。当接收到CPLD的升级命令时,处理器可以获取预先存储的目标加载文件,目标加载文件包含升级后的程序。处理器可以将四个GPIO引脚的属性分别定义为测试时钟输入TCK引脚、测试模式选择TMS引脚、测试数据输入TDI引脚和测试数据输出TDO引脚,然后通过定义后的四个GPIO引脚模拟JTAG时序,将目标加载文件写入到CPLD中。基于上述方案,可以实现CPLD的在线升级,无需用户将网络设备返回厂家,提高了CPLD升级的效率。并且,上述方案中,连接器只需要具备4对引脚即可,无需安装引脚数目较多的连接器,降低了设备成本。
当然,实施本公开的任一产品或方法并不一定需要同时达到以上所述的所有优点。
附图说明
为了更清楚地说明本公开实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本公开的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本公开实施例提供的一种电路结构示意图;
图2为本公开实施例提供的一种电路结构示意图;
图3为本公开实施例提供的一种升级CPLD的方法流程图;
图4为本公开实施例提供的一种JTAG时序的示意图;
图5为本公开实施例提供的一种升级CPLD的装置的结构示意图;
图6为本公开实施例提供的一种升级CPLD的装置的结构示意图;
图7为本公开实施例提供的一种升级CPLD的装置的结构示意图;
图8为本公开实施例提供的一种升级CPLD的装置的结构示意图;
图9为本公开实施例提供的一种升级CPLD的装置的结构示意图;
图10为本公开实施例提供的一种电子设备的结构示意图。
具体实施方式
下面将结合本公开实施例中的附图,对本公开实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本公开一部分实施例,而不是全部的实施例。基于本公开中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本公开保护的范围。
本公开实施例提供了一种升级CPLD的方法,该方法可以应用于网络设备的处理器。为了提高端口密度和端口类型配置的灵活性,处理器除了可以提供一些固定端口外,还可以对外提供子卡槽位,以实现接口类型的按需配置、满足不同用户的接入要求。其中,每个子卡槽位可以包含多个引脚。如图1所示,处理器(即作为母卡)中可以设置有多个子卡槽位,连接器(即作为子卡)可以通过子卡槽位与处理器连接,连接器还可以与CPLD连接,这样,处理器可以通过连接器与多个CPLD连接。
本公开实施例中,处理器可以包含四个通用输入输出(英文:General PurposeInput Output,简称:GPIO)引脚。CPLD包括JTAG接口,JTAG接口包括4个引脚,即测试时钟输入(英文:Test clock input,简称:TCK)引脚、测试模式选择(英文:Test mode selection,简称:TMS)引脚、测试数据输入(英文:Test data input,简称:TDI)引脚和测试数据输出(英文:Test data output,简称:TDO)引脚。连接器为包含多个引脚的器件,连接器可以通过自身的引脚,分别与处理器的四个GPIO引脚、以及CPLD的JTAG接口连接。如图2所示,为本公开提供的处理器与CPLD连接的示意图。由于连接器的引脚的属性需要和与其连接的引脚的属性相匹配,因此,需要预先对连接器中的各引脚进行定义。基于上述连接方式,连接器中与处理器连接的4个引脚的属性,需要定义为GPIO引脚;与JTAG接口连接的引脚的属性,需要分别定义为TCK引脚、TMS引脚、TDI引脚和TDO引脚。这样,处理器与CPLD之间可以通过连接器传输数据。
下面将结合具体实施方式,对本公开实施例提供的一种升级CPLD的方法进行详细的说明,如图3所示,具体步骤如下。
步骤301,当接收到CPLD的升级命令时,获取预先存储的目标加载文件,目标加载文件包含升级后的程序数据。
本公开实施例中,网络设备生产厂商的技术人员可以在的终端中安装有预设的专用软件,技术人员可以通过该专用软件,生成包含升级后的程序数据的文件(可称为目标加载文件)。其中,该专用软件可以由CPLD的生产厂商提供。由于不同型号的CPLD的能够加载的文件的格式不同,因此,技术人员需要在该专用软件中选择待升级的CPLD的型号,从而生成与该型号相匹配的文件格式的目标加载文件,以使待升级的CPLD能够成功加载目标加载文件。技术人员在终端上生成目标加载文件后,可以通过该终端将目标加载文件传输给需要升级该CPLD的用户的终端(可称为目标终端)。
在另一种可行的实现方式中,技术人员也可以预设生成各型号的CPLD对应的目标加载文件,然后发布到预设的网络平台中,由用户根据需要进行下载。
用户通过目标终端获取到目标加载文件,可以将该目标加载文件发送给待升级的CPLD所在的网络设备。网络设备获取到目标加载文件后,可以对目标加载文件进行存储,以便对CPLD进行升级。
可选的,目标终端可以与该网络设备有线连接,该目标终端可以通过有线传输的方式,将目标加载文件传输给网络设备。相应的,网络设备可以通过数据传输接口接收目标终端发送的目标加载文件,然后,将目标加载文件存储到处理器对应的存储资源中。
本公开实施例中,网络设备中可以预先为处理器划分存储资源,比如内存资源。网络设备通过数据传输接口接收到目标加载文件后,可以将目标加载文件存储到处理器对应的存储资源中,以使处理器可以从该存储资源中读取目标加载文件。
步骤302,将四个GPIO引脚的属性分别定义为TCK引脚、TMS引脚、TDI引脚和TDO引脚。
在实际应用中,CPLD只能通过JTAG接口加载程序数据,该JTAG接口包括4个引脚,即TCK引脚、TMS引脚、TDI引脚和TDO引脚。由于JTAG接口只能读/写JTAG时序的信号,因此,本公开实施例中,将处理器的四个GPIO引脚的属性分别定义为TCK引脚、TMS引脚、TDI引脚和TDO引脚,以便模拟JTAG时序。其中,TCK引脚用于设置数据采样的时钟;TMS引脚用于设置JTAG接口的测试模式;TDI引脚用于输入数据(比如数字信号);TDO引脚用于输出数据。参照图2,处理器包括GPIO0引脚、GPIO1引脚、GPIO2引脚和GPIO3引脚,其中,GPIO0引脚的属性定义为TDO引脚,以使GPIO0引脚能够实现TDO引脚的功能;GPIO1引脚的属性定义为TDI引脚,以使GPIO1引脚能够实现TDI引脚的功能;GPIO2引脚的属性定义为TMS引脚,以使GPIO2引脚能够实现TMS引脚的功能;GPIO3引脚的属性定义为TCK引脚,以使GPIO3引脚能够实现TCK引脚的功能。用于定义各GPIO引脚的属性的代码可以预先存储在网络设备中,当处理器获取到目标加载文件后,处理器可以自动调用上述代码,以定义各GPIO引脚的属性。
步骤303,通过定义后的四个GPIO引脚模拟JTAG时序,将目标加载文件写入到CPLD中。
本公开实施例中,网络设备中还可以预先存储JTAG时序的运行代码,处理器定义GPIO引脚的属性后,可以调用该运行代码,以便通过定义后的四个GPIO引脚模拟JTAG时序,向CPLD传输数据。这样,网络设备可以按照JTAG时序,将目标加载文件的数据写入到CPLD中,以使CPLD能够加载更新后的程序数据,实现CPLD升级。
如图4所示,为本公开实施例提供的JTAG时序的示意图。处理器可以通过GPIO2引脚输出如图4所示的TMS信号,通过GPIO1引脚输出如图4所示的TDI信号,通过GPIO3引脚输出如图4所示的TCK信号,通过GPIO0引脚输出如图4所示的TDO信号。上述信号可以通过连接器分别传输至CPLD的四个引脚。CPLD可以根据四个引脚接收到的信号,捕获如图4所示的信号,进而确定如图4所示的待驱动的信号。CPLD可以加载该待驱动的信号,以实现目标加载文件的写入。
可选的,用户可以通过测试命令检测CPLD是否升级成功,相应的,处理器的处理过程可以为:接收针对升级后的程序的测试命令,并将测试命令传输至CPLD;接收CPLD执行测试命令后返回的执行结果;如果执行结果与预设执行结果相同,则输出升级成功的提示消息;如果执行结果与预设执行结果不相同,则输出升级失败的提示消息。
本公开实施例中,处理器将目标加载文件写入到CPLD后,可以输出加载完成的提示消息,网络设备可以将该提示消息发送给目标终端。目标终端接收到加载完成的提示消息后,可以显示该提示消息,以使用户获知目标加载文件写入完成。然后,用户可以在目标终端输入测试命令,目标终端则可以将该测试命令发送给网络设备。网络设备接收到该测试命令后,网络设备的处理器可以将该测试命令传输至CPLD,CPLD则会执行该测试命令,并得到该测试命令的执行结果。CPLD可以将该执行结果传输给处理器,处理器将该执行结果与预设执行结果进行对比。如果二者相同,则说明测试命令执行成功,处理器可以确定CPLD升级成功,输出升级成功的提示消息。如果二者不相同,则说明测试命令执行失败,处理器可以确定CPLD升级失败,输出升级失败的提示消息。网络设备可以将处理器输出的提示消息发送给目标终端,以使用户获知CPLD是否升级成功。
可选的,用户获知目标加载文件写入完成后,也可以在网络设备中手动查看CPLD的程序的版本号,如果该版本号与升级前的版本号不相同,且该版本号与CPLD的型号相匹配,则可以确定CPLD升级成功,否则,可以确定CPLD升级失败。
可选的,如果执行结果与预设执行结果不相同(即CPLD升级失败),处理器还可以自动定位失败原因,具体的定位方式可以是多种多样的,本公开实施例提供了两种可行的处理方式,具体如下。
方式一、获取CPLD的目标型号和目标加载文件的目标文件格式,根据预先存储的CPLD的型号和加载文件的文件格式的对应关系,确定目标型号与目标文件格式是否匹配,如果目标型号与目标文件格式不匹配,则输出升级失败的第一原因信息,第一原因信息表示目标型号与目标文件格式不匹配。
本公开实施例中,处理器中可以预先存储CPLD的型号和加载文件的文件格式的对应关系。其中,CPLD的型号对应的文件格式为该型号的CPLD能够成功加载的文件格式。处理器确定该CPLD升级失败后,可以获取目标加载文件的目标文件格式、以及预先存储的该CPLD的目标型号,然后可以判断该对应关系中,是否包含目标文件格式与目标型号的对应关系。如果不包含,则说明目标文件格式与目标型号不匹配,处理器可以输出升级失败的第一原因信息,第一原因信息表示目标型号与目标文件格式不匹配。网络设备可以将该第一原因信息发送给目标终端,目标终端则会显示第一原因信息,以使用户可以获知CPLD升级失败的原因。
可选的,如果目标型号与目标文件格式相匹配,则处理器可以采用其他方式(比如方式二)定位失败原因,或者,处理器也可以不输出原因信息,此时,处理器仅输出升级失败的提示消息,用户需要通过人工定位CPLD升级失败的原因。
方式二、获取目标加载文件对应的初始文件,判断初始文件的文件内容与目标加载文件的文件内容是否相同,如果初始文件的文件内容与目标加载文件的文件内容不相同,则输出升级失败的第二原因信息,第二原因信息表示目标加载文件损坏。
本公开实施例中,网络设备的处理器判定该CPLD升级失败后,网络设备向目标终端发送文件获取请求,该文件获取请求中可以携带有网络设备的标识。目标终端接收到文件获取请求后,可以获取本地存储的目标加载文件(即初始文件)。然后,将初始文件发送给网络设备。网络设备接收到初始文件后,网络设备的处理器可以读取该初始文件,另外,网络设备的处理器还可以从CPLD中读取CPLD加载的目标加载文件,进而判断CPLD加载的目标加载文件的文件内容,与初始文件的文件内容是否相同。如果不相同,则处理器可以输出升级失败的第二原因信息,该第二原因信息可以表示目标加载文件损坏。网络设备可以将该第二原因信息发送给目标终端,目标终端则会显示第二原因信息,以使用户可以获知CPLD升级失败的原因。
可选的,如果初始文件与目标加载文件的内容相同,则处理器可以采用其他方式(比如方式一)定位失败原因,或者,处理器也可以不输出原因信息,此时,处理器仅输出升级失败的提示消息,用户需要通过人工定位CPLD升级失败的原因。
本公开实施例中,网络设备的处理器可以通过连接器与CPLD连接,该处理器包含四个通用输入输出GPIO引脚,CPLD包括联合测试工作组JTAG接口,连接器分别与处理器的四个GPIO引脚、以及CPLD的JTAG接口连接。当接收到CPLD的升级命令时,处理器可以获取预先存储的目标加载文件,目标加载文件包含升级后的程序数据。处理器可以将四个GPIO引脚的属性分别定义为测试时钟输入TCK引脚、测试模式选择TMS引脚、测试数据输入TDI引脚和测试数据输出TDO引脚,然后通过定义后的四个GPIO引脚模拟JTAG时序,将目标加载文件写入到CPLD中。与现有技术通过JTAG接口进行程序加载的方式相比,在现有技术中,当设置有CPLD的设备销售到市场后,如果用户需要对CPLD中的程序升级,仍需要通过JTAG接口进行程序的加载。因此,用户需要将设备返回厂家,由厂家将包含该CPLD的单板拆出,然后再通过JTAG接口向CPLD加载升级后的程序,导致CPLD升级的效率较低。而基于本公开实施例提供的技术方案,可以实现CPLD的在线升级,无需用户将网络设备返回厂家,提高了CPLD升级的效率。并且,本公开实施例提供的技术方案中,连接器只需要具备4对引脚即可,无需安装引脚数目较多的连接器,降低了设备成本。
基于相同的技术构思,如图5所示,本公开实施例还提供了一种升级CPLD的装置,所述装置应用于网络设备的处理器,所述处理器通过连接器与CPLD连接,所述处理器包含四个通用输入输出GPIO引脚,所述CPLD包括联合测试工作组JTAG接口,所述连接器分别与所述处理器的所述四个GPIO引脚、以及所述CPLD的JTAG接口连接,所述装置包括:
第一获取模块510,用于当接收到所述CPLD的升级命令时,获取预先存储的目标加载文件,所述目标加载文件包含升级后的程序数据;
定义模块520,用于将所述四个GPIO引脚的属性分别定义为测试时钟输入TCK引脚、测试模式选择TMS引脚、测试数据输入TDI引脚和测试数据输出TDO引脚;
写入模块530,用于通过定义后的所述四个GPIO引脚模拟JTAG时序,将所述目标加载文件写入到所述CPLD中。
可选的,如图6所示,所述装置还包括:
第一接收模块540,用于接收针对升级后的程序的测试命令,并将所述测试命令传输至所述CPLD;
第二接收模块550,用于接收所述CPLD执行所述测试命令后返回的执行结果;
第一输出模块560,用于如果所述执行结果与预设执行结果相同,则输出升级成功的提示消息;
第二输出模块570,用于如果所述执行结果与预设执行结果不相同,则输出升级失败的提示消息。
可选的,如图7所示,所述装置还包括:
第二获取模块580,用于如果所述执行结果与预设执行结果不相同,则获取所述CPLD的目标型号和所述目标加载文件的目标文件格式;
确定模块590,用于根据预先存储的CPLD的型号和加载文件的文件格式的对应关系,确定所述目标型号与所述目标文件格式是否匹配;
第三输出模块5100,用于如果所述目标型号与所述目标文件格式不匹配,则输出升级失败的第一原因信息,所述第一原因信息表示所述目标型号与所述目标文件格式不匹配。
可选的,如图8所示,所述装置还包括:
第三获取模块5110,用于如果所述执行结果与预设执行结果不相同,则获取所述目标加载文件对应的初始文件;
判断模块5120,用于判断所述初始文件的文件内容与所述目标加载文件的文件内容是否相同;
第四输出模块5130,用于如果所述初始文件的文件内容与所述目标加载文件的文件内容不相同,则输出升级失败的第二原因信息,所述第二原因信息表示所述目标加载文件损坏。
可选的,如图9所示,所述装置还包括:
发送模块5140,用于通过所述网络设备的数据传输接口接收目标终端发送的所述目标加载文件;
存储模块5150,用于将所述目标加载文件存储到所述处理器对应的存储资源中。
本公开实施例中,网络设备的处理器可以通过连接器与CPLD连接,该处理器包含四个通用输入输出GPIO引脚,CPLD包括联合测试工作组JTAG接口,连接器分别与处理器的四个GPIO引脚、以及CPLD的JTAG接口连接。当接收到CPLD的升级命令时,处理器可以获取预先存储的目标加载文件,目标加载文件包含升级后的程序数据。处理器可以将四个GPIO引脚的属性分别定义为测试时钟输入TCK引脚、测试模式选择TMS引脚、测试数据输入TDI引脚和测试数据输出TDO引脚,然后通过定义后的四个GPIO引脚模拟JTAG时序,将目标加载文件写入到CPLD中。基于上述方案,可以实现CPLD的在线升级,无需用户将网络设备返回厂家,提高了CPLD升级的效率。并且,上述方案中,连接器只需要具备4对引脚即可,无需安装引脚数目较多的连接器,降低了设备成本。
本公开实施例还提供了一种电子设备,如图10所示,包括处理器1001、通信接口1002、存储器1003和通信总线1004、CPLD1005。处理器通过连接器与CPLD连接,处理器包含四个GPIO引脚,CPLD 1005包括JTAG接口,连接器分别与处理器的四个GPIO引脚、以及CPLD1005的JTAG接口连接。处理器1001,通信接口1002,存储器1003通过通信总线1004完成相互间的通信。
存储器1003,用于存放计算机程序;
处理器1001,用于执行存储器1003上所存放的程序时,实现如下方法步骤:
当接收到所述CPLD的升级命令时,获取预先存储的目标加载文件,所述目标加载文件包含升级后的程序数据;
将所述四个GPIO引脚的属性分别定义为测试时钟输入TCK引脚、测试模式选择TMS引脚、测试数据输入TDI引脚和测试数据输出TDO引脚;
通过定义后的所述四个GPIO引脚模拟JTAG时序,将所述目标加载文件写入到所述CPLD中。
可选的,所述将所述目标加载文件写入到所述CPLD中之后,所述方法还包括:
接收针对升级后的程序的测试命令,并将所述测试命令传输至所述CPLD;
接收所述CPLD执行所述测试命令后返回的执行结果;
如果所述执行结果与预设执行结果相同,则输出升级成功的提示消息;
如果所述执行结果与预设执行结果不相同,则输出升级失败的提示消息。
可选的,所述方法还包括:
如果所述执行结果与预设执行结果不相同,则获取所述CPLD的目标型号和所述目标加载文件的目标文件格式;
根据预先存储的CPLD的型号和加载文件的文件格式的对应关系,确定所述目标型号与所述目标文件格式是否匹配;
如果所述目标型号与所述目标文件格式不匹配,则输出升级失败的第一原因信息,所述第一原因信息表示所述目标型号与所述目标文件格式不匹配。
可选的,所述方法还包括:
如果所述执行结果与预设执行结果不相同,则获取所述目标加载文件对应的初始文件;
判断所述初始文件的文件内容与所述目标加载文件的文件内容是否相同;
如果所述初始文件的文件内容与所述目标加载文件的文件内容不相同,则输出升级失败的第二原因信息,所述第二原因信息表示所述目标加载文件损坏。
可选的,所述方法还包括:
通过所述网络设备的数据传输接口接收目标终端发送的所述目标加载文件;
将所述目标加载文件存储到所述处理器对应的存储资源中。
上述电子设备提到的通信总线可以是外设部件互连标准(英文:PeripheralComponent Interconnect,简称:PCI)总线或扩展工业标准结构(英文:Extended IndustryStandard Architecture,简称:EISA)总线等。该通信总线可以分为地址总线、数据总线、控制总线等。为便于表示,图中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
通信接口用于上述电子设备与其他设备之间的通信。
存储器可以包括随机存取存储器(英文:Random Access Memory,简称:RAM),也可以包括非易失性存储器(英文:Non-Volatile Memory,简称:NVM),例如至少一个磁盘存储器。可选的,存储器还可以是至少一个位于远离前述处理器的存储装置。
上述的处理器可以是通用处理器,包括中央处理器(英文:Central ProcessingUnit,简称:CPU)、网络处理器(英文:Network Processor,简称:NP)等;还可以是数字信号处理器(英文:Digital Signal Processing,简称:DSP)、专用集成电路(英文:ApplicationSpecific Integrated Circuit,简称:ASIC)、现场可编程门阵列(英文:Field-Programmable Gate Array,简称:FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。
在本公开提供的又一实施例中,还提供了一种计算机可读存储介质,该计算机可读存储介质内存储有计算机程序,所述计算机程序被处理器执行时实现上述任一升级CPLD的方法的步骤。
在本公开提供的又一实施例中,还提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述实施例中任一升级CPLD的方法。
在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。所述计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行所述计算机程序指令时,全部或部分地产生按照本公开实施例所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线(DSL))或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质,(例如,软盘、硬盘、磁带)、光介质(例如,DVD)、或者半导体介质(例如固态硬盘Solid State Disk(SSD))等。
需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
本说明书中的各个实施例均采用相关的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于装置实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
以上所述仅为本公开的较佳实施例而已,并非用于限定本公开的保护范围。凡在本公开的精神和原则之内所作的任何修改、等同替换、改进等,均包含在本公开的保护范围内。

Claims (12)

1.一种升级复杂可编程逻辑器件CPLD的方法,其特征在于,所述方法应用于网络设备的处理器,所述处理器通过连接器与CPLD连接,所述处理器包含四个通用输入输出GPIO引脚,所述CPLD包括联合测试工作组JTAG接口,所述连接器分别与所述处理器的所述四个GPIO引脚、以及所述CPLD的JTAG接口连接,所述方法包括:
当接收到所述CPLD的升级命令时,获取预先存储的目标加载文件,所述目标加载文件包含升级后的程序数据;
将所述四个GPIO引脚的属性分别定义为测试时钟输入TCK引脚、测试模式选择TMS引脚、测试数据输入TDI引脚和测试数据输出TDO引脚;
通过定义后的所述四个GPIO引脚模拟JTAG时序,将所述目标加载文件写入到所述CPLD中。
2.根据权利要求1所述的方法,其特征在于,所述将所述目标加载文件写入到所述CPLD中之后,所述方法还包括:
接收针对升级后的程序的测试命令,并将所述测试命令传输至所述CPLD;
接收所述CPLD执行所述测试命令后返回的执行结果;
如果所述执行结果与预设执行结果相同,则输出升级成功的提示消息;
如果所述执行结果与预设执行结果不相同,则输出升级失败的提示消息。
3.根据权利要求2所述的方法,其特征在于,所述方法还包括:
如果所述执行结果与预设执行结果不相同,则获取所述CPLD的目标型号和所述目标加载文件的目标文件格式;
根据预先存储的CPLD的型号和加载文件的文件格式的对应关系,确定所述目标型号与所述目标文件格式是否匹配;
如果所述目标型号与所述目标文件格式不匹配,则输出升级失败的第一原因信息,所述第一原因信息表示所述目标型号与所述目标文件格式不匹配。
4.根据权利要求2所述的方法,其特征在于,所述方法还包括:
如果所述执行结果与预设执行结果不相同,则获取所述目标加载文件对应的初始文件;
判断所述初始文件的文件内容与所述目标加载文件的文件内容是否相同;
如果所述初始文件的文件内容与所述目标加载文件的文件内容不相同,则输出升级失败的第二原因信息,所述第二原因信息表示所述目标加载文件损坏。
5.根据权利要求1所述的方法,其特征在于,所述方法还包括:
通过所述网络设备的数据传输接口接收目标终端发送的所述目标加载文件;
将所述目标加载文件存储到所述处理器对应的存储资源中。
6.一种升级复杂可编程逻辑器件CPLD的装置,其特征在于,所述装置应用于网络设备的处理器,所述处理器通过连接器与CPLD连接,所述处理器包含四个通用输入输出GPIO引脚,所述CPLD包括联合测试工作组JTAG接口,所述连接器分别与所述处理器的所述四个GPIO引脚、以及所述CPLD的JTAG接口连接,所述装置包括:
第一获取模块,用于当接收到所述CPLD的升级命令时,获取预先存储的目标加载文件,所述目标加载文件包含升级后的程序数据;
定义模块,用于将所述四个GPIO引脚的属性分别定义为测试时钟输入TCK引脚、测试模式选择TMS引脚、测试数据输入TDI引脚和测试数据输出TDO引脚;
写入模块,用于通过定义后的所述四个GPIO引脚模拟JTAG时序,将所述目标加载文件写入到所述CPLD中。
7.根据权利要求6所述的装置,其特征在于,所述装置还包括:
第一接收模块,用于接收针对升级后的程序的测试命令,并将所述测试命令传输至所述CPLD;
第二接收模块,用于接收所述CPLD执行所述测试命令后返回的执行结果;
第一输出模块,用于如果所述执行结果与预设执行结果相同,则输出升级成功的提示消息;
第二输出模块,用于如果所述执行结果与预设执行结果不相同,则输出升级失败的提示消息。
8.根据权利要求7所述的装置,其特征在于,所述装置还包括:
第二获取模块,用于如果所述执行结果与预设执行结果不相同,则获取所述CPLD的目标型号和所述目标加载文件的目标文件格式;
确定模块,用于根据预先存储的CPLD的型号和加载文件的文件格式的对应关系,确定所述目标型号与所述目标文件格式是否匹配;
第三输出模块,用于如果所述目标型号与所述目标文件格式不匹配,则输出升级失败的第一原因信息,所述第一原因信息表示所述目标型号与所述目标文件格式不匹配。
9.根据权利要求7所述的装置,其特征在于,所述装置还包括:
第三获取模块,用于如果所述执行结果与预设执行结果不相同,则获取所述目标加载文件对应的初始文件;
判断模块,用于判断所述初始文件的文件内容与所述目标加载文件的文件内容是否相同;
第四输出模块,用于如果所述初始文件的文件内容与所述目标加载文件的文件内容不相同,则输出升级失败的第二原因信息,所述第二原因信息表示所述目标加载文件损坏。
10.根据权利要求6所述的装置,其特征在于,所述装置还包括:
发送模块,用于通过所述网络设备的数据传输接口接收目标终端发送的所述目标加载文件;
存储模块,用于将所述目标加载文件存储到所述处理器对应的存储资源中。
11.一种电子设备,其特征在于,包括处理器、通信接口、存储器和通信总线,其中,处理器,通信接口,存储器通过通信总线完成相互间的通信;
存储器,用于存放计算机程序;
处理器,用于执行存储器上所存放的程序时,实现权利要求1-5任一所述的方法步骤。
12.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质内存储有计算机程序,所述计算机程序被处理器执行时实现权利要求1-5任一所述的方法步骤。
CN201910150766.0A 2019-02-28 2019-02-28 一种升级cpld的方法及装置 Pending CN109885327A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910150766.0A CN109885327A (zh) 2019-02-28 2019-02-28 一种升级cpld的方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910150766.0A CN109885327A (zh) 2019-02-28 2019-02-28 一种升级cpld的方法及装置

Publications (1)

Publication Number Publication Date
CN109885327A true CN109885327A (zh) 2019-06-14

Family

ID=66929967

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910150766.0A Pending CN109885327A (zh) 2019-02-28 2019-02-28 一种升级cpld的方法及装置

Country Status (1)

Country Link
CN (1) CN109885327A (zh)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112732343A (zh) * 2020-12-31 2021-04-30 中国电子科技网络信息安全有限公司 一种堆叠设备中业务子母板卡加载的方法
CN113407223A (zh) * 2021-06-28 2021-09-17 新华三信息安全技术有限公司 一种可编程逻辑器件在线升级方法及系统
CN114036097A (zh) * 2021-10-09 2022-02-11 中国航空工业集团公司洛阳电光设备研究所 一种提升光电产品维护性的国产fpga逻辑在线升级方法

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050071719A1 (en) * 2003-09-25 2005-03-31 International Business Machines Corporation Method and apparatus for diagnosis and behavior modification of an embedded microcontroller
US20090079467A1 (en) * 2007-09-26 2009-03-26 Sandven Magne V Method and apparatus for upgrading fpga/cpld flash devices
CN101894029A (zh) * 2010-06-21 2010-11-24 中兴通讯股份有限公司 一种在线升级复杂可编程逻辑器件的方法及装置
CN102436385A (zh) * 2011-11-15 2012-05-02 电子科技大学 一种可编程逻辑器件配置文件在线更新装置
CN102662701A (zh) * 2012-03-28 2012-09-12 中兴通讯股份有限公司 Cpld在线升级方法、装置及业务单板
CN108664264A (zh) * 2018-08-16 2018-10-16 成都爱斯顿科技有限公司 一种基于cpu通过jtag方式远程更新fpga的装置和方法
CN108768709A (zh) * 2018-05-18 2018-11-06 深圳国人通信股份有限公司 一种网络设备的串口远程升级方法

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050071719A1 (en) * 2003-09-25 2005-03-31 International Business Machines Corporation Method and apparatus for diagnosis and behavior modification of an embedded microcontroller
US20090079467A1 (en) * 2007-09-26 2009-03-26 Sandven Magne V Method and apparatus for upgrading fpga/cpld flash devices
CN101894029A (zh) * 2010-06-21 2010-11-24 中兴通讯股份有限公司 一种在线升级复杂可编程逻辑器件的方法及装置
CN102436385A (zh) * 2011-11-15 2012-05-02 电子科技大学 一种可编程逻辑器件配置文件在线更新装置
CN102662701A (zh) * 2012-03-28 2012-09-12 中兴通讯股份有限公司 Cpld在线升级方法、装置及业务单板
CN108768709A (zh) * 2018-05-18 2018-11-06 深圳国人通信股份有限公司 一种网络设备的串口远程升级方法
CN108664264A (zh) * 2018-08-16 2018-10-16 成都爱斯顿科技有限公司 一种基于cpu通过jtag方式远程更新fpga的装置和方法

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112732343A (zh) * 2020-12-31 2021-04-30 中国电子科技网络信息安全有限公司 一种堆叠设备中业务子母板卡加载的方法
CN112732343B (zh) * 2020-12-31 2022-04-22 中国电子科技网络信息安全有限公司 一种堆叠设备中业务子母板卡加载的方法
CN113407223A (zh) * 2021-06-28 2021-09-17 新华三信息安全技术有限公司 一种可编程逻辑器件在线升级方法及系统
CN114036097A (zh) * 2021-10-09 2022-02-11 中国航空工业集团公司洛阳电光设备研究所 一种提升光电产品维护性的国产fpga逻辑在线升级方法
CN114036097B (zh) * 2021-10-09 2024-03-01 中国航空工业集团公司洛阳电光设备研究所 一种提升光电产品维护性的国产fpga逻辑在线升级方法

Similar Documents

Publication Publication Date Title
CN112270149B (zh) 验证平台自动化集成方法、系统及电子设备和存储介质
CN102736938B (zh) Fpga配置程序的烧写方法
CN109885327A (zh) 一种升级cpld的方法及装置
US20140245264A1 (en) Identifying Test Cases Based on Changed Test Code
CN105068929A (zh) 测试脚本生成方法和装置、测试方法、测试装置以及测试系统
CN109144932A (zh) 一种基于dsp的快速动态配置fpga的装置及方法
CN104407882B (zh) 一种板卡装置
CN105117233A (zh) Api调用方法及装置
CN108595298A (zh) 一种芯片测试系统及方法
CN106407059A (zh) 一种服务器节点测试系统及方法
CN110119280A (zh) 多固件升级的方法及装置
CN107741904A (zh) 测试机自动配置方法、装置、设备及存储介质
CN109783340A (zh) SoC的测试代码烧写方法、IP测试方法及装置
CN110235393A (zh) 自动化测试方法及系统
JP2014044597A (ja) 情報処理装置、テストデータ作成装置、テストデータ作成方法、およびプログラム
CN109490760A (zh) 一种芯片测试装置、系统和方法
CN113157508A (zh) 嵌入式系统的测试方法、系统、装置、设备及存储介质
CN207337386U (zh) 一种服务器主板测试装置
CN115904835A (zh) 一种线缆检测方法及服务器
US7764619B2 (en) Signal routing error reporting
CN111693294A (zh) 车辆检测方法、装置、终端设备及存储介质
CN114328223A (zh) 一种信息测试方法、装置、设备及存储介质
CN114019357A (zh) 一种逻辑处理模块的测试引脚的管理方法及相关组件
CN116257037B (zh) 控制器测试程序的生成方法、系统、电子设备及存储介质
CN108259895A (zh) 机顶盒测试方法、系统及终端设备

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
RJ01 Rejection of invention patent application after publication
RJ01 Rejection of invention patent application after publication

Application publication date: 20190614