一种嵌入式软件调试的方法及其应用系统的制作方法

文档序号:6610831阅读:79来源:国知局
专利名称:一种嵌入式软件调试的方法及其应用系统的制作方法
技术领域
本发明涉及嵌入式软件调试技术,尤其涉及一种多客户端多目标单板 的嵌入式软件调试环境。
背景技术
通信系统广泛使用基于嵌入式系统的技术实现,具有针对性强,可靠 性高,成本低等特点。但是由于其体系结构特定,调试手段有限。目前的
调试方法一般是使用者通过串口或者Telnet连接到特定的嵌入式系统之 上,输入调试指令,观察屏幕上打印的结果。如果某个系统中有多个单板, 则要多次切换连接。
另外,目前的调试方法一般都不区分用户输入命令的调试级别,用户 可以输入任何调试命令,比如单板复位等命令,则可能造成意想不到的结 果;尤其当调试现场运行系统的时候这个问题比较突出。

发明内容
本发明所解决的技术问题在于提供一种嵌入式软件调试的方法及其 应用系统,以克服现有嵌入式软件系统调试技术中不能灵活切换多个目标 单板进行调试的缺点,解决现有技术中存在的对于调试指令不能区分调试 级别而可能导致严重后果的问题。
为了解决上述问题,本发明提供了一种嵌入式软件调试的方法,其特 征在于,包括以下步骤
(1)客户端向操作维护模块请求建立TCP连接,并发送注册鉴权消 息,所述操作维护模块鉴权并向所述客户端返回应答,确认该客户端当前 所处的调试级别;
(2 )所述客户端请求所述操作维护模块向不同的目标单板建立连接,
该操作维护模块向所述不同的目标单板调试代理请求建立TCP连接,并 向其发送调试级别信息;所述不同的目标单板根据调试级别信息,向所述 操作维护模块返回当前所支持的所有调试指令的列表,所述操作维护模块 则将该列表返回给客户端;
(3) 客户端保存接收到的调试指令的列表,提示使用者该客户端与 所述不同的目标单板的调试通道建立;
(4) 所述客户端接收使用者输入的调试指令并发出,经调试通道由 所述不同的目标单板调试代理接收,并根据指令内容,执行调试动作并搜 集结果,通过调试通道反馈回客户端,所述客户端从调试通道中接收结果, 并将其显示在界面上。
本发明所述的方法,其中,所述步骤(l)中的客户端向操作维护模 块请求建立TCP连接,为客户端向操作维护模块的监听端口请求建立TCP 连接。
本发明所述的方法,其中,步骤(l)中所述注册鉴权消息,包括 合法的用户名和密码。
本发明所述的方法,其中,步骤(4)中所述客户端接收使用者输入 的调试指令并发出,为所述客户端以下拉列表方式动态提示使用者可能的 输入,所述使用者可完整输入调试指令,也可通过键盘或鼠标选择输入调 试指令。
本发明所述的方法,其中,所述客户端,包括专用客户端和Telnet 客户端,所述专用客户端基于图形化用户界面,所述Telnet客户端基于命 令行界面。
本发明所述的方法,其中,所述步骤(4)进一步包括
所述专用客户端执行用户定制脚本,经调试通道由所述不同的目标单 板调试代理接收,并根据脚本内容,执行调试动作并搜集结果,通过调试 通道反馈回客户端,所述客户端从调试通道中接收结果,进行关键字模式 匹配,按照设定匹配条件显示在界面上,所述专用客户端可以不断的自动
重复执行上述步骤,并可以根据用户已有的输入以及当前连接的目标单 板,动态提示用户可能的调试指令。
本发明所述的方法,其中,所述步骤(3)进一步包括
所述不同的目标单板驻留的目标单板调试代理支持不同的调试通道。
为了解决上述问题,本发明还提供了 一种嵌入式软件调试的应用系 统,其特征在于,由多个客户端、操作维护模块和多个目标单板组成;其 中,
所述客户端,用于向操作维护模块请求建立TCP连接,并发送注册 鉴权消息;还用于保存接收到的调试指令的列表,提示使用者该客户端与 所述不同的目标单板的调试通道建立;以及用于发出使用者输入的调试指 令,并从调试通道中接收结果,并将其显示在界面上;
所述操作维护模块,用于接收所述客户端的请求和消息,鉴权并向所 述客户端返回应答,确认该客户端当前所处的调试级别;还用于向所述不 同的目标单板调试代理请求建立TCP连接,并向其发送调试级别信息, 接收返回的当前所支持的所有调试指令的列表并返回给客户端;
所述目标单板,其驻留的目标单板调试代理用于接收并执行所述客户 端发出的调试指令,并通过建立的调试通道将执行调试动作后的搜集结果 反馈回客户端。
本发明所述的应用系统,其中,所述客户端,进一步用于向操作维护 模块的监听端口请求建立TCP连接。
本发明所述的应用系统,其中,所述客户端发送的注册鉴权消息,包 括合法的用户名和密码。
本发明所述的应用系统,其中,所述客户端,包括专用客户端和 Telnet客户端,所述专用客户端基于图形化用户界面,所述Telnet客户端 基于命令行界面。
上述的应用系统,其中,所述专用客户端,为通过可视化标签页控件, 支持在同一用户界面上,同时连接并调试多个目标单板;支持用户脚本,
通过定制用户脚本可以完成自动化批处理调试;还可以将调试结果自动保 存在文件中;对接收的调试结果进行关键字模式匹配,按照设定匹配条件 显示;并可以根据用户已有的输入以及当前连接的所述目标单板,动态提 示用户可能的调试指令。
本发明所述的应用系统,其中,所述不同的目标单板,其驻留的目标 单板调试代理支持不同的调试通道。
本发明与现有技术相比,由于本发明所述嵌入式软件调试方法引入客 户端注册鉴权的过程,并增加了对调试等级的支持,严格控制了使用者的 调试权P艮,避免现场问题在调试过程中由于误操作而引起的其它更严重的 故障。
进一步地,由于本发明采用通过操作维护模块建立多个调试通道的方 法,可支持多客户端多目标单板的同时调试,提高了调试效率。
进一 步地,由于本发明中客户端所支持的调试指令都由目标单板调试 代理返回的指令列表中获取,并动态提示使用者调试指令,使得客户端和 目标单板可以独立升级,且使用者无需记忆大量的调试指令。
进一步地,由于本发明客户端支持用户脚本和调试结果自动保存,可 以进4亍自动化测试。


图l是才艮据本发明的一个实施例的系统结构示意图; 图2是根据本发明的一个实施例的流程示意图。
具体实施例方式
本发明的目的是介绍一种嵌入式软件调试的方法及其应用系统,以克 服现有嵌入式软件系统调试技术中不能灵活切换多个目标单板进行调试 的缺点,解决现有技术中存在的对于调试指令不能区分调试级别而可能导 致严重后果的问题。以下对具体实施方式
进行详细描述,但不作为对本发 明的限定。
本发明实施例所述嵌入式软件调试方法所应用系统主要由以下几部
分组成
客户端,用户通过客户端下发调试指令,接收并显示调试结果。其中, 客户端又可分为专用客户端和Telnet客户端,专用客户端基于图形化用户 界面,Telnet客户端基于命令行界面。客户端通过TCP/IP协议,连接到 操作维护模块。
操作维护模块,接受客户端的注册请求,并向目标单板发起连接,客 户端通过其建立起和目标单板的通道。操作维护模块通过TCP/IP协议以 太网连接目标单板。
目标单板,是调试的对象,接收并执行客户端的调试指令,并回送调 试结果。目标单板驻留目标单板调试代理。
进一步地,本发明所述的专用客户端通过可视化标签页控件,支持在 同一用户界面上,同时连接并调试多个目标单板。
进一步地,本发明所述的专用客户端支持用户脚本,通过定制脚本可 以完成自动化批处理调试。
进一步地,本发明所述的专用客户端可以将调试结果自动保存在文件中。
进一步地,本发明所述的专用客户端可对接收的调试结果进行关^:字 模式匹配,按照设定匹配条件显示。
进一步地,本发明所述的专用客户端可以根据用户已有的输入以及当 前连接的目标单板,动态提示用户可能的调试指令。
进一步地,本发明所述的操作维护模块支持对用户的鉴权,只有通过 鉴权的用户才允许进行调试。
进一步地,本发明所述的操作维护模块支持调试级别的控制,不同的 调试级别对目标单板的控制能力不同。
进一步地,本发明所述的目标单板调试代理能够识别不不同的调试级
别,并将该级别下支持的调试指令返回给客户端。为使上述本发明实施例所述的应用系统的目的、技术方案和优点更加 清楚,下面将结合附图对本发明实施例所述的应用系统作进一步地详细描述
如图1中,110是Telnet客户端,运行于一台PC上,120是专用客户 端,运行于一台PC上;140是一个使用者将要进行调试的嵌入式系统; 141是操作维护模块,它运行在一块单板之上,支持TCP/IP协议;142, 144, 146是三块目标单板A、 B、 C,支持TCP/IP协议;143, 145, 147 是运行在目标单板之上的调试代理。图中,已经建立起三条客户端与目标 单板调试代理之间的调试通道(如虚线所示)。
本发明实施例所述的嵌入式软件调试方法主要步骤如下 第一步,客户端向操作维护模块的监听端口请求建立起TCP连接, 客户端向操作维护模块发送注册鉴权消息(包含合法的用户名和密码), 操作维护模块鉴权通过向客户端返回应答,并确认客户端当前所处的调试 级别;第二步,客户端请求操作维护模块向目标单板建立连接(包含可寻址 到目的单板的信息),操作维护模块向目标单板调试代理请求建立起TCP 连接,并向其发送调试级别信息;第三步,目标单板根据调试级别,向操作维护模块返回当前所支持的 所有调试指令的列表(包括参数),操作维护模块则将该列表完整返回给 客户端;第四步,客户端保存接收到的调试指令,提示使用者与目标单板的调 试通道建立成功;第五步,使用者输入调试指令,客户端以下拉列表方式动态提示使用 者可能的输入,使用者可完整输入指令,也可通过4建盘或鼠标选择输入;第六步,客户端发出调试指令,经由调试通道,该指令由目标单板调 试代理接收。目标单板调试代理根据指令内容,执行相应的调试动作,并
搜集结果,通过调试通道反馈到客户端;
第七步,客户端从调试通道中接收结果,并将其显示在界面上。
进一步地,本发明所述的专用客户端可执行用户定制的脚本,可以不 断的自动重复上述第六步和第七步。
进一步地,通过操作维护模块,可以同时建立起多个客户端和多个目 标单板调试代理之间的调试通道,同时进行调试(同一 目标单板调试代理 只能支持一个调试通道)。
为使上述本发明实施例所述的方法的目的、技术方案和优点更加清 楚,下面将结合附图对本发明实施例所述的方法作进一步地详细描述
图2中,客户端220首先向操作维护模块241注册鉴权,操作维护模 块241鉴权后,客户端220通过操作维护模块241建立起与目标单板调试 代理243间的调试通道,然后客户端220可通过调试通道向目标单板调试 代理243发出调试指令,并接收处理返回的结果,其详细步骤为
步骤S201:客户端向操作维护模块发出注册和鉴权请求;
步骤S202:操作维护模块校验该请求的合法性,告知客户端鉴权通 过,并根据客户端的注册信息,确定该客户端的调试级别;
步骤S203:客户端向操作维护模块请求连接目标单板;
步骤S204:操作维护模块向目标单板调试代理请求建立连接,并告 知当前的调试级别;
步骤S205:目标单板调试代理允许该请求,并根据调试级别,返回 当前可以执行的所有调试命令列表;
步骤S206:操作维护模块将收到的调试命令列表返回给客户端,调 试通道建立;
步骤S207:客户端向操作维护模块发出调试命令;
步骤S208:操作维护;f莫块透传该,试命令给目标单板调试代理;
步骤S209:如果该调试命令在当前调试级别允许运行,则目标单板 调试代理执行该调试命令;步骤S210:目标单板调试代理将执行结果返回给操作维护模块;步骤S211:操作维护模块透传执行结果给客户端,客户端在用户界 面上显示。本发明实施例所述的方法及其应用系统与现有技术相比的效果在于 1 、由于本发明所述嵌入式软件调试方法引入客户端注册鉴权的过程, 并增加了对调试等级的支持,严格控制了使用者的调试权限,避免现场问 题在调试过程中由于误操作而引起的其它更严重的故障;2、 由于本发明采用通过操作维护模块建立多个调试通道的方法,可 支持多客户端多目标单板的同时调试,提高了调试效率;3、 由于本发明中客户端所支持的调试指令都由目标单板调试代理返 回的指令列表中获取,并动态提示使用者调试指令,使得客户端和目标单 板可以独立升级,且使用者无需记忆大量的调试指令;4、 由于本发明客户端支持用户脚本和调试结果自动保存,可以进行 自动化测试。当然,本发明还可有其他多种实施例,在不背离本发明精神及其实质 的情况下,熟悉本领域的技术人员可根据本发明做出各种相应的改变和变 形,但这些相应的改变和变形都应属于本发明所附的权利要求的保护范 围。
权利要求
1、一种嵌入式软件调试的方法,其特征在于,包括以下步骤(1)客户端向操作维护模块请求建立TCP连接,并发送注册鉴权消息,所述操作维护模块鉴权并向所述客户端返回应答,确认该客户端当前所处的调试级别;(2)所述客户端请求所述操作维护模块向不同的目标单板建立连接,该操作维护模块向所述不同的目标单板调试代理请求建立TCP连接,并向其发送调试级别信息;所述不同的目标单板根据调试级别信息,向所述操作维护模块返回当前所支持的所有调试指令的列表,所述操作维护模块则将该列表返回给客户端;(3)客户端保存接收到的调试指令的列表,提示使用者该客户端与所述不同的目标单板的调试通道建立;(4)所述客户端接收使用者输入的调试指令并发出,经调试通道由所述不同的目标单板调试代理接收,并根据指令内容,执行调试动作并搜集结果,通过调试通道反馈回客户端,所述客户端从调试通道中接收结果,并将其显示在界面上。
2、 如权利要求1所述的方法,其特征在于,所述步骤(1 )中的客户 端向操作维护模块请求建立TCP连接,为客户端向操作维护模块的监听 端口请求建立TCP连接。
3、 如权利要求1所述的方法,其特征在于,步骤(1)中所述注册鉴 权消息,包括合法的用户名和密码。
4、 如权利要求l所述的方法,其特征在于,步骤(4)中所述客户端 接收使用者输入的调试指令并发出,为所述客户端以下拉列表方式动态提 示使用者可能的输入,所述使用者可完整输入调试指令,也可通过键盘或 鼠标选择输入调试指令。
5、 如权利要求1所述的方法,其特征在于,所述客户端,包括专 用客户端和Telnet客户端,所述专用客户端基于图形化用户界面,所述 Telnet客户端基于命令行界面。
6、 如权利要求5所述的方法,其特征在于,所述步骤(4)进一步包括所述专用客户端执行用户定制脚本,经调试通道由所述不同的目标单 板调试代理接收,并根据脚本内容,执行调试动作并搜集结果,通过调试 通道反馈回客户端,所述客户端从调试通道中接收结果,进行关键字模式 匹配,按照设定匹配条件显示在界面上,所述专用客户端可以不断的自动 重复执行上述步骤,并可以根据用户已有的输入以及当前连接的目标单 板,动态提示用户可能的调试指令。
7、 如权利要求l所述的方法,其特征在于,所述步骤(3)进一步包括所述不同的目标单板驻留的目标单板调试代理支持不同的调试通道。
8、 一种嵌入式软件调试的应用系统,其特征在于,由多个客户端、 操作维护模块和多个目标单板组成;其中,所述客户端,用于向操作维护模块请求建立TCP连接,并发送注册 鉴权消息;还用于保存接收到的调试指令的列表,提示使用者该客户端与 所述不同的目标单板的调试通道建立;以及用于发出使用者输入的调试指 令,并从调试通道中接收结果,并将其显示在界面上;所述操作维护模块,用于接收所述客户端的请求和消息,鉴权并向所 述客户端返回应答,确认该客户端当前所处的调试级别;还用于向所述不 同的目标单板调试代理请求建立TCP连接,并向其发送调试级别信息, 接收返回的当前所支持的所有调试指令的列表并返回给客户端;所述目标单板,其驻留的目标单板调试代理用于接收并执行所述客户 端发出的调试指令,并通过建立的调试通道将执行调试动作后的搜集结果 反馈回客户端。
9、 如权利要求8所述的应用系统,其特征在于,所述客户端,进一 步用于向操作维护模块的监听端口请求建立TCP连接。
10、 如权利要求8所述的应用系统,其特征在于,所述客户端发送的 注册鉴权消息,包括合法的用户名和密码。
11、 如权利要求8所述的应用系统,其特征在于,所述客户端,包括 专用客户端和Telnet客户端,所述专用客户端基于图形化用户界面,所述 Telnet客户端基于命令行界面。
12、 如权利要求11所述的应用系统,其特征在于,所述专用客户端, 为通过可视化标签页控件,支持在同一用户界面上,同时连接并调试多个 目标单板;支持用户脚本,通过定制用户脚本可以完成自动化批处理调试; 还可以将调试结果自动保存在文件中;对接收的调试结果进行关键字模式 匹配,按照设定匹配条件显示;并可以根据用户已有的输入以及当前连接 的所述目标单板,动态提示用户可能的调试指令。
13、 如权利要求8所述的应用系统,其特征在于,所述不同的目标单 板,其驻留的目标单板调试代理支持不同的调试通道。
全文摘要
本发明公开一种嵌入式软件调试的方法及其应用系统,其方法客户端向操作维护模块请求建立TCP连接,并发送注册鉴权消息,操作维护模块鉴权并向客户端返回应答,确认当前所处调试级别,同时向目标单板建立TCP连接,并向其发送调试级别信息;目标单板根据级别信息,向模块返回当前所支持的所有调试指令列表并返回给客户端;客户端保存接收到列表,提示使用者该客户端与单板的调试通道建立;客户端接收输入的调试指令并发出,经通道由目标单板调试代理接收,并根据指令内容执行调试动作搜集结果通过通道返回客户端,客户端从调试通道中接收结果将其显示。本发明克服系统调试中不能切换多个目标单板的缺点,解决存在对于调试指令不能区分调试级别的问题。
文档编号G06F11/36GK101340317SQ200710127280
公开日2009年1月7日 申请日期2007年7月5日 优先权日2007年7月5日
发明者王井贵, 剑 程, 黄少军 申请人:中兴通讯股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1