CN116909957A - 一种计算设备及计算设备的调试方法 - Google Patents
一种计算设备及计算设备的调试方法 Download PDFInfo
- Publication number
- CN116909957A CN116909957A CN202310731190.3A CN202310731190A CN116909957A CN 116909957 A CN116909957 A CN 116909957A CN 202310731190 A CN202310731190 A CN 202310731190A CN 116909957 A CN116909957 A CN 116909957A
- Authority
- CN
- China
- Prior art keywords
- cpu
- bmc
- information
- gpio
- port
- 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
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/38—Information transfer, e.g. on bus
- G06F13/382—Information transfer, e.g. on bus using universal interface adapter
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Prevention of errors by analysis, debugging or testing of software
- G06F11/362—Debugging of software
- G06F11/3644—Debugging of software by instrumenting at runtime
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Prevention of errors by analysis, debugging or testing of software
- G06F11/362—Debugging of software
- G06F11/3648—Debugging of software using additional hardware
- G06F11/3652—Debugging of software using additional hardware in-circuit-emulation [ICE] arrangements
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/38—Information transfer, e.g. on bus
- G06F13/40—Bus structure
- G06F13/4063—Device-to-bus coupling
- G06F13/4068—Electrical coupling
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/38—Information transfer, e.g. on bus
- G06F13/42—Bus transfer protocol, e.g. handshake; Synchronisation
- G06F13/4282—Bus transfer protocol, e.g. handshake; Synchronisation on a serial bus, e.g. I2C bus, SPI bus
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/54—Interprogram communication
- G06F9/546—Message passing systems or structures, e.g. queues
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/54—Interprogram communication
- G06F9/547—Remote procedure calls [RPC]; Web services
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2209/00—Indexing scheme relating to G06F9/00
- G06F2209/54—Indexing scheme relating to G06F9/54
- G06F2209/544—Remote
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- Software Systems (AREA)
- Quality & Reliability (AREA)
- Debugging And Monitoring (AREA)
Abstract
一种计算设备,包括:基板管理控制器BMC和中央处理器CPU,BMC通过BMC上的第一通用输入输出接口GPIO获取CPU的寄存器记录的CPU的状态信息,第一GPIO被配置为以串口的方式与CPU上的第一通用异步收发传输器UART接口进行通信;BMC向终端设备发送第一消息,第一消息用于指示终端设备显示状态信息;接收终端设备发送的第二消息,第二消息中包括基于状态信息获取到的调试信息;根据调试信息对服务器进行调试。通过服务器上的GPIO端口模拟UART端口的特性,使得BMC可以通过GPIO端口与CPU上的UART端口进行通信,并CPU的状态信息,并将该状态信息发送到远端的终端设备,使得运维人员可以远程对服务器系统进行调试。
Description
技术领域
本发明涉及计算机技术领域,尤其涉及一种计算设备及计算设备的调试方法。
背景技术
随着信息技术的不断发展,以及对服务器的可靠性和稳定性需求增高,经常会遇到对服务器进行调试的场景。
目前在对服务器进行调试时,通常采用外接实体串口的功能来对服务器系统进行系统级调试以及故障排除。比如通过服务器上的UART接口来获取服务器的状态信息,并根据获取的状态信息对服务器进行调试。虽然,通过服务器上的UART接口能够对服务器系统进行系统级的调试,但是BMC上的UART接口较少,若将BMC上的UART端口配置为与CPU上的UART端口进行通信,必然会影响BMC需要通过UART端口实现的其他功能。
发明内容
本申请实施例提供了一种服务器调试方法及服务器,通过BMC上的GPIO端口模拟UART串口的特性,使得BMC可以通过BMC上的GPIO端口获取CPU的状态信息,降低了服务器的成本。
本申请实施例提供了一种计算设备,该计算设备包括:基板管理控制器BMC和中央处理器CPU;BMC通过BMC上的第一通用输入输出接口GPIO获取CPU的寄存器记录的CPU的状态信息,第一GPIO被配置为以串口的方式与CPU上的第一通用异步收发传输器UART接口进行通信;BMC向终端设备发送第一消息,第一消息用于指示终端设备显示状态信息;接收终端设备发送的第二消息,第二消息中包括基于状态信息获取到的调试信息;根据调试信息对服务器进行调试。
在本方案中,BMC上的GPIO端口被配置为与以串口的方式与CPU上的UART端口进行通信,使得BMC可以通过GPIO端口获取CPU内的寄存器存储的CPU的状态信息。避免了对BMC上的UART端口的占用,以及不需要预先在服务器主板上预留外围链路,减少了服务器印刷线路板(printed circuit board,PCB)的占用,降低了计算设备的生产成本。然后,BMC可以将获取的CPU的状态信息发送给远端的终端设备,使得运维人员可以远程对服务器系统进行调试。使得运维人员不需要到计算设备所在的现场就可以实现对计算设备的运维,降低了运维成本。
在一个可能的实现方式中,计算设备中还包括:电平转换电路,电平转换电路用于连接CPU和BMC,并对CPU上的第一通用异步收发传输器UART接口和BMC上的第一GPIO之间的电信号进行电平转换。
也就是说,由于BMC和CPU的工作电压不相同,BMC在通过第一GPIO接收CPU发送的电信号之前,还需要通过电平转化电路对CPU发送的电信号进行电平转换。保证BMC上的GPIO可以正确的接收CPU发送的电信号。
在一个可能的实现方式中,第一GPIO被配置为以UART串口的方式与CPU上的第一通用异步收发传输器UART接口进行通信,包括:在第一GPIO接口和第一通用异步收发传输器UART接口上配置相同的串口协议。
也就是说,将BMC上的GPIO配置为以UART串口的方式与CPU上的UART端口进行通信,可以避免占用BMC上的UART端口。
在一个可能的实现方式中,BMC用于:根据调试信息确定BMC上的第一GPIO,调试信息用于指示BMC通过第一GPIO获取CPU上的状态信息。
也就是说,计算设备上的BMC可以接收远端设备发送的调试信息,若该调试信息指示BMC需要进一步获取CPU中的寄存器上的状态信息,BMC可以通过BMC上的第一GPIO继续获取CPU的状态信息。
在一个可能的实现方式中,BMC用于:根据调试信息确定BMC上的第二端口,调试信息用于指示BMC通过第二端口驱动第二端口对应的驱动程序,以调试计算设备。
也就是说,计算设备上的BMC可以接收远端设备发送的调试信息,若该调试信息指示对计算设备进行调试。比如,在CPU温度过高时,BMC接收得到的调试信息可以指示,开启计算设备上的风扇,以降低CPU的温度。BMC接收到调试信息以后,确定与风扇的驱动程序对应的端口,并通过该端口驱动计算设备上的风扇。
在一个可能的实现方式中,CPU的状态信息包括:CPU的寄存器信息、CPU温度信息、CPU电压信息、CPU占用信息中的一个或多个。
也就是说,BMC通过GPIO获取的CPU的状态信息是CPU内部记录的信息。比如CPU的温度信息是指记录在CPU的寄存器中的结温。
第二方面,本申请实施例提供了一种计算设备调试方法,该计算设备包括中央处理器CPU和基板管理控制器BMC,该方法由BMC执行,该方法包括:
通过BMC上的第一通用异步收发传输器GPIO获取CPU的寄存器记录的CPU的状态信息,第一GPIO被配置为与CPU上的第一通用异步收发传输器UART接口通信;
向终端设备发送第一消息,第一消息用于指示终端设备显示状态信息;
接收终端设备发送的第二消息,第二消息中包括基于状态信息获取到的调试信息;
根据调试信息对计算设备进行调试。
在一个可能的实现方式中,通过第一通用异步收发传输器GPIO获取CPU的寄存器记录的CPU的状态信息,包括:
通过第一GPIO获取电平转化电路发送的第一信号,第一信号中携带有CPU的状态信息,第一信号为电平转换电路对CPU上的第一通用异步收发传输器UART接口发送的第二信号进行电平转换得到;
基于第一信号,得到状态信息。
在一个可能的实现方式中,根据调试信息对计算设备进行调试包括:
根据调试信息确定BMC上的第一GPIO,调试信息用于指示BMC通过第一GPIO获取CPU上的状态信息;或者,
根据调试信息确定BMC上的第二端口,调试信息用于指示BMC通过第二端口驱动第二端口对应的驱动程序,以调试计算设备。
在一个可能的实现方式中,CPU的状态信息包括:CPU的寄存器信息、CPU温度信息、CPU电压信息、CPU占用信息中的一个或多个。
第三方面,本申请实施例提供了一种计算机可读介质,计算机存储介质中存储有指令,当指令在计算机上运行时,使得计算机执行第一方面或第一方面的任一种可能的实现方式所描述的方法。
第四方面,本申请实施例提供了一种包含指令的计算机程序产品,当指令在计算机上运行时,使得计算机执行第一方面或第一方面的任一种可能的实现方式所描述的方法。
可以理解的是,上述第二方面至第四方面的有益效果可以参见上述第一方面中的相关描述,在此不再赘述。
附图说明
为了更清楚地说明本申请实施例的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其它的附图。
图1为本申请实施例提供的一种通过UART工具对服务器系统进行调试的示意图;
图2为本申请实施例提供的一种应用场景示意图;
图3为本申请实施例提供的一种电子设备的结构示意图;
图4为本申请实施例提供的一种服务器的结构示意图;
图5为本申请实施例提供的一种服务器调试方法的流程示意图;
图6为本申请实施例提供的一种8/N/1协议的时序示意图;
图7为本申请实施例提供的一种服务器的结构示意图;
图8为本申请实施例提供的一种BMC芯片的结构示意图。
具体实施方式
为了使本申请实施例的目的、技术方案和优点更加清楚,下面将结合附图,对本申请实施例中的技术方案进行描述。
在本申请实施例中的描述中,“示例性的”、“例如”或者“举例来说”的任何实施例或设计方案不应该被理解为比其他实施例或设计方案更优选或更具优势。确切而言,使用“示例性的”、“例如”或者“举例来说”等词旨在以具体方式呈现相关概念。
此外,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括一个或者更多个该特征。术语“包括”、“包含”、“具有”及它们的变形都意味着“包括但不限于”,除非是以其他方式另外特别强调。
在介绍本方案之前,首先对本方案中的技术术语进行解释。
1、UART,通用异步收发传输器(universal asynchronous receiver/transmitter,UART)是一种异步收发传输器,是电脑硬件的一部分,它将要传输的资料在串行通信与并行通信之间加以转换。作为把并行输入信号转成串行输出信号的芯片,UART通常被集成于其他通讯接口的连接上。
2、外接实体串口,指服务器上用于连接外部设备的串行接口。
3、串行接口,是一种可以将接收来自CPU的并行数据字符转换为连续的串行数据流发送出去,同时可以将接收的串行数据流转换为并行的数据字符提供给CPU的器件,一般完成这种功能的电路,可以称为串行接口电路。
4、BMC,基板管理控制器(baseboard management controller,BMC),是独立于服务器系统之外的小型系统,是服务器的基本核心功能子系统,负责服务器的硬件状态管理、操作系统管理、健康状态管理、功能消耗管理等核心功能。
接下来,本申请实施例的技术方案进行介绍。
示例性的,图1示出了一种通过UART工具对服务器系统进行调试的示意图。如图1所示,包括中央处理器(central processing unit,CPU)、开关Switch、RS-232芯片。其中,CPU上设置有第一UART端口(UART1)和第二UART端口(UART2),RS-232芯片上设置有第三UART端口(UART3)和第四UART端口(UART4)。其中,第一URAT端口和第二URAT端口可以为通信模式和调试模式。当CPU需要对外输出串口信息时,开关Switch将将第一URAT端口和第二URAT端口转换为调试串口,CPU通过第一URAT端口和第二URAT端口对外输出串口信息。RS-232芯片接收CPU通过第一URAT端口和第二URAT端口发送的串口信息,并在进行串口转换后通过RS-232芯片上的第三UART端口和第四URAT端口向与第三URAT端口和第四URAT端口连接的外接设备发送串口信息。连接到第三URAT端口和第四URAT端口的外接设设备,接收到CPU发送的串口信息以后,可以根据该串口信息对服务器上的CPU进行调试,进而实现对服务器系统进行调试。
上述实施例中,虽然能够通过外接实体串口工具的方法,对服务器系统进行调试,但是上述方法,通过外接的实体串口工具对服务器系统进行管理时,运维人员需要到服务器所在的现场进行处理,增加了服务器的维护成本。以及通过外接的实体串口工具对服务器系统进行管理时,需要在服务器主板上预留外围链路。
有鉴于此,本申请实施例提供了一种服务器的调试方法,通过使用服务器上的BMC上的GPIO端口模拟URAT的功能,实现对服务器系统的远程调试,不仅使得服务器主板上的电路得到了优化,占用PCB板的面积更小,降低了服务器的成本,同时还不占用BMC上原有的UART端口。
示例性的,图2示出了一种应用场景,如图2所示,该场景下可以包括计算设备200,终端设备100。计算设备200上部署有BMC,BMC可以通过GPIO端口获取计算设备200上的CPU的状态信息。用户可以通过终端设备100远程登录BMC系统,并根据BMC获取的计算设备200的CPU的状态信息,对CPU进行远程调试。
可以理解的是,不同厂家对带外管理控制器的命名会有不同。带外管理控制器的名称通常有BMC(baseboard management controller,基板管理控制器)、iLO(IntegratedLights-Out,集成远程管理端口)、IDRAC(Integrated Dell Remote Access,远程控制卡)、HDM(Hardware Device Management,硬件设备管理)、IMM(Integrated ManagementModule,集成管理模块)等。不论是叫ilo,还是叫iDRAC、HDM,IMM,都可以理解为是本申请实施例中的BMC。
在一些实施例中,计算设备200可以是服务器。终端设备100与服务器200之间可以通过有线网络(wired network)或无线网络(wireless network)等网络连接。例如,该网络可以为局域网(local area networks,LAN),也可以为广域网(wide area networks,WAN)(例如互联网)。终端设备100与服务器200之间的网络均可使用任何已知的网络通信协议来实现,上述网络通信协议可以是各种有线或无线通信协议,诸如以太网、通用串行总线(universal serial bus,USB)、火线(firewire)、全球移动通讯系统(global system formobile communications,GSM)、通用分组无线服务(general packet radio service,GPRS)、码分多址接入(code divisionmultiple access,CDMA)、宽带码分多址(widebandcode division multiple access,WCDMA),时分码分多址(time-division code divisionmultiple access,TD-SCDMA)、长期演进(long term evolution,LTE)、新空口(new radio,NR)、蓝牙(bluetooth)、无线保真(wireless fidelity,Wi-Fi)等通信协议。
示例性的,图3示出了一种终端设备100的硬件结构。其中,终端设备100可以但不限于为上位机、手机、平板电脑、笔记本电脑、可穿戴设备、智能电视等终端设备。终端设备的示例性实施例包括但不限于搭载iOS、android、Windows、鸿蒙系统(Harmony OS)或者其他操作系统的终端设备。本申请实施例对终端设备的类型不做具体限定。
如图3所示,该终端设备100可以包括:包括处理器110、存储器120、显示屏130、通信模块140和输入设备150。其中,处理器110、存储器120、显示屏130、通信模块140和输入设备150可以通过总线或其他方式连接。
其中,处理器110是终端设备100的计算核心及控制核心。处理器110可以包括一个或多个处理单元。例如,处理器110可以包括应用处理器(application processor,AP)、调制解调器(modem)、图形处理器(graphics processing unit,GPU)、图像信号处理器(imagesignal processor,ISP)、控制器、视频编解码器、数字信号处理器(digital signalprocessor,DSP)、基带处理器、和/或神经网络处理器(neural-network processing unit,NPU)等中的一项或多项。其中,不同的处理单元可以是独立的器件,也可以集成在一个或多个处理器中。
存储器120可以存储有程序,程序可被处理器110运行,使得处理器110执行本申请实施例中提供的终端设备100所需执行的部分或全部方法。存储器120还可以存储有数据。处理器110可以读取存储器120中存储的数据。存储器120和处理器110可以单独设置。可选地,存储器120也可以集成在处理器110中。
显示屏130用于显示图像,视频等。在本申请实施例中,显示屏130可以用于显示服务器上的BMC的Web页面。显示屏130包括显示面板。显示面板可以采用液晶显示屏(liquidcrystal display,LCD),有机发光二极管(organic light-emitting diode,OLED),有源矩阵有机发光二极体或主动矩阵有机发光二极体(active-matrix organic light emittingdiode的,AMOLED),柔性发光二极管(flex light-emitting diode,FLED),Miniled,MicroLed,Micro-oLed,量子点发光二极管(quantum dot light emitting diodes,QLED)等。
通信模块140可以包括移动通信模块和无线通信模块中的至少一种。其中,当通信模块140包括移动通信模块时,通信模块140可以提供应用在终端设备100上的包括2G/3G/4G/5G等无线通信的解决方案。比如,全球移动通讯系统(global system for mobilecommunications,GSM)、通用分组无线服务(general packet radio service,GPRS)、码分多址接入(code divisionmultiple access,CDMA)、宽带码分多址(wideband codedivision multiple access,WCDMA),时分码分多址(time-division code divisionmultiple access,TD-SCDMA)、长期演进(long term evolution,LTE)、新空口(new radio,NR)等。当通信模块140包括无线通信模块时,通信模块140可以提供应用在终端设备100上的包括无线局域网(wireless local area networks,WLAN)(如无线保真(wirelessfidelity,Wi-Fi)网络),蓝牙(bluetooth,BT),全球导航卫星系统(global navigationsatellite system,GNSS),调频(frequency modulation,FM),近距离无线通信技术(nearfield communication,NFC),红外技术(infrared,IR)等无线通信的解决方案。示例性的,通信模块140可以用于终端设备100与服务器200进行通信,以完成数据交互。
在一些实施例中,终端设备100还可以包括输入设备150。通过该输入设备150可以向终端设备100输入信息和/或下发控制指令等。示例性的,该输入设备150可以但不限于为鼠标、键盘等。
可以理解的是,本申请实施例图3示意的结构并不构成对终端设备100的具体限定。在本申请另一些实施例中,终端设备100可以包括比图示更多或更少的部件,或者组合某些部件,或者拆分某些部件,或者不同的部件布置。图示的部件可以以硬件,软件或软件和硬件的组合实现。
示例性的,图4示出了一种服务器的结构示意图,如图4所示该服务器包括:至少一个处理器CPU、基板管理控制器BMC、电平转换电路、开关芯片Switch以及RS232芯片。
CPU上至少包括一个UART端口,CPU可以通过UART端口对外输出串口信息,以及CPU还可以通过UART端口向BMC发送信息。
在一个可能的示例中,CPU可以通过CPU上的UART端口与BMC上的GPIO端口进行通信,即使用BMC上的GPIO端口来模拟UART端口。
RS232芯片用于使不同的设备可以方便地连接起来进行通讯。由于在串行通讯时,要求通讯上方都采用一个标准接口,因此,可以通过RS232来提供一个标准接口。
开关芯片Switch用于对CPU输出的信号进行电平转换,以保证从CPU输出的电信号能够被BMC或者UART端口上连接的外部设备处理。
电平转换电路用于连接CPU和BMC,并对CPU上的UART接口和所述BMC上的GPIO之间的电信号进行电平转换。其中,电平转换电路可以由开关芯片Switch实现。
BMC是部署在服务器单板上具有独立供电、独立I/O接口的控制单元,它不依赖于服务器的处理器、BIOS或者操作系统来工作,是一个单独在服务器内运行的无代理管理子系统。如图4所示,BMC上包括GPIO端口,BMC可以在BMC上的GPIO端口上配置串口协议,使得BMC上的GPIO端口可以模拟UART端口。然后,BMC可以通过该GPIO端口与CPU上的GPIO端口进行通信,以获取CPU的状态信息。
在一个可能的示例中,BMC上还包括局域网(local area network,LAN)接口。BMC可以通过LAN接口向远端的目标终端设备发送信息,该信息中可以包括CPU的状态信息。以使运维人员可以通过目标终端设备上的Web浏览器,远程登陆BMC系统获取服务器上CPU的状态信息,并根据获取的CPU的状态信息远程调试服务器上的CPU。
在一个可能的示例中,BMC还需要接收远端的目标终端设备发送的调试信息,并根据该调试信息对服务器进行调试。
可以理解的是,在图4所示的服务器中,CPU通过UART端口、Switch、RS232对外提供UART串口是可选的,即图4所示的服务器中,虚线部分是可以选的。在一些实施例中,CPU可以通过UART端口向BMC发送CPU的状态信息,以使BMC可以对CPU进行调试。此时,不需要通过UART工具对服务器的CPU进行调试,因此也不需要预先在服务器主板上设置相关的外围电路,以及预留UART端口。
在本申请实施例中,BMC通过GPIO端口模拟UART端口的特性,使得BMC可以通过GPIO端口与CPU上的UART端口进行通信,以获取CPU的状态信息。进一步地,通过BMC上的GPIO端口通过模拟UART端口的特性获取CPU的状态信息,不需要预先在服务器主板上预留外围链路,减少了服务器印刷线路板(printed circuit board,PCB)的占用,降低了服务器成本,也不需要占用BMC上原有的UART端口,避免了BMC上因UART端口较少而造成的业务冲突。
接下来,基于上文所描述的内容,对本申请实施例提供的一种服务器调试方法进行介绍。
请参阅图5,图5是本申请实施例提供的一种服务器调试方法的流程示意图。如图5所示,该方法可以由图4所示的服务器中的BMC执行,该方法包括:步骤501-步骤504。
步骤501,BMC通过GPIO端口获取CPU的第一信号,其中,第一信号携带有CPU的状态信息。
在本实施例中,BMC和CPU上都分别设置有GPIO端口和UART端口用于与其他组件通信。但是,只有通过CPU上的UART端口才能获取CPU内部存储CPU的状态信息。
在一个可能的示例中,CPU上的一些核心功能会在管理引擎management engine,ME)中记录或者实现。因此,BMC可以通过CPU上的UART端口从ME中获取CPU的状态信息。
可以理解的是,ME是指位于南桥(platform controller hub,PCH)芯片组中的嵌入式微控制器,通过使用主机不可见的资源运行管理固件,以提供特定的管理功能。随着PCH被放入到CPU Package中,ME也随着被放入CPU的Package中。在PCH内部有一组引擎接口电路(management engine interface,MEI)用于在主机和ME之间传递消息。
在一个可能的示例中,BMC获取的CPU的状态信息包括:CPU的内部信息,比如CPU的寄存器信息、CPU温度信息、CPU电压信息、CPU占用信息,CPU中的器件和其他器件或者模块进行交互的信息,比如ME与基本输入输出系统(basic input/output system,BIOS)交互的信息。
BMC在获取CPU内部存储的CPU的状态信息时,BMC可以通过对BMC上的GPIO端口进行配置,使得BMC上的GPIO端口具有UART端口的特性,以实现通过BMC上的GPIO端口与CPU上的UART端口进行通信。其中,通过BMC上的GPIO端口与CPU上的UART端口进行通信是指BMC可以通过GPIO端口从CPU上的UART端口接收信息,并且BMC可以正确解析通过GPIO端口接收到的CPU的信息。
在一个可能的示例中,可以采用延时的方式实现GPIO模拟UART功能,以获得串口支持。在采用延时的方式实现时,只需要BMC的TX和RX两个GPIO管脚。由于,UART使用异步模式工作不需要时钟信号,UART的协议一般是起始位+数据位+校验位+停止位,在实际的使用过程中一般不会再用到奇偶校验,所以在实现过程中可以采用1位起始位、8位数据位、1位停止位进行实现,记为8/N/1协议。
示例性的,图6示出了一种8/N/1协议的时序图。如图8所示,该时序图中包括空闲位、起始位、数据位和停止位。
空闲位:空闲时数据线上规定为逻辑1。
起始位:规定为逻辑0,开始传输数据时先发送起始位,接收端接收到信号以后会先检测信号中的下降沿(即起始位),以为接收数据做准备。
数据位:起始位之后是数据位,规定先发送最低位。由于UART无时钟信号,因此使用波特率确定每一位的长度。实际的信号传输过程中,为了保障检测的准确性,采样频率会高于波特率。通常情况下,每一个数据位都会进行若干次的采样,然后取中间的采样值作为该数据位的结果。
停止位:一般使用1位,规定为逻辑1,除了表示传输结束外,还可以起到时钟同步的作用。
基于上述8/N/1协议,分别用GPIO初始化模块、TX发送模块、RX接收模块对协议进行实现。其中,GPIO初始化模块主要用于对计数器初始化、TX和RX管脚初始化、定时器和中断初始化。
TX发送模块用于实现以固定波特率对数据进行发送,比如波特率为9600(每秒传输9600比特数据)。具体地,按照串口数据格式,将发送1字节的数据以起始位加结束位的形式进行封装,形成8:1:1的数据格式。然后,将封装好的数据bit按照9600的时序写入到对应的输入/输出((Input/Output,IO)寄存器上,以完成一个字节数据的发送。
RX接收模块用于以固定波特率对数据进行接收,比如波特率为9600(每秒传输9600比特数据)。在接收数据时,可以通过引脚的中断判断起始位数据,然后对数据位进行时序接收,将接收到的bit位数据拼接为1个字节的数据。
在一个可能的示例中,对BMC上的GPIO端口进行配置包括在软件层配置相应的接口,该接口可以调用BMC上的GPIO端口通过CPU上的UART端口获取CPU中的数据,以使用户可以通过web页面获取CPU的相关数据。
步骤502,BMC对第一信号进行转换,得到第二信号。
在本实施例中,BMC通过GPIO端口接收到CPU的第一信号以后,BMC需要对接收到的第一信号进行转换。由于BMC在通过GPIO端口接收第一信号时,GPIO端口模拟的是UART端口,即接收的第一信号中携带的数据为串行形式。因此,BMC接收到第一信号以后,BMC需要将第一信号中的串行数据转换为并行数据,即第二信号。
在一个可能的示例中,由于预先对BMC上的GPIO端口进行了配置,因此,接收第一信号的GPIO端口对应的可编程串行接口芯片可以将第一信号转换为并行数据。
在一个可能的示例中,由于BMC芯片的工作电压为3.3V,CPU的工作电压为1.05V。BMC和CPU的工作电压不相同,BMC在接收的到第一信号之前,还需要对CPU发送的第一信号进行电平转换。具体地,可以通过BMC和CPU之间设置的开关芯片Switch来对输入或者输出BMC的信号进行电平转换,以使保证输入或者输出BMC的信号流向正确。
在一个可能的示例中,BMC可以通过GIPO端口周期性的获取CPU的状态信息,即周期性的接收CPU通过UART端口发送的第一信号。比如,BMC可以每隔1min就从CPU获取第一信号。
步骤503,BMC对第二信号中携带的CPU的状态信息进行分析,得到分析结果。
在本实施例中,第二信号中携带的CPU的状态信息至少包括:CPU的寄存器信息、CPU温度信息、CPU电压信息、CPU占用信息中以及ME与BIOS进行交互的信息中的一个或多个。其中,CPU的温度信息、CPU的电压信息以及CPU的占用信息都可以通过CPU的寄存器信息获取。比如,CPU实时获取CPU的结温,并将获取的结温存储到CPU上的寄存器中。其中,结温是指电子设备中半导体的实际工作温度,在本申请实施例中可以指CPU的内部温度。
可以理解的是,CPU的温度既可以通过服务器上配置的温感器件进行获取,也可以是CPU记录在寄存机中的CPU内部温度(结温)。
在一个可能的示例中,以第二信号中携带有CPU的温度信息为例。BMC对获取的第二信号进行分析,得到CPU内部温度信息。然后,BMC根据获取的CPU的内部温度信息对获取的CPU的内部温度判断,以确定CPU的内部温度是否过高。
可以理解的是,在本申请实施例中,BMC通过GPIO端口获取的CPU的状态信息为CPU内部寄存器存储的状态信息。比如CPU的结温。
步骤504,BMC将分析结果发送到目标终端设备,以使运维人员可以在远端的终端设备上对服务器系统进行调试。
在本实施例中,BMC在根据GPIO端口获取的CPU的状态信息,对CPU运行状态进行判断以后,BMC可以将判断结果发送到远端的终端设备上,以使运维人员可以在远端对CPU进行调试。
8在一些可能的示例中,当BMC对CPU的运行状态进行判断以后,当BMC确定CPU存在异常时,BMC可以首先确定是否可以对该异常进行处理。当BMC确定可以对确定的CPU上的异常进行处理时,BMC可以自行对该异常进行处理,并将处理结果发送到远端的终端设备上。当BMC无法对CPU上的异常进行处理时,BMC可以将获取的CPU的状态信息以及根据该状态信息对CPU的异常判定结果一起打包发送到远端的终端设备上,以使运维人员可以在远端对CPU的异常进行处理,实现对服务器系统的远程调试。
在一个可能的示例中,以第二信号中携带的CPU的状态信息为CPU的结温为例。当BMC确定CPU的结温高于预先设定的阈值时,BMC可以根据预先设定的策略调整CPU的结温。比如,
(1)BMC可以通过开启服务器上的风扇,对CPU进行降温;
(2)BMC可以通过调整供电,来降低CPU的温度,比如调整CPU的状态,CPU的状态包括:C-state、P-state,其中C-state是CPU的睡眠状态,P-state是CPU的运行状态,通过调整CPU的运行状态,从而降低CPU的运行能力,进而达到降低CPU内部温度的目的;
(3)BMC可以控制关闭服务器上多余的硬件,以到达降低CPU内部温度的目的。
步骤505,BMC接收目标终端设备发送的调试信息,并根据该调试信息对服务器系统进行调试。
在本实施例中,当运维人员通过目标终端设备上的web浏览器登陆BMC系统时,服务器上的BMC可以将获取的CPU的状态信息,以及BMC根据获取的CPU的状态信息进行预判断的判断结果,发送到目标终端设备上。运维人员可以根据登陆的BMC系统获取服务器CPU的状态信息,并根据该状态信息对CPU的运行状态进行判断。在CPU发生故障的情况下,运维人员还可以根据BMC系统中显示的CPU的状态信息,对CPU的故障进行定位。
进一步地,在CPU发生故障的情况下,运维人员在对CPU的故障进行定位以后,运维人员可以通过目标终端设备输入针对CPU故障的调试信息。目标终端设备在接收到运维人员输出的调试信息以后,将该调试信息发送到服务器的BMC上。
在一个可能的示例中,CPU的故障类型包括:CPU的硬件故障、CPU的内部故障以及BIOS ME故障。其中,CPU的内部故障包括CPU内部温度过高、CPU占用率过高等,BIOS ME故障是指ME和BIOS的交互故障。
在CPU发生硬件故障的情况下,运维人员不需要通过终端设备输入针对CPU的故障调试信息,而是需要到对服务器中的CPU进行替换。
在CPU发生内部故障或者BIOS ME故障的情况下,BMC可以通过BMC上的网口或者GPIO端口接收目标终端设备发送的调试信息。然后,BMC可以根据接收的调试信息确定用于调试的目标端口。其中,目标端口可以是UART端口、GPIO端口或者其他接口(比如,串行外设接口(serial peripheral interface,SPI))。然后,BMC通过端口重定向的方式,将BMC上用于调试的端口定位到目标端口上。
在一个可能的示例中,当CPU的内部温度过高时,BMC根据接收到的调试信息,将与服务器上的风扇的驱动程序进行通信的端口作为目标端口,并通过目标端口发送命令触发风扇的驱动程序,增加风扇的转速,以达到CPU快速降温的目的。
在本申请实施例中,通过对BMC上的GPIO组件进行配置,使得BMC上的GPIO端口能够模拟UART的特性,即通过GPIO端口与CPU上的UART端口进行通信,以获取服务器上的CPU的状态信息,并将该状态信息发送到远端的终端设备,使得运维人员可以远程对服务器系统进行调试。进一步地,通过BMC上的GPIO端口获取CPU的状态信息,不需要预先在服务器主板上预留外围链路,降低了服务器的成本,也不需要占用BMC上原有的UART端口资源,避免了因BMC上的UART端口较少而造成的业务冲突。
可以理解的是,上述实施例中的远程调试方法,可以用于在双路、四路服务器以及其他更多路的服务器中。其中,双路服务器是指具有两个CPU、四路服务器是指具有四个CPU、多路服务器是指具有多个CPU。
可以理解的是,上述实施例中各步骤的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本申请实施例的实施过程构成任何限定。此外,在一些可能的实现方式中,上述实施例中的各步骤可以根据实际情况选择性执行,可以部分执行,也可以全部执行,此处不做限定。
基于上述实施例中的方法,本申请实施例还提供了一种服务器,请参阅图7,图7是本申请实施例提供的一种服务器的结构示意图。如图7所示,该服务器包括:通信模块710、处理模块720、监控模块730、存储模块740。
监控模块730用于获取处理模块的710的状态信息。
在一个可能的示例中,监控模块720可以根据监控模块720上的GPIO端口和处理模块710上的UART端口进行通信,以获取处理模块710的状态信息。
在一个可能的示例中,监控模块720获取到处理模块710的状态信息以后,监控模块720可以对获取的状态信息进行分析,并根据分析结果对处理模块720进行调试。
通信模块720用于将监控模块730获取的处理模块的710的状态信息发送到远端的终端设备,以使远端的终端设备上对服务器系统进行调试。
在一个可能的示例中,通信模块720在向远端的终端设备发送处理模块710的状态信息时,通信模块720还可以向远端的终端设备发送监控模块720对处理模块710的状态信息进行分析以后得到的分析结果。
存储模块740用与存储处理模块720的状态信息。
图7所示的服务器实施例仅仅是示意性的。例如,模块的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式。例如,多个模块或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。在本申请各个实施例中的各个功能模块可以集成在一个处理模块中,也可以是各个模块单独物理存在,也可以两个或两个以上模块集成在一个模块中。
例如,图7中的各个模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。例如,采用软件实现时,上述处理模块720可以是由附图4中的至少一个处理器(CPU)读取存储器中存储的程序代码后,生成的软件功能模块来实现,以及上述监控模块710可以是由附图4中的BMC读取存储器中存储的程序代码后,生成的软件功能模块来实现。图7中的上述各个模块也可以是由网络设备中的不同硬件分别实现,例如监控模块710由附图4中的BMC上的至少一个处理器中的一部分处理资源实现,而通信模块可以由附图4中的服务器中的接口电路和至少一个处理器中的其余部分处理资源(例如多核处理器中的其他核),或者采用FPGA、或处理器等可编程器件来完成。
基于上述实施例中的方法,本申请实施例提供了一种计算机可读存储介质,计算机可读存储介质存储有计算机程序,当计算机程序在处理器上运行时,使得处理器执行上述实施例中的方法。
基于上述实施例中的方法,本申请实施例提供了一种计算机程序产品,其特征在于,当计算机程序产品在处理器上运行时,使得处理器执行上述实施例中的方法。
基于上述实施例中的方法,本申请实施例提供了一种计算设备,计算设备包括主板和芯片。其中,芯片集成在主板上,芯片包括至少一个存储器,用于存储程序;至少一个处理器,用于执行存储器存储的程序,当存储器存储的程序被执行时,处理器用于执行上述实施例中的方法。在本申请实施例中,计算设备可以是服务器、主机等网络设备。
本申请实施例用于执行方法实施例的服务器的主板上还可以包括BMC芯片。请参阅图8,图8为本申请实施例提供的一种BMC芯片的结构示意图。如图8所示,BMC芯片800包括一个或多个处理器810以及接口电路820。可选的,芯片800上还可以包含总线830。当BMC为芯片时,服务器中基于通信模块所实现的操作可以基于芯片中接口电路来实现,服务器中基于监控模块所实现的操作例如可以基于芯片上的处理器实现。可以理解的是,BMC是执行伺服器远端管理控制器,为基板管理控制器,是独立于服务器系统之外的小型操作系统,是一个集成在主板上的芯片,有自己的处理器。因此,BMC芯片上的处理器810服务器上的处理器不相同,即监控模块需要获取的“处理器的状态信息”中的处理器与BMC芯片上的处理器810不是同一个处理器。
处理器810可能是一种集成电路芯片,具有信号的处理能力。在实现过程中,上述方法的各步骤可以通过处理器810中的硬件的集成逻辑电路或者软件形式的指令完成。上述的处理器810可以是通用处理器、数字通信器(DSP)、专用集成电路(ASIC)、现场可编程门阵列(FPGA)或者其它可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。可以实现或者执行本申请实施例中的公开的各方法、步骤。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
接口电路820可以用于数据、指令或者信息的发送或者接收,处理器810可以利用接口电路820接收的数据、指令或者其它信息,进行加工,可以将加工完成信息通过接口电路820发送出去。
可选的,芯片800还包括存储器,存储器可以包括只读存储器和随机存取存储器,并向处理器提供操作指令和数据。存储器的一部分还可以包括非易失性随机存取存储器(NVRAM)。
可选的,存储器存储了可执行软件模块或者数据结构,处理器可以通过调用存储器存储的操作指令(该操作指令可存储在操作系统中),执行相应的操作。
可选的,接口电路820可用于输出处理器810的执行结果。
需要说明的,处理器810、接口电路820各自对应的功能既可以通过硬件设计实现,也可以通过软件设计来实现,还可以通过软硬件结合的方式来实现,这里不作限制。
应理解,上述方法实施例的各步骤可以通过处理器中的硬件形式的逻辑电路或者软件形式的指令完成。
需要说明的是,在其他实施例中,BMC在不同计算设备中有不同的称呼,例如华为服务器、超聚变服务器的BMC为iBMC,HPE服务器的BMC称为iLO,DELL服务器的BMC称为iDRAC。
本申请的实施例中的方法步骤可以通过硬件的方式来实现,也可以由处理器执行软件指令的方式来实现。软件指令可以由相应的软件模块组成,软件模块可以被存放于随机存取存储器(random access memory,RAM)、闪存、只读存储器(read-only memory,ROM)、可编程只读存储器(programmable rom,PROM)、可擦除可编程只读存储器(erasable PROM,EPROM)、电可擦除可编程只读存储器(electrically EPROM,EEPROM)、寄存器、硬盘、移动硬盘、CD-ROM或者本领域熟知的任何其它形式的存储介质中。一种示例性的存储介质耦合至处理器,从而使处理器能够从该存储介质读取信息,且可向该存储介质写入信息。当然,存储介质也可以是处理器的组成部分。处理器和存储介质可以位于ASIC中。
在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。所述计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行所述计算机程序指令时,全部或部分地产生按照本申请实施例所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者通过所述计算机可读存储介质进行传输。所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线(DSL))或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质,(例如,软盘、硬盘、磁带)、光介质(例如,DVD)、或者半导体介质(例如固态硬盘(solid state disk,SSD))等。
可以理解的是,在本申请的实施例中涉及的各种数字编号仅为描述方便进行的区分,并不用来限制本申请的实施例的范围。
Claims (10)
1.一种计算设备,其特征在于,所述计算设备包括:基板管理控制器BMC和中央处理器CPU,
所述BMC通过所述BMC上的第一通用输入输出接口GPIO获取所述CPU的寄存器记录的所述CPU的状态信息,所述第一GPIO被配置为以串口的方式与所述CPU上的第一通用异步收发传输器UART接口进行通信;
所述BMC向终端设备发送第一消息,所述第一消息用于指示所述终端设备显示所述状态信息;
接收所述终端设备发送的第二消息,所述第二消息中包括基于所述状态信息获取到的调试信息;
根据所述调试信息对所述服务器进行调试。
2.根据权利要求1所述的计算设备,其特征在于,所述计算设备中还包括:电平转换电路,
所述电平转换电路用于连接所述CPU和所述BMC,并对所述CPU上的第一通用异步收发传输器UART接口和所述BMC上的第一GPIO之间的电信号进行电平转换。
3.根据权利要求1或2所述的计算设备,其特征在于,所述第一GPIO被配置为以UART串口的方式与所述CPU上的第一通用异步收发传输器UART接口进行通信,包括:
在所述第一GPIO接口和所述第一通用异步收发传输器UART接口上配置相同的串口协议。
4.根据权利要求1-3任一项所述的计算设备,其特征在于,所述BMC用于:
根据所述调试信息确定所述BMC上的第一GPIO,所述调试信息用于指示所述BMC通过所述第一GPIO获取所述CPU上的状态信息。
5.根据权利要求1-3任一项所述的计算设备,其特征在于,所述BMC用于:
根据所述调试信息确定所述BMC上的第二端口,所述调试信息用于指示所述BMC通过所述第二端口驱动所述第二端口对应的驱动程序,以调试所述计算设备。
6.根据权利要求1-5任一项所述的计算设备,其特征在于,所述CPU的状态信息包括:CPU的寄存器信息、CPU温度信息、CPU电压信息、CPU占用信息中的一个或多个。
7.一种计算设备调试方法,其特征在于,所述计算设备包括中央处理器CPU和基板管理控制器BMC,所述方法由BMC执行,所述方法包括:
通过BMC上的第一通用异步收发传输器GPIO获取所述CPU的寄存器记录的所述CPU的状态信息,所述第一GPIO被配置为与所述CPU上的第一通用异步收发传输器UART接口通信;
向终端设备发送第一消息,所述第一消息用于指示所述终端设备显示所述状态信息;
接收终端设备发送的第二消息,所述第二消息中包括基于所述状态信息获取到的调试信息;
根据所述调试信息对所述计算设备进行调试。
8.根据权利要求7所述的方法,其特征在于,所述通过第一通用异步收发传输器GPIO获取所述CPU的寄存器记录的所述CPU的状态信息,包括:
通过所述第一GPIO获取电平转化电路发送的第一信号,所述第一信号中携带有所述CPU的状态信息,所述第一信号为所述电平转换电路对所述CPU上的第一通用异步收发传输器UART接口发送的第二信号进行电平转换得到;
基于所述第一信号,得到所述状态信息。
9.根据权利要求7或8所述的方法,其特征在于,所述根据所述调试信息对所述计算设备进行调试包括:
根据所述调试信息确定所述BMC上的第一GPIO,所述调试信息用于指示所述BMC通过所述第一GPIO获取所述CPU上的状态信息;或者,
根据所述调试信息确定所述BMC上的第二端口,所述调试信息用于指示所述BMC通过所述第二端口驱动所述第二端口对应的驱动程序,以调试所述计算设备。
10.根据权利要求7-9任一项所述的方法,其特征在于,所述CPU的状态信息包括:CPU的寄存器信息、CPU温度信息、CPU电压信息、CPU占用信息中的一个或多个。
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| CN202310731190.3A CN116909957A (zh) | 2023-06-19 | 2023-06-19 | 一种计算设备及计算设备的调试方法 |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| CN202310731190.3A CN116909957A (zh) | 2023-06-19 | 2023-06-19 | 一种计算设备及计算设备的调试方法 |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| CN116909957A true CN116909957A (zh) | 2023-10-20 |
Family
ID=88363798
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| CN202310731190.3A Pending CN116909957A (zh) | 2023-06-19 | 2023-06-19 | 一种计算设备及计算设备的调试方法 |
Country Status (1)
| Country | Link |
|---|---|
| CN (1) | CN116909957A (zh) |
Cited By (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN118354063A (zh) * | 2024-06-13 | 2024-07-16 | 荣耀终端有限公司 | 测试方法、电子设备、存储介质及芯片 |
-
2023
- 2023-06-19 CN CN202310731190.3A patent/CN116909957A/zh active Pending
Cited By (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN118354063A (zh) * | 2024-06-13 | 2024-07-16 | 荣耀终端有限公司 | 测试方法、电子设备、存储介质及芯片 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US10372199B2 (en) | Apparatus for managing power and running and booting an inter-processor communication link between independently operable processors | |
| CN106209695B (zh) | 给加载/存储通信协议提供低功率物理单元 | |
| CN102323905B (zh) | 一种龙芯主板的远程监控系统 | |
| CN107003955B (zh) | 用于在根复合体中集成设备的方法、装置和系统 | |
| US9753836B2 (en) | Low power debug architecture for system-on-chips (SoCs) and systems | |
| EP3272072B1 (en) | Method, apparatus and system for dynamic bandwidth management in systems | |
| CN106970886B (zh) | 使用第二协议的扩展功能结构来控制第一协议的物理链路 | |
| US20080071962A1 (en) | Device connection system and device connection method | |
| CN105446933B (zh) | 多核心处理器的调试系统与调试方法 | |
| CN101004707A (zh) | 一种嵌入式软件调试装置及其调试实现方法 | |
| US8954629B2 (en) | Adapter and debugging method using the same | |
| CN108333566A (zh) | 一种基于zynq的便携式雷达测试系统及测试方法 | |
| WO2025026240A1 (zh) | 故障定位信息生成方法、装置、电子设备及存储介质 | |
| CN117806721A (zh) | 故障诊断驱动加载方法、装置、电子设备及存储介质 | |
| CN116909957A (zh) | 一种计算设备及计算设备的调试方法 | |
| CN101763324B (zh) | 设备模拟的实现方法和装置 | |
| WO2014000299A1 (zh) | 串口重定向处理方法、设备和系统 | |
| CN115454881B (zh) | Risc-v架构的调试系统及调试方法 | |
| CN109582571B (zh) | 在线调试方法、装置、调试从机、调试主机和系统 | |
| CN113849355B (zh) | I2c速率自适应调整方法、系统、终端及存储介质 | |
| CN114019230A (zh) | 一种智能电能表设计方法及系统 | |
| CN107609117A (zh) | 日志信息上报方法、装置及存储介质、adsp和终端 | |
| CN106231694A (zh) | 一种嵌入式无线传感网络网关 | |
| CN107835108B (zh) | 基于OpenWrt的MAC层协议栈验证平台 | |
| CN117176606A (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 | ||
| CB02 | Change of applicant information |
Country or region after: China Address after: 450000 Henan Province, Zhengzhou City, Free Trade Zone Zhengzhou Area (Zhengdong), Inner Ring North Road of Longhu, No. 99 Applicant after: Super Fusion Digital Technology Co.,Ltd. Address before: 450000 Floor 9, building 1, Zhengshang Boya Plaza, Longzihu smart Island, Zhengdong New District, Zhengzhou City, Henan Province Applicant before: xFusion Digital Technologies Co., Ltd. Country or region before: China |