CN101267350A - 调试方法和调试系统 - Google Patents

调试方法和调试系统 Download PDF

Info

Publication number
CN101267350A
CN101267350A CNA2008100946357A CN200810094635A CN101267350A CN 101267350 A CN101267350 A CN 101267350A CN A2008100946357 A CNA2008100946357 A CN A2008100946357A CN 200810094635 A CN200810094635 A CN 200810094635A CN 101267350 A CN101267350 A CN 101267350A
Authority
CN
China
Prior art keywords
debugging
pin
debug
serial
point
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
Application number
CNA2008100946357A
Other languages
English (en)
Other versions
CN101267350B (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.)
BEIJING SUNPLUS-EHUE TECHNOLOGY CO., LTD.
Sunplus Technology Co Ltd
Original Assignee
BEIJING BEIYANG ELECTRONIC TECHNOLOGY Co Ltd
Sunplus Technology 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 BEIJING BEIYANG ELECTRONIC TECHNOLOGY Co Ltd, Sunplus Technology Co Ltd filed Critical BEIJING BEIYANG ELECTRONIC TECHNOLOGY Co Ltd
Priority to CN2008100946357A priority Critical patent/CN101267350B/zh
Publication of CN101267350A publication Critical patent/CN101267350A/zh
Application granted granted Critical
Publication of CN101267350B publication Critical patent/CN101267350B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Debugging And Monitoring (AREA)

Abstract

本发明公开了一种调试方法,该方法包括:调试服务设备接收读取被调试设备逻辑电路中调试点电平的读取指令,根据所述读取指令,通过自身与调试点之间的物理传输通道,读取调试点电平。本发明还公开了一种调试系统,该系统中的调试服务设备通过物理传输通道与被调试设备中逻辑电路的调试点相连;调试服务设备在接收读取指令后,通过物理传输通道读取所述读取指令指示的被调试点电平。使用本发明能够获取逻辑电路的状态,进而确定逻辑电路故障。

Description

调试方法和调试系统
技术领域
本发明涉及调试技术,具体涉及调试方法和调试系统。
背景技术
为了降低工程师到设备现场对故障设备进行维护所产生的费用,目前出现了远程调试系统,使得工程师可以在异地对故障设备进行调试维护。例如,已售出的开发板在用户使用过程中出现故障,则供应商工程师可以通过远程调试系统对开发板进行远程调试,以帮助用户解决故障。
图1为现有技术中远程调试系统的结构示意图,如图1所示,该系统包括调试方设备、调试服务设备和被调试设备,其中,调试服务设备和被调试设备为被调试方。当被调试设备发生故障时,调试方设备通过网络向调试服务设备发送调试指令。调试服务设备接收到调试指令后,从被调试设备的控制单元中获取程序代码,并发送给调试方设备。控制单元是被调试设备中的中央处理单元(CPU),用于执行程序代码。获得程序代码后,调试方人员可以将程序代码下载到与被调试设备同型号的实验设备中,并运行,从而根据运行状态定位故障并确定故障解决方案,然后将解除故障后的正确程序代码通过网络发送给被调试方。被调试设备重新加载正确的程序代码,从而解决了原有故障。
但是,在现有的远程调试方案中,调试方只能根据从控制单元获取的程序代码定位故障,而被调试设备中不仅包括控制单元,还包括逻辑电路。控制单元运行程序代码后的输出数据可能要经过逻辑电路的处理,如果程序代码没有问题,而是逻辑电路出现故障,也会导致被调试设备故障。可见,由于现有的远程调试方案只能获取程序代码,不能获取逻辑电路的状态信息,因此无法确定逻辑电路故障。
目前,常用的本地调试系统也是借助于供应商提供的调试服务设备,获取被调试设备的程序代码作为故障判断依据,同样具有不能方便获取逻辑电路状态信息的缺陷。
发明内容
有鉴于此,本发明提供了一种调试方法,能够获取被调试设备中逻辑电路的状态。
该方法包括:
调试服务设备接收读取被调试设备逻辑电路中调试点电平的读取指令,根据所述读取指令,通过自身与调试点之间的物理传输通道,读取调试点电平。
其中,所述逻辑电路包括一个以上的调试点,一条物理传输通道连接一个调试点;
所述调试服务设备根据所述读取指令,通过自身与调试点之间的物理传输通道,读取调试点电平为:
所述调试服务设备根据所述读取指令确定当前调试点,根据调试点与物理传输通道之间的对应关系,通过与所述当前调试点对应的物理传输通道,读取所述当前调试点电平。
较佳地,所述调试服务设备与调试点之间的物理传输通道为:连接调试服务设备与调试点的通信接口提供的、从被调试设备到调试服务设备的输入通道,该输入通道与调试点相连。
较佳地,所述输入通道为:所述通信接口提供的除数据接收通道、数据发送通道、地信号通道之外的输入通道。
其中,所述调试服务设备与所述被调试设备之间通过串行接口相连;所述输入通道为:数据载波检测DCD信号通道,和/或数据设备准备就绪DSR信号通道,和/或清除发送CTS信号通道,和/或振铃指示RI信号通道。
其中,所述调试点为所述逻辑电路的I/O引脚。
较佳地,该方法进一步包括:调试服务设备接收控制被调试设备中受控点的控制指令;
调试服务设备根据所述控制指令确定当前受控点,通过自身与所述当前受控点之间的物理传输通道,将当前受控点的电平设置为指定值。
其中,所述调试服务设备与所述被调试设备之间通过串行接口相连;调试服务设备与所述受控点之间的物理传输通道为:数据终端准备就绪DTR通道,和/或请求发送RTS通道;
所述受控点包括被调试设备中系统在线编程ISP开关引脚和系统复位RESET引脚。
较佳地,该方法进一步包括:调试服务设备接收调试工具指令;
调试服务设备将调试工具指令封装为符合远程串行协议RSP协议的数据包,通过遵循RSP协议的数据收发通道发送给被调试设备中的调试代理,接收调试代理执行调试工具指令对应的操作后返回的指令执行结果。
较佳地,调试服务设备接收的指令是调试方设备通过网络发送给调试服务设备的;所述调试点电平为指令执行结果;
该方法进一步包括:调试服务设备将得到的指令执行结果返回给调试方设备。
较佳地,所述指令执行结果返回给调试方设备之后,进一步包括:调试方设备根据作为指令执行结果的调试点电平生成时序图或真值表。
本发明还提供了一种调试系统,能够获取被调试设备中逻辑电路的状态。
该系统包括调试服务设备和被调试设备;所述调试服务设备通过物理传输通道与被调试设备中逻辑电路的调试点相连;
所述调试服务设备,用于接收读取所述逻辑电路中调试点电平的读取指令,通过所述物理传输通道读取调试点电平。
所述被调试设备包括逻辑电路和第二串行物理接口;所述逻辑电路的调试点与第二串行物理接口中的输入引脚相连;
所述调试服务设备包括服务单元和第一串行物理接口;所述第一串行物理接口的输入引脚通过传输线与所述第二串行物理接口的输入引脚对应相连;所述第一串行物理接口的输入引脚与所述服务单元相连;
所述服务单元,用于根据所接收的读取指令,从第一串行物理接口的输入引脚对应的输入通道上读取电平,作为调试点电平。
根据以上技术方案可见,本发明的调试方案采用物理传输通道将调试服务设备与被调试设备的逻辑电路中的调试点相连,由于是物理传输通道,因此调试服务设备与调试点之间具有电气通路,那么调试服务设备可以直接通过该电气通路获取逻辑电路中的调试点电平,从而使得调试点电平获得者可以通过对逻辑电路调试点的电平变化进行分析,确定逻辑电路中可能发生的故障。
通常,调试服务设备和被调试设备之间的已有接口为串行接口,因此进一步地,本发明实施例采用串行接口中的额外输入通道,即DCD信号通道、DSR信号通道、CTS信号通道和RI信号通道,作为获取调试点电平的物理传输通道。由于采用被调试设备上的已有接口,不用在被调试设备上增加额外接口,从而简化了远程调试系统的硬件组成。
而且,本发明实施例将逻辑电路的I/O引脚电平作为调试点,当逻辑电路的I/O电平变化时,将直接体现在相关通道中,通过读取并分析这些通道中的电平,就可以得知逻辑电路状态,从而定位故障。
本发明实施例的调试服务设备还可以根据调试方设备指令,通过自身与被调试设备中受控点之间的输出通道,控制受控点电平,从而实现远程重启操作,和远程控制被调试设备进入ISP模式的操作。
调试服务设备还可以接收GDB指令,并通过数据收发通道发送至被调试设备,被调试设备中的调试代理根据GDB指令进行相应处理,从而实现单步调试、断点调试、读写内存、读写寄存器等功能。
附图说明
图1为现有技术中远程调试系统的结构示意图。
图2为本发明中远程调试系统的结构示意图。
图3为本发明实施例一中远程调试系统的结构图。
图4为图3中服务器220的处理流程图。
图5为本发明实施例二中远程调试系统的结构图。
图6为图5中服务器220和被调试设备230的结构示意图。
图7为图5中服务器220的处理流程图。
图8为本发明实施例三中远程调试系统的结构示意图。
具体实施方式
为了确定逻辑电路的状态,本发明实施例提供的调试方案,在被调试设备的逻辑电路中设置调试点,同时调试服务设备通过物理传输通道与调试点相连。调试服务设备接收来自外部的读取调试点电平的读取指令,根据所接收的读取指令,通过自身与待读取电平的调试点之间的物理传输通道,读取该调试点电平,从而获得逻辑电路状态。
其中,调试服务设备接收的读取指令可以是用户输入到调试服务设备的,也可以是通过网络接收自远程调试方设备的。在后者情况下,调试服务设备读取调试点电平后,进一步将调试点电平发送给调试方设备。那么,作为调试点电平获得者的远程调试方就可以根据逻辑电路中调试点的电平确定逻辑电路状态,进而对逻辑电路进行故障定位,从而实现了远程调试。
以下,在本发明实施例的描述中均以调试服务设备接收调试方设备的调试指令为例进行描述。
图2为本发明中远程调试系统的结构示意图。如图2所示,该系统包括作为调试方设备的客户端210、作为调试服务设备的服务器220和被调试设备230。调试方设备和调试服务设备之间采用支持客户端/服务器(Client/Server)的传输协议进行网络通信,一个服务器可以为多个客户端服务。其中,服务器220通过物理传输通道与被调试设备230中逻辑电路231的调试点相连。图2中逻辑电路231左侧虚线框内的短粗实线表示调试点。从调试点指向服务器220的单箭头实线标识物理传输通道。本发明实施例中,物理传输通道是指电气上直接连通的通路。
客户端210,用于通过网络向服务器220发送读取指令,该读取指令指示服务器220读取被调试设备230的逻辑电路231中调试点电平,然后客户端210接收服务器220返回的调试点电平。
服务器220,用于接收来自客户端210的读取指令,通过自身与待读取电平的调试点之间的物理传输通道,读取调试点电平,并返回给客户端210。
在实际中,可以在逻辑电路231中设置一个以上的调试点,例如图2中逻辑点231包括4个调试点。在具有多个调试点的情况下,一条物理传输通道对应一个调试点。那么服务器220在接收到读取指令后,根据该读取指令确定当前调试点,根据调试点与物理传输通道之间的对应关系,通过与所述当前调试点对应的物理传输通道,读取所述当前调试点电平。
通常,对于组合逻辑电路而言,根据逻辑电路真值表可以判断逻辑是否正确,对于时序逻辑电路而言,结合逻辑电路I/O输出的时序图可以判断逻辑是否正确。而真值表和时序图都是根据逻辑电路的I/O输出电平确定的。因此,本发明实施例将逻辑电路的I/O引脚作为调试点,从而得到逻辑电路I/O引脚的电平。客户端210进一步根据从服务器220接收的I/O引脚电平生成时序图,或者真值表,作为定位故障依据。当然,还可以对I/O引脚电平进行统计,生成波形图。
在实际中,服务器220与被调试设备230都具有串行接口,而且通过串行传输线相连。因此,较佳地,被调试设备230中的已有串行接口与调试点相连,那么,服务器220与调试点之间就形成了串行接口提供的传输通道。串行接口中的传输通道是有方向的,本发明是从调试点获取电平,因此需要采用串行接口提供的输入通道。
表1示出了9针的RS232串行接口中各引脚的定义和引脚对应传输通道的方向。
  引脚号   引脚名   对应传输通道的方向
  1   数据载波检测(DCD)   输入
  2   接收数据(RXD)   输入
  3   发送数据(TXD)   输出
  4   数据终端准备就绪(DTR)   输出
  5   信号地(GND)
  6   数据设备准备就绪(DSR)   输入
  7   请求发送(RTS)   输出
  8   清除发送(CTS)   输入
  9   振铃指示(RI)   输入
表1
如表1所示,串行接口包括9个引脚,其中,RXD引脚、DCD引脚、DSR引脚、CTS引脚和RI引脚为提供输入通道的输入引脚,提供的输入通道分别为RXD信号通道、DCD信号通道、DSR信号通道、CTS信号通道和RI信号通道,但是RXD信号通道用于传输数据,经常被占用,因此,采用DCD信号通道、DSR信号通道、CTS信号通道和RI信号通道作为获取调试点电平的通道。
在实际中,采用其它形式的通信接口提供的输入通道与调试点相连,也可以完成调试点电平的读取,例如并行接口、网络接口或I2C总线接口提供的输入通道。I2C是一种总线接口,是Inter-IC的缩写。对于并行接口来说,采用的输入通道为除RXD信号通道、TXD信号通道和GND信号通道之外的输入通道。当然,采用物理传输线将服务器220与调试点相连也可以实现调试点电平的读取。
下面结合附图并举实施例,对本发明进行详细描述。以下实施例中均以串口中的DCD信号通道、DSR信号通道、CTS信号通道和RI信号通道作为获取调试点电平的通道,而且,被调试设备中逻辑电路的调试点为I/O引脚。该逻辑电路可以是一般的逻辑电路,也可以是现场可编程门阵列(FPGA,Field Programmable Gate Array),复杂可编程逻辑器件(CPLD,ComplexProgrammable Logic Device)等。客户端210与服务器220通过Telnet协议进行通信。Telnet协议是TCP/IP协议族中的一员,是Internet远程登录服务的标准协议。应用Telnet协议,调试方以客户端的角色登录调试服务设备。
实施例一
图3为本发明实施例一中远程调试系统的结构图。如图3所示,该系统包括客户端210、服务器220和被调试设备230。客户端210和服务器220之间基于TCP/IP协议进行通信。其中,
图3中的客户端210具体包括调试指令生成单元211和通信单元212:
调试指令生成单元211,用于生成调试指令,发送给通信单元212;本实施例中该调试指令为读取逻辑电路231中I/O引脚电平的读取指令。
通信单元212,用于建立与服务器之间的通信通道,通过建立的通信通道,将调试指令发送给服务器220,从服务器220接收调试指令执行结果。
图3中的服务器220具体包括服务单元221和串行物理接口223。被调试设备230包括串行物理接口232和逻辑电路231。其中,串行物理接口223的输入引脚与服务单元221相连,串行物理接口232的输入引脚通过串行传输线与串行物理接口232的输入引脚对应相连,串行物理接口232的输入引脚与逻辑电路231的I/O引脚相连。经过以上连接,服务单元221通过串行物理接口221、串行传输线和串行物理接口232连接到I/O引脚,形成电气通路,即输入通道,一个I/O引脚对应一个电气通路。
本实施例中,串行物理接口的输入引脚包括DCD引脚、DSR引脚、CTS引脚和RI引脚。在实际中,根据逻辑电路231中待调试I/O引脚的数量,可以选择DCD引脚、DSR引脚、CTS引脚和RI引脚中一个或任意组合作为提供输入通道的输入引脚。
其中,服务单元221,用于接收来自客户端210的读取指令,从串行物理接口223的输入引脚对应的输入通道上读取电平,作为I/O引脚电平,并返回给客户端210。由于本实施例中逻辑电路231包括4个I/O引脚,因此在读取前,还要根据读取指令确定待读取电平的当前I/O引脚,根据保存在服务单元221的I/O引脚与输入通道的对应关系,从与当前I/O引脚对应的输入通道读取电平。串行接口223是符合串行通信协议的物理接口,本实施例采用9针的串行接口。
被调试设备230中的逻辑电路231是调试对象,本实施例中,预先确定待调试点包括I/O1引脚、I/O2引脚、I/O3引脚和I/O4引脚。如图3所示,I/O1引脚、I/O2引脚、I/O3引脚和I/O4引脚分别与串行物理接口232的DCD引脚,DSR引脚,CTS引脚和RI引脚相连。当需要调试的I/O数量大于4个时,可以在逻辑电路231的待调试I/O引脚处设置插孔,串行物理接口232的输入引脚设置插孔,I/O引脚与输入引脚之间采用可以拆卸传输线相连。I/O引脚与输入引脚之间的对应关系可以灵活选择,在选定后需要通知服务单元221。该选定对应关系的工作可以由人工完成,然后通过服务单元221提供的用户接口将对应关系发送给服务单元221,同时由服务单元221通过网络通知客户端210。
本实施例中,客户端210和服务器220可以均为PC机。在实现时,也可以将服务器220作为内嵌在被调试设备230中的功能模块,那么服务器220需要包括具有网络通信功能的服务单元221,服务单元221直接通过物理连接导线与调试点相连,获取调试点电平。
下面对本实施例的远程调试系统工作原理进行描述。图4为图3中服务器220的处理流程图。如图4所示,该方法包括以下步骤:
步骤401:服务器接收客户端通过网络发送的读取指令。
本实施例中客户端通过Telnet协议远程登录服务器,从而与服务器通信。本步骤中,客户端启动装载的Telnet协议客户程序,采用保存在自身的服务器IP地址和域名与服务器建立连接;接收用户输入的登录名和口令和调试指令并进行封装,然后发送给远程服务器。其中,登录名和口令用于服务器对客户端进行身份验证,以下省略身份验证过程。
步骤402:服务器根据所接收的读取指令,确定待读取电平的当前I/O引脚,根据I/O引脚与输入通道之间的对应关系,读取与当前I/O引脚对应的输入通道上的电平,作为当前调试点电平。
本步骤中,服务器根据读取指令中携带的待调试I/O引脚信号信息,确定当前I/O引脚。
参见图3,在从输入通道读取电平时,假设服务单元221接收到读取逻辑电路231中I/O3的电平,此时,服务单元221根据I/O引脚与串行物理接口223输入引脚之间的对应关系获知,I/O3对应CTS引脚,那么服务单元221读取与自身连接的CTS线的电平,作为I/O3的电平。
步骤403:将当前I/O引脚电平通过网络发送给客户端。
至此本流程结束。
实施例二
本实施例中,客户端还可以通过服务器从被调试设备中获取程序代码,从而确定程序代码中的故障,经调试后,将正确的程序代码发回被调试设备。在客户端向被调试设备下发新的程序代码时,需要客户端进入在线系统编程(ISP,In-System Programming)模式,写入新程序代码后重新启动。进入ISP模式和重新启动分别由被调试设备上的ISP开关引脚和系统复位(RESET)引脚控制。本发明实施例的远程调试系统还可以进一步远程控制ISP开关引脚和RESET引脚的电平。如果被调试设备的微型控制单元(MCU),即执行程序代码的控制单元中具有复位电路、ISP控制电路的话,该ISP开关引脚和RESET引脚在被调试设备的MCU上;如果,用专门的逻辑电路实现RESET或ISP开关的话,逻辑电路中就有ISP开关引脚和RESET引脚。本申请旨在提供一种远程控制ISP开关、RESET的技术方案,而ISP引脚、RESET引脚在何处不是关键。本实施例以ISP开关和RESET在逻辑电路中,且逻辑电路中的ISP开关引脚和RESET引脚为受控点为例进行描述。
因此,与实施例一不同之处在于,本实施例中服务器与被调试设备之间还包括输出通道和数据收发通道。其中,输出通道为串行接口的DTR信号传输通道和RTS信号传输通道,数据收发通道为串行接口的TXD信号通道和RXD信号通道。
图5为本发明中实施例二中远程调试系统的结构示意图。该远程调试系统同样包括客户端210、服务器220和被调试设备230。
其中,客户端210可以采用实施例一客户端组成结构。不同之处在于,本实施例中,客户端210中的调试指令生成单元211进一步生成控制指令,该控制指令用于通知服务器220将逻辑电路231上的受控点电平设置为指定值。本实施例中,受控点为ISP开关引脚和RESET引脚,相应的,控制指令包括ISP开关指令或RESET指令。调试指令生成单元211,还生成数据收发指令,用于通知服务器220执行程序代码的收发操作。
服务器220包括服务单元221和串行物理接口223;被调试设备230包括串行物理接口232、逻辑电路231和执行程序代码的控制单元233。其中,服务单元221与串行物理接口223的TXD引脚、RXD引脚、DTR引脚、RTS引脚和CTS引脚相连。串行物理接口223的TXD引脚、RXD引脚、DTR引脚、RTS引脚和CTS引脚与串行物理接口232的对应引脚相连。串行物理接口232中的TXD引脚和RXD引脚与控制单元233相连,DTR引脚与逻辑电路的RESET引脚相连,RTS引脚与逻辑电路的ISP开关引脚相连,CTS引脚与逻辑电路的I/O引脚相连。本实施例中,逻辑电路231中只有一个I/O。
其中,服务单元221,用于接收调试指令,判断调试指令类型,如果是读取I/O电平的读取指令,则与实施例一相同,读取当前I/O引脚对应的输入通道电平。如果调试指令是控制受控点状态的控制指令,则通过输出通道将受控点电平设置为指定值,本实施例中,如果控制指令为ISP开关指令,则将RTS线上的电平置为指定值,如果控制指令为RESET指令,则将DTR线上的电平设置为指定值。最后,如果调试指令是数据收发指令,则通过TXD和RXD提供的数据收发通道,进行数据收发操作。
服务单元221可以利用数据收发指令从控制单元233获取程序代码,向控制单元233下载程序代码。而控制单元233服务单元221的控制,可以向服务器上传程序代码,接收服务器下发的程序代码。
图6为图5中服务器和被调试设备的详细结构示意图。如图6所示,服务器中服务单元221具体包括调试服务模块621、执行模块622和串口控制器623,其中,
调试服务模块621,用于接收来自客户端210的调试指令,判断调试指令的类型,如果是读取指令和控制指令,则发送给执行模块622;如果是数据收发指令则发送给串口控制器623。
执行模块622,用于接收来自调试服务模块621的调试指令,如果是读取指令,根据读取指令当前I/O引脚,根据I/O引脚与输入通道的对应关系,确定当前I/O引脚对应的输入通道,通过发送读取通知通知给串口控制器623,将串口控制器623返回的I/O引脚电平通过调试服务模块621返回给客户端210。如果调试指令是控制指令,则执行模块622确定当前受控点,根据受控点与输出通道的对应关系,确定自身与当前受控点之间的输出通道,通过发送控制通知通知给串口控制器623。
串口控制器623与串行物理接口223相连,串口控制器623可以采用为现有的8251芯片实现,连接时同名引脚对应相连。串口控制器623在接收到执行模块622的读取通知时,从读取通知指示的输入通道上读取电平,并返回给执行模块622;在接收到执行模块622的控制通知时,将控制通知指示的输出通道上的电平设置为指定电平值;在接收到调试服务模块621的数据收发指令后,通过数据收发通道进行数据收发操作。
图6中的被调试设备220依然包括串行物理接口232、逻辑电路231和控制单元233,而且这三个组成模块功能与图5中的同名模块相同。在实际中,当串行物理接口232接收信号之后,由于信号电平与被调试设备上的信号电平有差异,因此需要在串行物理接口232和逻辑电路231之间增加电平转换装置632,串行物理接口232与控制单元233之间的信号也采用电平转换装置632进行电平转换处理。此外,控制单元233需要通过串口控制器进行数据收发操作,因此在电平转换装置632与控制单元233之间增加串口控制器631,当然也可以采用集成在控制单元233中的串口控制器631。串口控制器处理数据收发指令的过程为已知技术手段,这里不详述。
下面对本实施例的远程调试系统工作原理进行描述。图7为图5中服务器220的处理流程。如图7所示,该方法包括:
步骤701:服务器接收客户端通过网络发送的调试指令。
步骤702:判断调试指令的类型,如果是读取指令则执行步骤703;如果是控制指令则执行步骤704;如果是数据收发指令则执行步骤705。其中,调试指令的类型可以根据调试指令携带的指令类型标识确定。
例如,读取指令至少包括区别标识和I/O引脚名,其中,区别标识为#;控制指令至少包括区别标识和受控引脚名,其中,区别标识为F,受控引脚名为ISP或RESET;数据收发指令至少包括区别标识和指令内容,其中区别标识为@。
步骤703:根据读取指令,确定待读取电平的当前I/O引脚,根据I/O引脚与输入通道之间的对应关系,读取与当前I/O引脚对应的输入通道上的电平,返回给客户端。本流程结束。
步骤704:根据控制指令确定当前受控点,通过串行接口提供的自身与当前受控点之间的输出通道,将当前受控点的电平设置为指定值。本流程结束。
步骤705:根据数据收发指令,通过串行接口提供的数据收发通道执行数据收发操作。本流程结束。
在实际中,客户端可以利用以上服务器的操作实现对被调试设备程序代码和逻辑电路的调试。在调试逻辑电路时,客户端发送读取指令,获取逻辑电路中调试点的电平,根据获取的电平建立真值表或绘制时序图;在调试程序代码时,首先通过发送数据收发指令,获取被调试设备上的当前程序代码,在对获取的当前程序代码调试完成后,通过发送控制指令,将被调试设备的ISP开关引脚电平置为低电平,从而令被调试设备进入ISP模式,然后通过发送数据收发指令将调试后的程序代码下载到被调试设备中,最后通过发送控制指令,将被调试设备的RESET引脚置为高电平,从而令被管理设备重启,以执行新的程序代码。
实施例三
本实施例中,远程调试系统融合现有的GDB调试工具提供的远程调试功能,使得用户可以从客户端,通过远程调试方式单步执行被调试设备上的程序代码、设置断点、查看内容等操作。在现有技术中,GDB是GNU symbolicdebugger的缩写,是GNU提供的一类调试工具。GDB提供本地调试机和调试代理,本地调试机和调试代理在物理上是分离的,调试代理设置在被调试设备上,与被调试设备的控制单元相连,本地调试机设置在调试方上。调试代理之间遵循GDB远程串口协议(RSP,Remote Serial Protocol)进行通信。RSP协议定义了本地调试机与调试代理之间的通信时数据包的格式。RSP是一种简单的,基于ASCII的协议,它适用于通过串口线、局域网以及其他至少支持半双工数据交换的通信媒体的环境。RSP协议的数据包封装格式一般为:“$ data # CSUM1 CSUM2”,其中,$为数据包标识,#为分隔符,$和#之间的data是数据内容,该数据内容通常是设定的命令符号,例如?指示读当前系统状态,g指示读所有寄存器,E指示GDB出错;CSUM1和CSUM2是数据包的两个校验位。本地调试机用于将命令封装为符合RSP协议的数据包,然后发送到被调试设备上的调试代理,调试代理接收数据包后,解封装,并执行数据包内容指示的操作,例如读写内存、读写寄存器、程序暂停(stop)、程序继续(continue)等,并向本地调试机返回操作结果。
本实施例中,本地调试机与调试代理之间采用串行接口进行通信,而且与调试逻辑电路的调试指令共用一个串行接口。
图8为本发明实施例三中远程调试系统的结构示意图。如图8所示,该系统包括客户端210、服务器220和被调试设备230。
其中,客户端210可以采用实施例一客户端组成结构。不同之处在于,本实施例中,客户端210生成的调试指令不仅包括控制指令和读取指令,还包括调试工具指令,即GDB指令。
服务器220包括服务单元221、串行物理接口223和本地调试机820;被调试设备230包括串行物理接口232、逻辑电路231、控制单元233和调试代理830。参见图8,这些模块的连接关系为:服务单元221与串行物理接口223的DTR、RTS和CTS这三条引脚相连;本地调试机820与串行物理接口223的TXD和RXD相连;服务单元221与本地调试机820相连;串行物理接口223与串行物理接口232的对应引脚相连,逻辑电路231与串行物理接口232的DTR、RTS和CTS这三条引脚相连,调试代理830与串行物理接口232的TXD和RXD引脚相连,控制单元233与调试代理相连。
其中,服务单元221,用于接收调试指令,判断调试指令类型。实施例二中已经对调试指令为读取指令和控制指令的相应操作进行了详细描述,这里不再重复。当执行指令为GDB指令时,将GDB指令发送给本地调试机820。
本地调试机820,按照GDB RSP协议对GDB指令进行封装,然后通过串行物理接口223提供的数据收发通道,将封装后的GDB指令发送给被调试设备230;通过数据收发通道从被调试设备230接收GDB指令处理结果,通过服务单元221返回给客户端210。图8中的中空双箭头示出了封装后GDB指令的传输通道,该通道由串口的数据收发通道提供。
被调试设备230中调试代理830在通过数据收发通道接收到GDB指令后,对控制单元233执行GDB指令对应的操作,并通过数据收发通道返回执行结果。调试代理830具体如何对控制单元233执行GDB指令对应的操作是已知技术手段,这里不详述。
图8中服务器220的处理流程与图7示出的流程相似,不同之处在于,服务器接收的调试指令不包括数据收发指令,而包括GDB指令。在步骤702中判定接收到GDB指令时,执行步骤705,此时步骤705为:服务器中的本地调试器将GDB指令进行封装,然后通过串行接口提供的数据收发通道发送至被调试设备,接收被调试设备返回的GDB指令执行结果,再发送回客户端。
本实施例中,调试指令的类型仍可以根据调试指令携带的指令类型标识确定。其中读取指令和控制指令仍可以采用实施例二所述的格式,本实施例三中的GDB指令包括区别标识和指令内容,其中区别标识可为$。
综上所述,以上仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

Claims (18)

1、一种调试方法,其特征在于,该方法包括:
调试服务设备接收读取被调试设备逻辑电路中调试点电平的读取指令,根据所述读取指令,通过自身与调试点之间的物理传输通道,读取调试点电平。
2、如权利要求1所述的方法,其特征在于,所述逻辑电路包括一个以上的调试点,一条物理传输通道连接一个调试点;
所述调试服务设备根据所述读取指令,通过自身与调试点之间的物理传输通道,读取调试点电平为:
所述调试服务设备根据所述读取指令确定当前调试点,根据调试点与物理传输通道之间的对应关系,通过与所述当前调试点对应的物理传输通道,读取所述当前调试点电平。
3、如权利要求1所述的方法,其特征在于,所述调试服务设备与调试点之间的物理传输通道为:连接调试服务设备与调试点的通信接口提供的、从被调试设备到调试服务设备的输入通道,该输入通道与调试点相连。
4、如权利要求3所述的方法,其特征在于,所述输入通道为:所述通信接口提供的除数据接收通道、数据发送通道、地信号通道之外的输入通道。
5、如权利要求3所述的方法,其特征在于,所述调试服务设备与所述被调试设备之间通过串行接口相连;所述输入通道为:数据载波检测DCD信号通道,和/或数据设备准备就绪DSR信号通道,和/或清除发送CTS信号通道,和/或振铃指示RI信号通道。
6、如权利要求1所述的方法,其特征在于,所述调试点为所述逻辑电路的I/O引脚。
7、如权利要求1所述的方法,其特征在于,该方法进一步包括:调试服务设备接收控制被调试设备中受控点的控制指令;
调试服务设备根据所述控制指令确定当前受控点,通过自身与所述当前受控点之间的物理传输通道,将当前受控点的电平设置为指定值。
8、如权利要求7所述的方法,其特征在于,所述调试服务设备与所述被调试设备之间通过串行接口相连;调试服务设备与所述受控点之间的物理传输通道为:数据终端准备就绪DTR通道,和/或请求发送RTS通道;
所述受控点包括被调试设备中系统在线编程ISP开关引脚和系统复位RESET引脚。
9、如权利要求1所述的方法,其特征在于,该方法进一步包括:调试服务设备接收调试工具指令;
调试服务设备将调试工具指令封装为符合远程串行协议RSP协议的数据包,通过遵循RSP协议的数据收发通道发送给被调试设备中的调试代理,接收调试代理执行调试工具指令对应的操作后返回的指令执行结果。
10、如权利要求1或7或9所述的方法,其特征在于,调试服务设备接收的指令是调试方设备通过网络发送给调试服务设备的;所述调试点电平为指令执行结果;
该方法进一步包括:调试服务设备将得到的指令执行结果返回给调试方设备。
11、如权利要求10所述的方法,其特征在于,所述指令执行结果返回给调试方设备之后,进一步包括:调试方设备根据作为指令执行结果的调试点电平生成时序图或真值表。
12、一种调试系统,其特征在于,该系统包括调试服务设备和被调试设备;所述调试服务设备通过物理传输通道与被调试设备中逻辑电路的调试点相连;
所述调试服务设备,用于接收读取所述逻辑电路中调试点电平的读取指令,通过所述物理传输通道读取调试点电平。
13、如权利要求12所述的系统,其特征在于,所述被调试设备包括逻辑电路和第二串行物理接口;所述逻辑电路的调试点与第二串行物理接口中的输入引脚相连;
所述调试服务设备包括服务单元和第一串行物理接口;所述第一串行物理接口的输入引脚通过传输线与所述第二串行物理接口的输入引脚对应相连;所述第一串行物理接口的输入引脚与所述服务单元相连;
所述服务单元,用于根据所接收的读取指令,从第一串行物理接口的输入引脚对应的输入通道上读取电平,作为调试点电平。
14、如权利要求13所述的系统,其特征在于,所述被调试设备的逻辑电路包括一个以上的调试点,不同调试点与第二串行物理接口中的不同输入引脚相连;
所述服务单元包括调试服务模块、执行模块和第一串口控制器,其中,
所述调试服务模块,用于接收所述读取指令,并发送给执行模块,接收执行模块返回的当前调试点电平;
所述执行模块,用于根据读取指令确定当前调试点,根据调试点和输入通道的对应关系,确定当前调试点对应的输入通道,通知给第一串口控制器,将串口控制器返回的当前调试点电平发送给调试服务模块;
所述第一串口控制器与第一串行物理接口中的输入引脚相连,在接收到执行模块的通知时,从通知指示的输入通道上读取电平,并返回给所述执行模块。
15、如权利要求13所述的系统,其特征在于,所述第一串行物理接口和第二串行物理接口中的输入引脚包括:DCD引脚、DSR引脚、CTS引脚和RI引脚中的一个或任意组合;所述调试点为所述逻辑电路的I/O引脚。
16、如权利要求13所述的系统,其特征在于,所述被调试设备进一步包括电平接受控制的受控点,所述受控点与第二串行物理接口中的输出引脚相连;
所述第二串行物理接口的输出引脚通过传输线与所述第一串行物理接口的输出引脚对应相连;所述第一串行物理接口的输出引脚与所述服务单元相连;
所述服务单元进一步用于,根据接收自外部的控制指令,将第一串行物理接口的输出引脚对应的输出通道电平设置为指定值。
17、如权利要求13所述的系统,其特征在于,所述被调试设备进一步包括调试代理单元和执行被调试设备的程序代码的控制单元,所述调试代理单元与所述第二串行物理接口中的TXD引脚和RXD引脚相连;
所述调试代理单元,用于通过所述TXD引脚和RXD引脚对应的数据收发通道接收GDB指令,对控制单元执行所述调试工具指令对应的操作,并通过所述数据收发通道返回执行结果;
所述第二串行物理接口中的TXD引脚和RXD引脚与第一串行物理接口的TXD引脚和RXD引脚对应相连;
所述调试服务设备进一步包括与所述第一串行物理接口的TXD引脚和RXD引脚相连的本地调试器,用于接收所述服务单元从外部接收的调试工具指令时,将调试工具指令封装为符合远程串行协议RSP协议的数据包,通过第一串行物理接口的TXD引脚和RXD引脚对应的数据收发通道发送给被调试设备,将被调试设备返回的调试工具指令执行结果作为指令执行结果发送给所述服务单元;
所述服务单元用于,将接收自外部的控制指令发送给本地调试器,接收本地调试器返回的指令执行结果。
18、如权利要求13、16或17所述的系统,其特征在于,该系统进一步包括调试方设备;所述调试服务设备接收的指令是该调试方设备通过网络发送的;
所述服务单元进一步用于,将调试点电平作为指令执行结果;在获取到指令执行结果后,返回给调试方设备。
CN2008100946357A 2008-04-24 2008-04-24 调试方法和调试系统 Expired - Fee Related CN101267350B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN2008100946357A CN101267350B (zh) 2008-04-24 2008-04-24 调试方法和调试系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN2008100946357A CN101267350B (zh) 2008-04-24 2008-04-24 调试方法和调试系统

Publications (2)

Publication Number Publication Date
CN101267350A true CN101267350A (zh) 2008-09-17
CN101267350B CN101267350B (zh) 2010-07-21

Family

ID=39989498

Family Applications (1)

Application Number Title Priority Date Filing Date
CN2008100946357A Expired - Fee Related CN101267350B (zh) 2008-04-24 2008-04-24 调试方法和调试系统

Country Status (1)

Country Link
CN (1) CN101267350B (zh)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102571472A (zh) * 2010-12-27 2012-07-11 北京国睿中数科技股份有限公司 一种调试系统和方法
CN101876935B (zh) * 2009-11-24 2013-05-08 中国北车股份有限公司大连电力牵引研发中心 调试程序监控方法与装置
CN103514077A (zh) * 2012-06-21 2014-01-15 深圳市祈飞科技有限公司 计算机系统瘫痪报警装置及报警方法
CN108027796A (zh) * 2015-09-04 2018-05-11 惠普发展公司有限责任合伙企业 串行端口引脚电压
CN112073356A (zh) * 2019-06-10 2020-12-11 海信视像科技股份有限公司 一种数据传输方法及显示设备

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1901569B (zh) * 2006-07-05 2010-08-04 华为技术有限公司 远程调试方法及系统
CN101004707A (zh) * 2007-01-18 2007-07-25 浙江大学 一种嵌入式软件调试装置及其调试实现方法

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101876935B (zh) * 2009-11-24 2013-05-08 中国北车股份有限公司大连电力牵引研发中心 调试程序监控方法与装置
CN102571472A (zh) * 2010-12-27 2012-07-11 北京国睿中数科技股份有限公司 一种调试系统和方法
CN103514077A (zh) * 2012-06-21 2014-01-15 深圳市祈飞科技有限公司 计算机系统瘫痪报警装置及报警方法
CN108027796A (zh) * 2015-09-04 2018-05-11 惠普发展公司有限责任合伙企业 串行端口引脚电压
CN108027796B (zh) * 2015-09-04 2021-06-08 惠普发展公司有限责任合伙企业 独立控制串行端口引脚电压的装置、计算设备及其方法
CN112073356A (zh) * 2019-06-10 2020-12-11 海信视像科技股份有限公司 一种数据传输方法及显示设备
CN112073356B (zh) * 2019-06-10 2022-07-19 海信视像科技股份有限公司 一种数据传输方法及显示设备

Also Published As

Publication number Publication date
CN101267350B (zh) 2010-07-21

Similar Documents

Publication Publication Date Title
CN101789889B (zh) 一种自动测试通信设备的方法及系统
CN101170438B (zh) 一种远程串口调试方法及其系统
CN112653738B (zh) 一种物联网网络调试系统和调试方法
CN101267350B (zh) 调试方法和调试系统
CN103699112B (zh) 基于io信号故障仿真的航电自检测验证设备及其验证方法
CN112055096B (zh) 自动设置设备通信地址的方法及装置
CN105095037A (zh) 线卡、线卡的背板以及线卡测试方法
CN105897471A (zh) 一种带外管理系统及方法
CN100382502C (zh) 一种进行单板调试串口映射的系统
CN102571474B (zh) 虚拟化的Radius测试系统及方法
CN113377701B (zh) 基于复杂可编程逻辑器件cpld的串口控制系统及其通信方法
CN102884515B (zh) 串口重定向处理方法、设备和系统
CN114356671A (zh) 板卡调试装置、系统及方法
US5968137A (en) Method of testing a protocol converter with the help of an identical converter and deactivating selection means for preventing asymmetry conversion
CN107769960B (zh) 一种基于can总线的bmc管理架构
CN115729872A (zh) 一种计算设备及pcie线缆连接的检测方法
CN108491221A (zh) 嵌入式系统的更新、故障检测系统及方法
CN111831597B (zh) 一种基于物联网网关中pru的gpib控制系统及方法
CN111211949B (zh) 一种用于对智能电能表计量芯进行协议一致性测试的系统及方法
CN111367756A (zh) 硬盘串口日志的远程查看方法、系统、终端及存储介质
CN201429842Y (zh) 一种采用jtag方式的代码下载系统
CN112666447B (zh) 一种应用于双冗余架构设备的板位识别电路
CN113938449B (zh) 网络安全设备的控制方法和网络安全设备
CN210780843U (zh) 一种针对物联网网关模块的测试及故障定位装置及系统
CN203191971U (zh) 基于1553b总线的接口板卡及控制系统

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
ASS Succession or assignment of patent right

Owner name: BEIJING SUNPLUS EHUI TECHNOLOGY CO., LTD.

Free format text: FORMER OWNER: BEIJING BEIYANG ELECTRONIC TECHNOLOGY CO., LTD.

Effective date: 20140227

TR01 Transfer of patent right

Effective date of registration: 20140227

Address after: Science and Industry Park, Taiwan, Hsinchu, China, No. 19

Patentee after: Lingyang Science and Technology Co., Ltd.

Patentee after: BEIJING SUNPLUS-EHUE TECHNOLOGY CO., LTD.

Address before: Science and Industry Park, Taiwan, Hsinchu, China, No. 19

Patentee before: Lingyang Science and Technology Co., Ltd.

Patentee before: Beijing Beiyang Electronic Technology Co., Ltd.

TR01 Transfer of patent right
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20100721

Termination date: 20170424

CF01 Termination of patent right due to non-payment of annual fee