CN102075389A - 一种调试方法和设备 - Google Patents
一种调试方法和设备 Download PDFInfo
- Publication number
- CN102075389A CN102075389A CN 201110029510 CN201110029510A CN102075389A CN 102075389 A CN102075389 A CN 102075389A CN 201110029510 CN201110029510 CN 201110029510 CN 201110029510 A CN201110029510 A CN 201110029510A CN 102075389 A CN102075389 A CN 102075389A
- Authority
- CN
- China
- Prior art keywords
- debugging
- equipment
- virtual
- data
- message
- 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
Links
Images
Landscapes
- Debugging And Monitoring (AREA)
Abstract
本发明实施例公开了一种调试方法和设备,该方法包括以下步骤:调试控制设备接收来自终端的调试数据,并根据所述调试数据确定调试信息;所述调试控制设备根据所述调试信息获得调试结果,并将所述调试结果发送给所述终端。本发明实施例中,使调试数据的读取更方便,更具通用性,并且调试连接简单、速率高、可靠性强、方便易用。
Description
技术领域
本发明涉及通信技术领域,特别是涉及一种调试方法和设备。
背景技术
在产品设计过程中,设计人员通常需要将相当长的一部分时间用于系统的集成性和软硬件调试;尤其是需要在引擎管理、硬盘控制和调制解调器之类的实时系统中进行调试。目前嵌入式处理器采用的操作系统包括Linux和VxWorks,Linux和VxWorks系统复杂度较高,软件模型比较复杂,一般需要一种在线调试工具对系统进行调试。
具体的,一种调试手段是在板卡和PC(Personal Computer,个人计算机,即终端)之间使用串口相连,并采用串口调试方式。但是串口调试具有一定的局限性,需要专门的串口线(如两端串口接插件形式以及线序要求),而且距离受限、速度较慢。
另一种调试方式是在终端和板卡之间基于TCP(Transmission Control Protocol,传输控制协议)/IP协议栈建立基于socket(插座)的TCP或UDP(User Datagram Protocol,用户数据包协议)连接,如图1所示的调试示意图,通过相应链路(socket)可传送调试信息。
在实现本发明的过程中,发明人发现现有技术中至少存在以下问题:
第一种调试方式中,基于串口的调试需要定制的串口线,而且连接距离受限、速度慢。第二种调试方式中,基于协议栈的调试数据通道需要贯穿完整的TCP/IP协议栈,协议栈本身较复杂,协议栈出现问题后调试通道无法使用,并且很难定位;而且在复杂的系统中,如果出现协议栈改写等情况时调试功能会不可用,对分析定位问题造成了比较大的困难。
发明内容
本发明实施例提供一种调试方法和设备,以对系统进行调试。
为了达到上述目的,本发明实施例提出一种调试方法,包括:
调试控制设备接收来自终端的调试数据,并根据所述调试数据确定调试信息;
所述调试控制设备根据所述调试信息获得调试结果,并将所述调试结果发送给所述终端。
本发明实施例提出一种调试方法,包括:
虚拟IO设备获取调试信息,并将所述调试信息通知给调试代理任务;
所述虚拟IO设备接收所述调试代理任务根据所述调试信息确定的调试结果;
所述虚拟IO设备将所述调试结果发送给终端。
本发明实施例提出一种调试控制设备,包括:
调试控制器,用于接收来自终端的调试数据;并将调试结果发送给所述终端;
调试驱动,用于根据所述调试数据确定调试信息;并将调试结果发送给所述调试控制器;
虚拟IO设备,用于将所述调试信息通知给调试代理任务;并将调试结果发送给所述调试驱动;
调试代理任务,用于根据所述调试信息确定调试结果,并将调试结果发送给所述虚拟IO设备。
本发明实施例提出一种虚拟IO设备,包括:
获取模块,用于获取调试信息;
第一发送模块,用于将所述调试信息通知给调试代理任务;
接收模块,用于接收所述调试代理任务根据所述调试信息确定的调试结果;
第二发送模块,用于将所述调试结果发送给终端。
可见,本发明实施例的技术方案具有以下优点,通过将调试信息按照指定(如通用)格式存储在虚拟IO设备的缓冲区中,使调试数据的读取更方便,更具通用性,并且调试连接简单、速率高、距离远、可靠性强、方便易用。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为现有技术中一种调试方法的装置框图;
图2为本发明实施例一中的一种调试方法流程示意图;
图3为本发明实施例二中的针对调试方法的装置实现框图;
图4为本发明实施例二中通过虚拟IO设备完成系统调试的实现原理框图
图5为本发明实施例二中的一种调试方法流程示意图;
图6为本发明实施例二中虚拟IO设备及接收线程示意图;
图7为本发明提出的一种虚拟IO设备结构示意图。
具体实施方式
针对现有技术中调试过程所出现的问题,本发明实施例提供一种调试方法和设备,利用直接基于处理器硬件设备的调试控制台,并基于该调试控制台达到系统可靠调试的方式。其中,该硬件设备包括但不限于:以太控制器(MAC),SRIO(Serial Rapid IO,串行快速输入输出)控制器、PCI(Peripheral Component Interconnect,外设组件互连)控制器,HDLC(High-Level Data Link Control,高级数据链路控制)等具有数据传输能力的设备。本发明实施例中,另外,调试控制设备还可以为:基于共享内存的虚拟设备,或者,基于中断的虚拟设备,或者,基于处理器间通知的虚拟设备,或者,基于核间通知的虚拟设备,或者,基于处理器间消息的虚拟设备,或者,基于核间消息的虚拟设备,或者,基于多核的虚拟设备,或者,基于多处理器的虚拟设备。为了方便描述,本发明实施例中以以太控制器(MAC)为例进行说明,对于其他的硬件设备,处理方式类似,本发明实施例中不再赘述。
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
实施例一
本发明实施例一提供一种调试方法,由调试控制设备进行相关调试操作,该调试控制设备包括但不限于:基于以太控制器的设备;或者,基于串行快速输入输出控制器的设备;或者,基于外设组件互连的设备;或者,基于高级数据链路控制的设备;或者,基于共享内存的虚拟设备,或者,基于中断的虚拟设备,或者,基于处理器间通知的虚拟设备,或者,基于核间通知的虚拟设备,或者,基于处理器间消息的虚拟设备,或者,基于核间消息的虚拟设备,或者,基于多核的虚拟设备,或者,基于多处理器的虚拟设备。该方法中,调试控制设备接收来自终端的调试数据,并根据调试数据确定调试信息;之后,调试控制设备根据调试信息获得调试结果,并将调试结果发送给终端。
本发明实施例中,该调试控制设备进一步包括:虚拟IO设备、调试代理任务、调试控制器和调试驱动。基于上述功能实体,如图2所示,该方法包括以下步骤:
步骤201,调试控制器接收来自终端的调试数据。
步骤202,调试驱动通过中断方式获取调试控制器中的调试数据,并解析调试数据得到调试信息。
其中,调试数据中携带了调试标识(带有调试标识的调试数据是预先对终端中承载的特定字符进行调试数据标识,以供调试测试使用),调试驱动通过识别调试数据,并根据调试数据中的调试标识得到调试信息。
本发明实施例中,调试数据的数据类型包括以太帧;调试信息的数据类型包括以太帧。
步骤203,调试驱动将调试信息发送给虚拟IO设备。
步骤204,虚拟IO设备获取调试信息,并将调试信息通知给调试代理任务。其中,虚拟IO设备可将调试信息以指定格式(即通用格式,该通用格式是一种基本的、常用的、调制代理任务更容易读取的格式)存储在虚拟IO设备的缓冲区中,由调试代理任务在缓冲区中读取所述调试信息。
步骤205,调试代理任务根据调试信息确定调试结果,并将调试结果通知给虚拟IO设备。
步骤206,虚拟IO设备将调试结果发送给终端。其中,虚拟IO设备将调试结果发送给调试驱动;由调试驱动将调试结果发送给调试控制器;由调试控制器将调试结果发送终端。
需要注意的是,在虚拟IO设备接收调试代理任务的调试结果之前,虚拟IO设备还可以接收调试信息的标准输出。
本发明实施例中,调试控制设备通过具有第一优先级的管理线程监听从终端上接收的调试数据,当接收到登录板卡命令后,创建具有第二优先级的工作线程,并由所述工作线程处理后续操作;当接收到注销板卡命令后,删除所述工作线程,并清空工作线程缓冲区。
综上所述,本发明实施例中,通过虚拟IO设备获取终端的调试信息,并将调试信息按照通用格式存储在虚拟IO设备的缓冲区中,而虚拟IO设备接收调试信息的标准输出和调试代理任务的调试结果,并将调试结果发送给终端,从而使调试连接简单、速率高、可靠性强,且方便易用。
实施例二
基于上述实施例一,本发明实施例二提供一种针对调试方法的装置实现框图,如图3所示,其中包括终端调试工具、板卡调试代理、和多个物理设备。可以看出,该调试装置相对于现有协议栈调试方案来说更简单、可靠,为了方便描述,本发明实施例中以基于以太控制器的具体实例进行描述;通过将基于以太控制器模拟一个虚拟IO设备,并基于虚拟IO设备完成系统调试。
如图4所示,为通过虚拟IO设备完成系统调试的实现原理框图,本发明实施例中,调试数据、调试信息的数据类型为以太帧(本实施例中采用以太控制器进行相应处理,则数据类型为以太帧,对于其他类型的硬件设备,数据类型可根据实际情况进行调整);本实施例中,调试控制设备包括以太(ETH)控制器、以太(ETH)驱动、虚拟IO设备和调试代理任务(标准shell)。
为了实现基于以太帧的可靠连接,终端侧工具需要和调试控制设备端的调试代理任务(shell)之间采用一种新的连接方式,这种连接通过特定承载的以太帧来识别。终端和调试控制设备调试数据采用自定义的协议格式,通过协议中携带命令完成调试控制设备登录、注销、交互调试信息等操作。相应地,如图5所示,为本发明实施例中一种调试方法流程示意图,包括以下步骤:
步骤501,登录调试控制设备。其中,需要调试的终端首先登录调试控制设备,并完成与调试控制设备的握手,然后与调试控制设备进行调试数据的传输。
需要说明的是,本发明实施例中,可通过协议中携带命令来完成调试控制设备的登录、注销、交互调试信息等操作。调试控制设备和终端之间可基于以太帧的协议数据,并采用自定义的命令格式,而且可以约定每个命令需要有响应,一次命令加上响应称为一个交互。
其中,交互类型包括信令类、操作类、标准输出类。本发明实施例中可定义如下命令格式:板卡登录(信令类),板卡登录响应(信令类),板卡注销(信令类),板卡注销响应(信令类),调试命令(操作类),调试命令响应(操作类),系统打印(标准输出类)。
实际应用中,由于每种操作均有响应,因此可定义交互序号用于记录每次操作的对应关系,并用于终端侧处理丢包、超时等情况。对于一些特殊的调试命令,由于响应数据较多,会通过多个响应包来回复,这些响应包具有相同的交互序号。交互结果用于表明对应的交互类型是否执行成功。
步骤502,终端发送调试数据到以太控制器。其中,在终端中通过承载中的特殊字段进行数据标记,表明为调试数据;通过调试软件,该终端将调试数据发送给调试控制设备的以太控制器。
步骤503,以太驱动通过中断的方式获取调试数据,并解析调试数据得到调试信息。
具体的,以太驱动通过中断的方式从以太控制器获取接收以太帧(即调试数据),并在获取到调试数据之后,根据调试数据承载类型进行帧识别和分类,只对满足匹配规则的调试数据进行处理,得到调试信息。
需要说明的是,以太驱动可设置ETH驱动接收队列,某些情况下,如果协议栈或网络任务无法接收数据,则会导致底层以太驱动的buffer(缓冲器)耗尽,从而导致以太无法接收新的数据。
为了解决这种情况,本发明实施例中可使用多队列的方式,而由于大多数以太控制器均支持多队列,考虑到实现的简单性,如果ETH驱动支持多队列,则可使用单独的队列来接收超级连接上的数据;如果ETH驱动不支持多队列,则可通过硬件层面的no buffer中断来检测这种情况,在并满足一种准则后清除所有buffer,重新开始接收。
之后,以太驱动将调试数据直接发送给虚拟IO设备,虚拟IO设备向操作系统注册其上提供标准的IO操作供代理任务操作,代理任务通过标准IO操作接口从设备获取数据,解析命令并执行。如果是其它硬件设备,也可以通过承载中的特殊字段进行数据标记,表明为调试数据。
步骤504,虚拟IO设备将调试信息按照通用格式存储在缓冲区中。其中,为了调试代理任务的读取方便,并具有通用性,虚拟IO设备将调试信息按照通用格式或常用的格式存储在缓冲区中。
需要说明的是,在Linux侧和vxWorks侧,可通过注册标准字符设备来实现虚拟IO设备;当以太驱动收到以太帧后,提取用户自定义帧,并将这些数据帧按照一定格式直接放到虚拟IO设备的接收缓冲区中。
如图6所示的虚拟IO设备及接收线程示意图,默认有一个很高优先级的“监听”线程(具有第一优先级的管理线程)负责从设备上接收数据,当接收到“登录板卡”命令后,创建一个高优先级的工作线程(具有第二优先级的工作线程),后续命令均交由工作线程处理;当接收到“注销板卡”命令后,删除工作线程,并清空工作线程缓冲区。
步骤505,调试代理任务获取虚拟IO设备缓冲区中的调试信息,并完成调试。其中,调试代理任务获取虚拟IO设备缓冲区中的调试信息后,通过常规或特定(如硬件、软件或函数等)手段对调试信息进行调试。
步骤506,调试代理任务将调试信息的标准输出重定向到虚拟IO设备。
需要说明的是,调试信息的标准输出(如通过printf输出字符、数字等)需要传输到虚拟IO设备,然后再发送到终端。
步骤507,调试代理任务发送调试结果信息给虚拟IO设备。
步骤508,虚拟IO设备发送调试结果信息给以太驱动,并通过以太控制器发送给终端。
具体的,虚拟IO设备调用API(Application Programming Interface,应用程序编程接口)发送调试结果信息给以太驱动,以太驱动将接收的调试结果信息发送到以太控制器,以太控制器将调试结果信息发送到终端上显示。
需要说明的是,考虑到简化终端侧的设计,收发数据可以额外携带一个IP头和UDP头(即伪协议栈头),该UDP/IP头仅用于包识别,终端侧仍然基于socket编程,在设备侧由以太驱动负责添加、去除这个伪协议栈头,以尽量减少软件开销。上述情况下,以太驱动可通过分析UDP头的端口号来区分是否是调试数据,从而可有效分离调试数据和正常数据。
另外,本发明实施例中,可扩展出一种基于共享内存、中断通知、处理器(核)间消息的调试控制台。例如,可使用调试代理处理器(核)向共享内存中按照交互命令格式写入相关内容,并触发中断或者核间通知,被调试处理器(核)上处理中断或通知消息的代码将数据提交虚拟IO设备,高优先级任务从共享内存上读取调试命令,解析执行命令。
可见,本发明实施例的技术方案具有以下优点,通过虚拟IO设备获取终端的调试信息,并将调试信息按照通用格式存储在虚拟IO设备的缓冲区中,而虚拟IO设备接收调试信息的标准输出和调试代理任务的调试结果,并将调试结果发送给终端,从而使调试连接简单、速率高、可靠性强,且方便易用。
实施例三
基于上述方法同样的发明构思,本发明实施例提供一种调试控制设备,包括:
调试控制器,用于接收来自终端的调试数据;并将调试结果发送给所述终端;
调试驱动,用于根据所述调试数据确定调试信息;并将调试结果发送给所述调试控制器;
虚拟IO设备,用于将所述调试信息通知给调试代理任务;并将调试结果发送给所述调试驱动;
调试代理任务,用于根据所述调试信息确定调试结果,并将调试结果发送给所述虚拟IO设备。
所述调试驱动,具体用于通过中断方式获取所述调试控制器中的调试数据,并解析所述调试数据得到所述调试信息;
所述调试数据中携带了调试标识;所述调试驱动,进一步用于识别所述调试数据,并根据所述调试数据中的调试标识得到所述调试信息。
所述虚拟IO设备,具体用于将所述调试信息以指定格式存储在所述虚拟IO设备的缓冲区中;
所述调试代理任务,具体用于在所述缓冲区中读取所述调试信息。
本发明实施例中,所述虚拟IO设备,还用于通过具有第一优先级的管理线程监听从终端上接收的调试数据,当接收到登录板卡命令后,创建具有第二优先级的工作线程,并由所述工作线程处理后续操作;当接收到注销板卡命令后,删除所述工作线程,并清空工作线程缓冲区。
本发明实施例中,所述调试数据的数据类型包括以太帧;所述调试信息的数据类型包括以太帧。
本发明实施例中,所述调试控制设备为:基于以太控制器的设备;或者,
基于串行快速输入输出控制器的设备;或者,
基于外设组件互连的设备;或者,
基于高级数据链路控制的设备。
本发明实施例中,所述调试控制设备为:基于共享内存的虚拟设备,或者,基于中断的虚拟设备,或者,基于处理器间通知的虚拟设备,或者,基于核间通知的虚拟设备,或者,基于处理器间消息的虚拟设备,或者,基于核间消息的虚拟设备,或者,基于多核的虚拟设备,或者,基于多处理器的虚拟设备。
可见,本发明实施例的技术方案具有以下优点,通过虚拟IO设备获取终端的调试信息,并将调试信息按照通用格式存储在虚拟IO设备的缓冲区中,而虚拟IO设备接收调试信息的标准输出和调试代理任务的调试结果,并将调试结果发送给终端,从而使调试连接简单、速率高、可靠性强,且方便易用。
实施例四
基于上述方法同样的发明构思,本发明实施例提供一种虚拟IO设备,如图7所示,包括:
获取模块11,用于获取调试信息;
第一发送模块12,用于将所述调试信息通知给调试代理任务;
接收模块13,用于接收所述调试代理任务根据所述调试信息确定的调试结果;
第二发送模块14,用于将所述调试结果发送给终端。
所述第一发送模块12,具体用于将所述调试信息以指定格式存储在所述虚拟IO设备的缓冲区中,由所述调试代理任务在所述缓冲区中读取所述调试信息。
本发明实施例中,所述调试信息的数据类型包括以太帧。
可见,本发明实施例的技术方案具有以下优点,通过虚拟IO设备获取终端的调试信息,并将调试信息按照通用格式存储在虚拟IO设备的缓冲区中,而虚拟IO设备接收调试信息的标准输出和调试代理任务的调试结果,并将调试结果发送给终端,从而使调试连接简单、速率高、可靠性强,且方便易用。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到本发明可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台终端设备(可以是手机,个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述的方法。
以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视本发明的保护范围。
本领域技术人员可以理解实施例中的装置中的模块可以按照实施例描述进行分布于实施例的装置中,也可以进行相应变化位于不同于本实施例的一个或多个装置中。上述实施例的模块可以集成于一体,也可以分离部署,可以合并为一个模块,也可以进一步拆分成多个子模块。
上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
以上公开的仅为本发明的几个具体实施例,但是,本发明并非局限于此,任何本领域的技术人员能思之的变化都应落入本发明的保护范围。
Claims (24)
1.一种调试方法,其特征在于,包括:
调试控制设备接收来自终端的调试数据,并根据所述调试数据确定调试信息;
所述调试控制设备根据所述调试信息获得调试结果,并将所述调试结果发送给所述终端。
2.如权利要求1所述的方法,其特征在于,所述调试控制设备包括:虚拟IO设备和调试代理任务;该方法进一步包括:
所述虚拟IO设备获取调试信息,并将所述调试信息通知给所述调试代理任务;
所述调试代理任务根据所述调试信息确定调试结果,并将所述调试结果通知给所述虚拟IO设备;
所述虚拟IO设备将所述调试结果发送给所述终端。
3.如权利要求2所述的方法,其特征在于,所述调试控制设备还包括:调试控制器和调试驱动;所述虚拟IO设备获取调试信息,包括:
所述调试控制器接收来自所述终端的调试数据;
所述调试驱动通过中断方式获取所述调试控制器中的调试数据,并解析所述调试数据得到所述调试信息;
所述调试驱动将所述调试信息发送给所述虚拟IO设备。
4.如权利要求3所述的方法,其特征在于,所述调试数据中携带了调试标识;所述调试驱动解析所述调试数据得到所述调试信息,包括:
所述调试驱动识别所述调试数据,并根据所述调试数据中的调试标识得到所述调试信息。
5.如权利要求2所述的方法,其特征在于,所述虚拟IO设备将所述调试信息通知给所述调试代理任务,包括:
所述虚拟IO设备将所述调试信息以指定格式存储在所述虚拟IO设备的缓冲区中,由所述调试代理任务在所述缓冲区中读取所述调试信息。
6.如权利要求2所述的方法,其特征在于,所述调试控制设备还包括:调试控制器和调试驱动;所述虚拟IO设备将所述调试结果发送给所述终端,包括:
所述虚拟IO设备将所述调试结果发送给所述调试驱动;由所述调试驱动将所述调试结果发送给所述调试控制器;
所述调试控制器将所述调试结果发送给所述终端。
7.如权利要求1-6任一项所述的方法,其特征在于,所述方法还包括:
所述调试控制设备通过具有第一优先级的管理线程监听从终端上接收的调试数据,当接收到登录板卡命令后,创建具有第二优先级的工作线程,并由所述工作线程处理后续操作;当接收到注销板卡命令后,删除所述工作线程,并清空工作线程缓冲区。
8.如权利要求1-6任一项所述的方法,其特征在于,所述调试数据的数据类型包括以太帧;
所述调试信息的数据类型包括以太帧。
9.如权利要求1-6任一项所述的方法,其特征在于,所述调试控制设备为:基于以太控制器的设备;或者,
基于串行快速输入输出控制器的设备;或者,
基于外设组件互连的设备;或者,
基于高级数据链路控制的设备。
10.如权利要求1-6任一项所述的方法,其特征在于,所述调试控制设备为:基于共享内存的虚拟设备,或者,基于中断的虚拟设备,或者,基于处理器间通知的虚拟设备,或者,基于核间通知的虚拟设备,或者,基于处理器间消息的虚拟设备,或者,基于核间消息的虚拟设备,或者,基于多核的虚拟设备,或者,基于多处理器的虚拟设备。
11.一种调试方法,其特征在于,包括:
虚拟IO设备获取调试信息,并将所述调试信息通知给调试代理任务;
所述虚拟IO设备接收所述调试代理任务根据所述调试信息确定的调试结果;
所述虚拟IO设备将所述调试结果发送给终端。
12.如权利要求11所述的方法,其特征在于,所述虚拟IO设备将所述调试信息通知给调试代理任务,包括:
所述虚拟IO设备将所述调试信息以指定格式存储在所述虚拟IO设备的缓冲区中,由所述调试代理任务在所述缓冲区中读取所述调试信息。
13.如权利要求11或12所述的方法,其特征在于,所述调试信息的数据类型包括以太帧。
14.一种调试控制设备,其特征在于,包括:
调试控制器,用于接收来自终端的调试数据;并将调试结果发送给所述终端;
调试驱动,用于根据所述调试数据确定调试信息;并将调试结果发送给所述调试控制器;
虚拟IO设备,用于将所述调试信息通知给调试代理任务;并将调试结果发送给所述调试驱动;
调试代理任务,用于根据所述调试信息确定调试结果,并将调试结果发送给所述虚拟IO设备。
15.如权利要求14所述的设备,其特征在于,
所述调试驱动,具体用于通过中断方式获取所述调试控制器中的调试数据,并解析所述调试数据得到所述调试信息。
16.如权利要求15所述的设备,其特征在于,所述调试数据中携带了调试标识;
所述调试驱动,进一步用于识别所述调试数据,并根据所述调试数据中的调试标识得到所述调试信息。
17.如权利要求14所述的设备,其特征在于,
所述虚拟IO设备,具体用于将所述调试信息以指定格式存储在所述虚拟IO设备的缓冲区中;
所述调试代理任务,具体用于在所述缓冲区中读取所述调试信息。
18.如权利要求14-17任一项所述的设备,其特征在于,
所述虚拟IO设备,还用于通过具有第一优先级的管理线程监听从终端上接收的调试数据,当接收到登录板卡命令后,创建具有第二优先级的工作线程,并由所述工作线程处理后续操作;当接收到注销板卡命令后,删除所述工作线程,并清空工作线程缓冲区。
19.如权利要求14-17任一项所述的设备,其特征在于,所述调试数据的数据类型包括以太帧;
所述调试信息的数据类型包括以太帧。
20.如权利要求14-17任一项所述的设备,其特征在于,所述调试控制设备为:基于以太控制器的设备;或者,
基于串行快速输入输出控制器的设备;或者,
基于外设组件互连的设备;或者,
基于高级数据链路控制的设备。
21.如权利要求14-17任一项所述的设备,其特征在于,所述调试控制设备为:基于共享内存的虚拟设备,或者,基于中断的虚拟设备,或者,基于处理器间通知的虚拟设备,或者,基于核间通知的虚拟设备,或者,基于处理器间消息的虚拟设备,或者,基于核间消息的虚拟设备,或者,基于多核的虚拟设备,或者,基于多处理器的虚拟设备。
22.一种虚拟IO设备,其特征在于,包括:
获取模块,用于获取调试信息;
第一发送模块,用于将所述调试信息通知给调试代理任务;
接收模块,用于接收所述调试代理任务根据所述调试信息确定的调试结果;
第二发送模块,用于将所述调试结果发送给终端。
23.如权利要求22所述的设备,其特征在于,
所述第一发送模块,具体用于将所述调试信息以指定格式存储在所述虚拟IO设备的缓冲区中,由所述调试代理任务在所述缓冲区中读取所述调试信息。
24.如权利要求22或23所述的设备,其特征在于,所述调试信息的数据类型包括以太帧。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN 201110029510 CN102075389B (zh) | 2011-01-27 | 2011-01-27 | 一种调试方法和设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN 201110029510 CN102075389B (zh) | 2011-01-27 | 2011-01-27 | 一种调试方法和设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN102075389A true CN102075389A (zh) | 2011-05-25 |
CN102075389B CN102075389B (zh) | 2013-02-20 |
Family
ID=44033742
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN 201110029510 Active CN102075389B (zh) | 2011-01-27 | 2011-01-27 | 一种调试方法和设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN102075389B (zh) |
Cited By (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102270131A (zh) * | 2011-06-29 | 2011-12-07 | 深圳市博康智能信息技术有限公司 | 一种调试信息统一管理系统 |
CN102884515A (zh) * | 2012-06-30 | 2013-01-16 | 华为技术有限公司 | 串口重定向处理方法、设备和系统 |
CN103259673A (zh) * | 2012-02-21 | 2013-08-21 | 深圳市东进软件开发有限公司 | 一种获取dsp装置调试信息的方法和系统 |
CN103457765A (zh) * | 2013-08-23 | 2013-12-18 | 中安消技术有限公司 | 一种网络协议调试方法、装置和系统 |
CN104021082A (zh) * | 2014-06-16 | 2014-09-03 | 贝壳网际(北京)安全技术有限公司 | 一种针对浏览器的远程调试方法及装置 |
CN105204875A (zh) * | 2014-06-11 | 2015-12-30 | 腾讯科技(深圳)有限公司 | 网页调用native功能的方法和系统 |
CN104021081B (zh) * | 2014-06-16 | 2017-03-01 | 贝壳网际(北京)安全技术有限公司 | 一种针对浏览器的调试方法及装置 |
CN109284223A (zh) * | 2017-07-21 | 2019-01-29 | 超威半导体(上海)有限公司 | 可配置的调试方法和系统 |
CN112073356A (zh) * | 2019-06-10 | 2020-12-11 | 海信视像科技股份有限公司 | 一种数据传输方法及显示设备 |
CN112882950A (zh) * | 2021-03-18 | 2021-06-01 | 北京字节跳动网络技术有限公司 | 应用调试方法及装置、电子设备和计算机可读存储介质 |
CN116541229A (zh) * | 2023-07-07 | 2023-08-04 | 西安羚控电子科技有限公司 | 一种数据驱动的通信调试方法及系统 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1901569A (zh) * | 2006-07-05 | 2007-01-24 | 华为技术有限公司 | 远程调试方法及系统 |
CN101217413A (zh) * | 2008-01-03 | 2008-07-09 | 杭州华三通信技术有限公司 | 可扩展系统中可扩展单元的集中调试系统及集中调试方法 |
CN101286883A (zh) * | 2008-05-04 | 2008-10-15 | 杭州华三通信技术有限公司 | 分布式设备中设备板卡的集中调试系统及集中调试方法 |
CN101533358A (zh) * | 2005-01-14 | 2009-09-16 | 英特尔公司 | 虚拟化虚拟机系统中的物理存储器 |
-
2011
- 2011-01-27 CN CN 201110029510 patent/CN102075389B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101533358A (zh) * | 2005-01-14 | 2009-09-16 | 英特尔公司 | 虚拟化虚拟机系统中的物理存储器 |
CN1901569A (zh) * | 2006-07-05 | 2007-01-24 | 华为技术有限公司 | 远程调试方法及系统 |
CN101217413A (zh) * | 2008-01-03 | 2008-07-09 | 杭州华三通信技术有限公司 | 可扩展系统中可扩展单元的集中调试系统及集中调试方法 |
CN101286883A (zh) * | 2008-05-04 | 2008-10-15 | 杭州华三通信技术有限公司 | 分布式设备中设备板卡的集中调试系统及集中调试方法 |
Cited By (21)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102270131A (zh) * | 2011-06-29 | 2011-12-07 | 深圳市博康智能信息技术有限公司 | 一种调试信息统一管理系统 |
CN103259673A (zh) * | 2012-02-21 | 2013-08-21 | 深圳市东进软件开发有限公司 | 一种获取dsp装置调试信息的方法和系统 |
CN103259673B (zh) * | 2012-02-21 | 2016-01-20 | 深圳市东进软件开发有限公司 | 一种获取dsp装置调试信息的方法和系统 |
CN102884515A (zh) * | 2012-06-30 | 2013-01-16 | 华为技术有限公司 | 串口重定向处理方法、设备和系统 |
WO2014000299A1 (zh) * | 2012-06-30 | 2014-01-03 | 华为技术有限公司 | 串口重定向处理方法、设备和系统 |
CN102884515B (zh) * | 2012-06-30 | 2015-09-09 | 华为技术有限公司 | 串口重定向处理方法、设备和系统 |
CN103457765A (zh) * | 2013-08-23 | 2013-12-18 | 中安消技术有限公司 | 一种网络协议调试方法、装置和系统 |
CN103457765B (zh) * | 2013-08-23 | 2017-03-01 | 中安消技术有限公司 | 一种网络协议调试方法、装置和系统 |
CN105204875B (zh) * | 2014-06-11 | 2019-08-06 | 腾讯科技(深圳)有限公司 | 网页调用native功能的方法和系统 |
CN105204875A (zh) * | 2014-06-11 | 2015-12-30 | 腾讯科技(深圳)有限公司 | 网页调用native功能的方法和系统 |
CN104021082B (zh) * | 2014-06-16 | 2017-03-01 | 贝壳网际(北京)安全技术有限公司 | 一种针对浏览器的远程调试方法及装置 |
CN104021081B (zh) * | 2014-06-16 | 2017-03-01 | 贝壳网际(北京)安全技术有限公司 | 一种针对浏览器的调试方法及装置 |
CN104021082A (zh) * | 2014-06-16 | 2014-09-03 | 贝壳网际(北京)安全技术有限公司 | 一种针对浏览器的远程调试方法及装置 |
CN109284223A (zh) * | 2017-07-21 | 2019-01-29 | 超威半导体(上海)有限公司 | 可配置的调试方法和系统 |
CN109284223B (zh) * | 2017-07-21 | 2023-10-20 | 超威半导体(上海)有限公司 | 可配置的调试方法和系统 |
CN112073356A (zh) * | 2019-06-10 | 2020-12-11 | 海信视像科技股份有限公司 | 一种数据传输方法及显示设备 |
CN112073356B (zh) * | 2019-06-10 | 2022-07-19 | 海信视像科技股份有限公司 | 一种数据传输方法及显示设备 |
CN112882950A (zh) * | 2021-03-18 | 2021-06-01 | 北京字节跳动网络技术有限公司 | 应用调试方法及装置、电子设备和计算机可读存储介质 |
CN112882950B (zh) * | 2021-03-18 | 2023-07-25 | 抖音视界有限公司 | 应用调试方法及装置、电子设备和计算机可读存储介质 |
CN116541229A (zh) * | 2023-07-07 | 2023-08-04 | 西安羚控电子科技有限公司 | 一种数据驱动的通信调试方法及系统 |
CN116541229B (zh) * | 2023-07-07 | 2023-10-31 | 西安羚控电子科技有限公司 | 一种数据驱动的通信调试方法及系统 |
Also Published As
Publication number | Publication date |
---|---|
CN102075389B (zh) | 2013-02-20 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102075389B (zh) | 一种调试方法和设备 | |
JP3270481B2 (ja) | データアダプタ | |
CN107026764B (zh) | 一种远程调试方法、设备、服务器及系统 | |
CN102006616B (zh) | 一种测试系统及测试方法 | |
CN102270168A (zh) | 自动检测串口信息的方法 | |
CN110166378B (zh) | 一种用于配网终端调试维护的通信系统及方法 | |
CN110868278B (zh) | 一种轨道交通综合监控系统通信前置机双机冗余的方法 | |
US20220327010A1 (en) | Extensible communication framework and communication method supporting multiple communication protocols | |
CN103401738B (zh) | 一种连接终端的方法及装置 | |
CN112327724A (zh) | 一种仪器接口数据监测装置 | |
CN100473199C (zh) | 一种基站断电告警的实现方法 | |
CN111769999B (zh) | 一种usb设备软件的调试方法 | |
CN101136756B (zh) | 网络远程控制主机上电自检的方法、系统和bmc芯片 | |
CN102215501A (zh) | 实现无线模块at命令自动化测试的方法 | |
JP3176576B2 (ja) | データ通信装置 | |
WO2012019376A1 (zh) | 无线通信终端网络设备功能的实现方法及装置 | |
JP2002163164A (ja) | マルチプロトコル対応エージェントシステム | |
CN117376441B (zh) | 生产制造车间的支持多协议转换的wia-fa无线接入设备及方法 | |
CN110177364A (zh) | 一种蓝牙设备的配对连接方法和装置、存储介质及电子设备 | |
WO2003042850A1 (en) | A communication method and an interface device | |
CN115037795B (zh) | 一种嵌入式设备多机通信方法 | |
JPH10222324A (ja) | ネットワークシステム | |
CN113572672B (zh) | Fc-ae-1553总线协议桥接通用异步收发装置的串口接收处理系统 | |
CN110505136B (zh) | 分层式modbus通讯系统及方法 | |
JP3001425B2 (ja) | 携帯通信システム、携帯通信装置および携帯通信方法 |
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 |