一种设备调试的方法及电子设备与流程

文档序号:27079133发布日期:2021-10-24 11:27阅读:88来源:国知局
一种设备调试的方法及电子设备与流程

1.本说明书一个或多个实施例涉及计算机技术领域,尤其涉及一种设备调试的方法及电子设备。


背景技术:

2.随着技术发展和需求提升,越来越多的设备采用分布式管理架构,该架构下,设备中除主cpu外,诸如风扇模块的子系统、以及所装配的插卡子板也都各自配置有子cpu。在对所述分布式管理架构的设备进行调试时,如何获取设备中主cpu和子cpu的调试信息成为亟待解决的问题。
3.相关技术中,一般是在设备上配置一个外接调试的串口,所述串口与协处理器相接,所述协处理器与所有cpu的调试接口相接。调试人员通过该串口向协处理器下发切换命令,以使协处理器通过该串口切换输出所述设备多个cpu中任一cpu的调试信息。举例来说,当通过该串口向协处理器输入针对任一目标cpu的切换命令时,在所述目标cpu无故障的情况下,可通过该串口对外输出所述目标cpu的调试信息;而在所述目标cpu发生故障的情况下,则不能通过该串口输出调试信息且无法再接收调试人员输入的切换命令,且如果需要继续输出其他cpu的调试信息,就必须以整机重启的方式继续上述调试过程。因而极大地干扰了调试人员的工作,降低了设备调试的效率。


技术实现要素:

4.有鉴于此,本说明书提供一种设备调试的方法及电子设备。
5.为实现上述目的,本说明书一个或多个实施例提供的技术方案如下:
6.根据本说明书一个或多个实施例的第一方面,提出了一种设备调试的方法,应用于配置有主cpu、子cpu以及协处理器的电子设备,所述电子设备配置有用于外接调试的第一串口和第二串口,所述第一串口与所述主cpu相接,所述第二串口与所述协处理器相接,所述协处理器与各个子cpu相接,所述协处理器还与所述主cpu相接;
7.所述方法包括:
8.所述电子设备的主cpu,在接收到通过第一串口输入的针对目标子cpu的调试命令时,通知协处理器将第二串口与所述目标子cpu关联;
9.所述电子设备的协处理器,在接收到所述主cpu将第二串口与所述目标子cpu关联的通知后,将所述目标子cpu的调试信息通过所述第二串口对外输出。
10.根据本说明书一个或多个实施例的第二方面,提出了一种电子设备,配置有主cpu、子cpu以及协处理器,且配置有用于外接调试的第一串口和第二串口,所述第一串口与所述主cpu相接,所述第二串口与所述协处理器相接,所述协处理器与各个子cpu相接,所述协处理器还与所述主cpu相接;
11.其中,所述电子设备的主cpu,用于在接收到通过第一串口输入的针对目标子cpu的调试命令时,通知协处理器将第二串口与所述目标子cpu关联;
12.所述电子设备的协处理器,用于在接收到所述主cpu将第二串口与所述目标子cpu关联的通知后,将所述目标子cpu的调试信息通过所述第二串口对外输出。
13.由以上描述可以看出,本说明书中,在电子设备上配置有两个外接调试的串口,针对目标子cpu的调试命令通过第一串口输入至主cpu后,主cpu将通知协处理器将第二串口与所述目标子cpu关联,然后,所述目标子cpu的调试信息将由协处理器通过第二串口对外输出。由于接收调试命令的第一串口,与输出各个子cpu调试信息的第二串口是相互独立的两个不同串口,只要主cpu保持正常状态,即使协处理器某次切换至一故障的子cpu,也不影响新的调试命令通过第一串口输入后主cpu通知协处理器切换输出其他无故障的子cpu的调试信息,无需因切换至故障的子cpu后无法输入调试命令而进行整机重启,因而规避了相关技术中的技术缺陷,能够顺利完成各个子cpu的调试,提高了设备调试效率,减轻调试人员负担。
附图说明
14.图1是一示例性实施例示出的相关技术中待调试的电子设备的架构示意图。
15.图2是一示例性实施例示出的本方案中待调试的电子设备的架构示意图。
16.图3是一示例性实施例提供的一种设备调试的方法流程图。
17.图4是另一示例性实施例示出的一种设备调试的方法流程图。
18.图5是一示例性实施例提供的一种电子设备的结构示意图。
具体实施方式
19.这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本说明书一个或多个实施例相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本说明书一个或多个实施例的一些方面相一致的装置和方法的例子。
20.需要说明的是:在其他实施例中并不一定按照本说明书示出和描述的顺序来执行相应方法的步骤。在一些其他实施例中,其方法所包括的步骤可以比本说明书所描述的更多或更少。此外,本说明书中所描述的单个步骤,在其他实施例中可能被分解为多个步骤进行描述;而本说明书中所描述的多个步骤,在其他实施例中也可能被合并为单个步骤进行描述。
21.随着大规模集成电路等技术领域的快速发展以及大众对于网络规模、设备性能要求的不断提升,越来越多的电子设备都开始采用分布式管理架构。所述分布式管理架构下,电子设备可以分化为多个子系统,和/或子板,每个子系统和子板都配置有独立的子cpu,整个电子设备在主cpu的控制下协调多个子cpu共同执行设备任务。举例来说,一种较为常见的采用所述分布式架构的电子设备,即框式交换机,其中主cpu即主控板cpu,而子cpu则为诸如风扇模块等子系统和/或诸如接口板等子板的cpu。
22.上述分布式管理架构虽然能够提高设备任务的执行效率,但在进行设备调试时却较为复杂。相关技术中,如图1所示,一般会在设备上配置一个外接调试的串口0,将所述串口0与设备中的诸如fpga(field programmable gate array,现场可编程逻辑门阵列)、
cpld(complex programmable logic device,复杂可编程逻辑器件)的协处理器相接,调试人员通过所述串口0向所述协处理器你传达切换命令,通知所述协处理器将所述外接调试的串口0与切换命令中指示的目标cpu关联,以通过所述串口0输出目标cpu的调试信息,但是一旦某次切换命令指示切换到一故障cpu,则串口0无法输出所述故障cpu的调试信息且不能够再接收外部输入的切换指令,为了继续进行其他cpu的调试工作就必须整机重启,因而这种将命令接收和信息输出两个功能合于一个端口的配置方式极大地干扰了调试人员的工作,降低了设备调试的效率。
23.有鉴于此,本说明书提出一种设备调试的方法,应用于任一配置有主cpu、子cpu和协处理器的电子设备,所述电子设备配置有用于外接调试的第一串口和第二串口,其中,所述第一串口与所述主cpu相接,所述第二串口与所述协处理器相接,所述协处理器与各个子cpu相接,所述协处理器还与所述主cpu相接。
24.具体地,假设如图2所示,所述电子设备中包括主cpu 0以及子cpu 1和子cpu 2,其中所述主cpu 0的调试接口uart 0与所述串口1相接,所述子cpu 1的调试接口uart 1、子cpu 2的调试接口uart 2与协处理器cpld相接,所述cpld与所述串口2相接,所述cpld还与主cpu 0以设备总线相接。所述调试接口uart 1、uart 2为uart接口(universal asynchronous receiver/transmitter,通用异步收发传输器),一般采用ttl(transistor

transistor logic,晶体管

晶体管逻辑电平)标准;而所述串口1、串口2为com口(cluster communication port,串行通讯端口),一般采用rs

232(异步传输标准接口)标准。
25.要说明的是,本说明书对于所述电子设备具体为何种设备,所述协处理器具体为何种协处理器,所述子cpu具体为何子系统和/或子板的cpu以及所述子cpu的具体数量,不做限制,后文实施例中涉及的电子设备、协处理器、子系统和/或子板及其数量仅用以示例说明。
26.请参考图3,图3为本说明书提供的一种设备调试的方法流程图,所述方法可以包括如下具体步骤:
27.步骤302,待调试的电子设备的主cpu,在接收到通过第一串口输入的针对目标子cpu的调试命令时,通知协处理器将第二串口与所述目标子cpu关联。
28.在对图2所示的电子设备进行调试时,当调试人员通过串口1向主cpu 0输入针对目标子cpu 1的调试命令,响应于所述调试命令,所述主cpu 0通知cpld将串口2与所述目标子cpu 1关联。
29.其中,调试人员通过第一串口输入调试命令,在一个例子中,可以是调试人员将所述第一串口外接调试设备,并利用所述调试设备通过所述第一串口向待调试的电子设备的主cpu输入调试命令;在另一个例子中,也可以是调试人员通过待调试的电子设备上运行的调试软件,调用所述第一串口向所述主cpu输入调试命令。
30.针对目标子cpu的调试命令中可以携带目标子cpu的标识,所述主cpu基于调试命令中的子cpu标识区分目标子cpu和非目标子cpu。
31.所述主cpu通知协处理器将第二串口与目标子cpu关联,存在多种可选择的实现方式,本说明书对此不做具体限制。具体地,所述主cpu可以向所述协处理器下发指令,所述指令中指示第二串口与目标子cpu的关联关系,以通知所述协处理器将第二串口与目标子cpu关联;或者,所述指令中也可以只指示目标子cpu,以通知所述协处理器将预设输出子cpu调
试信息的第二串口与目标子cpu关联。
32.步骤304,所述电子设备的协处理器,在接收到所述主cpu将第二串口与所述目标子cpu关联的通知后,将所述目标子cpu的调试信息通过所述第二串口对外输出。
33.在对图2所示的电子设备进行调试时,当主cpu 0将串口2与目标子cpu 1关联的通知传达到cpld,响应于所述通知,所述cpld将所述目标子cpu 1的调试接口uart 1与所述串口2相联,以使所述目标子cpu 1的调试信息通过所述串口2对外输出。
34.在所述目标子cpu 1无故障的情况下,所述cpld成功将所述目标子cpu 1的调试信息通过所述串口2对外输出,调试人员可以通过所述串口2获取子cpu 1的调试信息,并继续通过所述串口1向所述主cpu输入针对其他目标子cpu的调试命令,以使所述cpld将其他子cpu的调试信息通过所述串口2对外输出。
35.而在所述目标子cpu 1存在故障的情况下,所述cpld未能成功将所述目标子cpu 1的调试信息通过所述串口2对外输出,调试人员虽然不能通过所述串口2获取子cpu 1的调试信息,但仍可以继续通过串口1向所述主cpu输入针对其他目标子cpu的调试命令,以使所述cpld将其他子cpu的调试信息通过所述串口2对外输出。
36.因而无论子cpu 1是否故障,当调试人员通过串口1再次向主cpu 0输入针对目标子cpu 2的调试命令,而所述主cpu 0通知cpld将串口2与所述目标子cpu 2关联后,在所述目标子cpu 2无故障的情况下,所述cpld仍可以正常将所述目标子cpu 2的调试信息通过所述串口2对外输出。
37.其中,通过第二串口对外输出目标子cpu的调试信息,可以是将所述目标子cpu的调试信息通过所述第二串口输出至外接的调试设备,也可以是将所述目标子cpu的调试信息通过所述第二串口返回至本电子设备上运行的调试软件,可选地,所述调试信息可以可视化界面的方式展示给调试人员。
38.由以上描述可以看出,本说明书中,在电子设备上配置有两个外接调试的串口,针对目标子cpu的调试命令通过第一串口输入至主cpu后,主cpu将通知协处理器将第二串口与所述目标子cpu关联,然后,所述目标子cpu的调试信息将由协处理器通过第二串口对外输出。由于接收调试命令的第一串口,与输出各个子cpu调试信息的第二串口是相互独立的两个不同串口,只要主cpu保持正常状态,即使协处理器某次切换至一故障的子cpu,也不影响新的调试命令通过第一串口输入后主cpu通知协处理器切换输出其他无故障的子cpu的调试信息,无需因切换至故障的子cpu后无法输入调试命令而进行整机重启,因而通过分设两个串口分别实现命令接收和信息输出的功能,规避了相关技术中的技术缺陷,能够顺利完成各个子cpu的调试,提高了设备调试效率,减轻了调试人员负担。
39.在一种可选择的实现方式下,待调试的电子设备中配置有用以指示与第二串口关联的子cpu的控制寄存器,所述控制寄存器可以是协处理器中的控制寄存器,所述主cpu和所述协处理器预先设置有子cpu与控制寄存器标识之间的映射关系,图3所示的设备调试的方法中可以基于子cpu与控制寄存器标识之间的映射关系实现主cpu与协处理器之间的通知交互。
40.请参考图4,在该实现方式下,图4为本说明书提供的一种设备调试的方法流程图,所述方法可以包括如下具体步骤:
41.步骤402,待调试的电子设备的主cpu,在接收到通过第一串口输入的针对目标子
cpu的调试命令时,基于子cpu与控制寄存器标识之间的映射关系确定所述目标子cpu对应的控制寄存器标识,并将协处理器中控制寄存器当前记录的控制寄存器标识修改为所述目标子cpu对应的控制寄存器标识。
42.在对图2所示的电子设备进行调试时,当调试人员通过串口1向主cpu 0输入针对目标子cpu 1的调试命令,响应于所述调试命令,所述主cpu 0查找预先设置的子cpu与控制寄存器标识间的映射关系确定目标子cpu 1对应的控制寄存器标识1,通过主cpu 0与cpld间的设备总线向所述cpld下发针对控制寄存器的修改指令,将所述cpld控制寄存器当前记录的控制寄存器标识修改为控制寄存器标识1。
43.步骤404,所述电子设备的协处理器,在检测到所述控制寄存器标识被修改后,基于所述映射关系确定修改后的控制寄存器标识对应的目标子cpu,并将所述目标子cpu的调试信息通过所述第二串口对外输出。
44.在对图2所示的电子设备进行调试时,所述cpld在检测到所述控制寄存器内标识被修改为控制寄存器标识1后,查找预先设置的子cpu与控制寄存器标识间的映射关系确定控制器寄存器标识1对应的目标子cpu 1,将所述目标子cpu 1的调试接口uart 1与预设输出调试信息的串口2相联,以使所述目标子cpu 1的调试信息通过所述串口2对外输出。
45.另一方面,考虑到相关技术中通过唯一串口输出主cpu和子cpu的调试信息,每次仅能输出一个cpu的调试信息,不能满足分布式管理架构下的电子设备调试时常常需要同时查看主cpu和子cpu的调试信息的需求,本说明书提供的设备调试的方法,还可以包括:
46.所述电子设备的主cpu,在接收到通过第一串口输入的针对所述主cpu的调试命令时,将其调试信息通过所述第一串口对外输出。
47.在上述方法中,通过第一串口输出主cpu的调试信息,通过第二串口输出子cpu的调试信息,因而满足了在对分布式管理架构下的电子设备进行调试时同时查看主cpu和子cpu的调试信息的需求。
48.进一步地,为了使得设备调试更加高效准确,本说明书提供的设备调试的方法,还可以包括:
49.所述电子设备的主cpu,在接收到通过第一串口输入的针对一或多个目标子cpu的状态查看命令时,将所述一或多个目标子cpu的状态通过所述第一串口对外输出。
50.子cpu的状态包括正常、初始化、未上电、故障等,主cpu可以获取到各个子cpu的状态并对外输出以供调试人员查看,具体获取并对外输出调试信息的子cpu数量可以受调试人员的状态查看命令控制。可以理解的是,主cpu可以对外输出各个子cpu除状态外的更多信息,包括但不限于电压、温度等数据。
51.在一个例子中,若某次所输入调试命令针对的目标子cpu存在故障,调试人员可以通过第一串口向主cpu输入针对所述目标子cpu的状态查看命令,响应于所述状态查看命令,所述主cpu将所述目标子cpu的状态通过所述第一串口对外输出。
52.在另一个例子中,调试人员也可以在所有子cpu调试完毕后,通过第一串口向主cpu输入针对所有子cpu的状态查看命令,响应于所述状态查看命令,所述主cpu将所有子cpu的状态通过所述第一串口对外输出。
53.在上述方法中,可以基于调试人员的需求随时获取一或多个子cpu的状态信息,因而能够帮助调试人员对设备故障等问题做进一步定位,使得设备调试更加高效准确。
54.图5是一示例性实施例提供的一种电子设备的示意结构图。请参考图5,在硬件层面,该设备包括处理器502、内部总线504、网络接口506、内存508以及非易失性存储器510,当然还可能包括其他业务所需要的硬件。本说明书一个或多个实施例可以基于软件方式来实现,比如由处理器502从非易失性存储器510中读取对应的计算机程序到内存508中然后运行。当然,除了软件实现方式之外,本说明书一个或多个实施例并不排除其他实现方式,比如逻辑器件抑或软硬件结合的方式等等,也就是说以下处理流程的执行主体并不限定于各个逻辑单元,也可以是硬件或逻辑器件。
55.所述电子设备配置有主cpu、子cpu以及协处理器,且配置有用于外接调试的第一串口和第二串口,所述第一串口与所述主cpu相接,所述第二串口与所述协处理器相接,所述协处理器与各个子cpu相接,所述协处理器还与所述主cpu相接;其中:
56.所述电子设备的主cpu,用于在接收到通过第一串口输入的针对目标子cpu的调试命令时,通知协处理器将第二串口与所述目标子cpu关联;
57.所述电子设备的协处理器,用于在接收到所述主cpu将第二串口与所述目标子cpu关联的通知后,将所述目标子cpu的调试信息通过所述第二串口对外输出。
58.可选地,所述主cpu,还用于:在接收到通过第一串口输入的针对所述主cpu的调试命令时,将所述主cpu的调试信息通过所述第一串口对外输出。
59.可选地,所述主cpu和所述协处理器预先设置有子cpu与控制寄存器标识之间的映射关系;
60.所述主cpu在通知协处理器将第二串口与所述目标子cpu关联时,具体用于:基于所述映射关系确定所述目标子cpu对应的控制寄存器标识,并将所述控制寄存器当前记录的控制寄存器标识修改为所述目标子cpu对应的控制寄存器标识;
61.所述协处理器在接收到所述主cpu将第二串口与所述目标子cpu关联的通知后,将所述目标子cpu的调试信息通过所述第二串口对外输出,具体用于:在检测到所述控制寄存器标识被修改后,基于所述映射关系确定修改后的控制寄存器标识对应的目标子cpu,并将所述目标子cpu的调试信息通过所述第二串口对外输出。
62.可选地,所述主cpu,还用于:在接收到通过第一串口输入的针对一或多个目标子cpu的状态查看命令时,将所述一或多个目标子cpu的状态通过所述第一串口对外输出。
63.可选地,所述电子设备为框式交换机,所述主cpu为主控板cpu,所述子cpu为插卡单板cpu和/或子系统cpu,所述协处理器为复杂可编程逻辑器件cpld。
64.上述实施例阐明的系统、装置、模块或单元,具体可以由计算机芯片或实体实现,或者由具有某种功能的产品来实现。一种典型的实现设备为计算机,计算机的具体形式可以是个人计算机、膝上型计算机、蜂窝电话、相机电话、智能电话、个人数字助理、媒体播放器、导航设备、电子邮件收发设备、游戏控制台、平板计算机、可穿戴设备或者这些设备中的任意几种设备的组合。
65.在一个典型的配置中,计算机包括一个或多个处理器(cpu)、输入/输出接口、网络接口和内存。
66.内存可能包括计算机可读介质中的非永久性存储器,随机存取存储器(ram)和/或非易失性内存等形式,如只读存储器(rom)或闪存(flash ram)。内存是计算机可读介质的示例。
67.计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(pram)、静态随机存取存储器(sram)、动态随机存取存储器(dram)、其他类型的随机存取存储器(ram)、只读存储器(rom)、电可擦除可编程只读存储器(eeprom)、快闪记忆体或其他内存技术、只读光盘只读存储器(cd

rom)、数字多功能光盘(dvd)或其他光学存储、磁盒式磁带、磁盘存储、量子存储器、基于石墨烯的存储介质或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitory media),如调制的数据信号和载波。
68.还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个
……”
限定的要素,并不排除在包括所述要素的过程、方法、商品或者设备中还存在另外的相同要素。
69.上述对本说明书特定实施例进行了描述。其它实施例在所附权利要求书的范围内。在一些情况下,在权利要求书中记载的动作或步骤可以按照不同于实施例中的顺序来执行并且仍然可以实现期望的结果。另外,在附图中描绘的过程不一定要求示出的特定顺序或者连续顺序才能实现期望的结果。在某些实施方式中,多任务处理和并行处理也是可以的或者可能是有利的。
70.在本说明书一个或多个实施例使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本说明书一个或多个实施例。在本说明书一个或多个实施例和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。还应当理解,本文中使用的术语“和/或”是指并包含一个或多个相关联的列出项目的任何或所有可能组合。
71.应当理解,尽管在本说明书一个或多个实施例可能采用术语第一、第二、第三等来描述各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。例如,在不脱离本说明书一个或多个实施例范围的情况下,第一信息也可以被称为第二信息,类似地,第二信息也可以被称为第一信息。取决于语境,如在此所使用的词语“如果”可以被解释成为“在
……
时”或“当
……
时”或“响应于确定”。
72.以上所述仅为本说明书一个或多个实施例的较佳实施例而已,并不用以限制本说明书一个或多个实施例,凡在本说明书一个或多个实施例的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本说明书一个或多个实施例保护的范围之内。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1