嵌入式互联网软件远程调试环境的设计与实现外文翻译资料

 2022-12-09 10:20:19

英语原文共 5 页,剩余内容已隐藏,支付完成后下载完整资料


嵌入式互联网软件远程调试环境的设计与实现

光荣李,柴德克林,基辅孔和金南金

嵌入式软件研究团队

电子电讯研究所

大韩民国305-350号Taejon Yusong-Gu Kongong-Dong 161

{kylee,cdlim,kskong,hnkim}@etri.re.kr

摘要:有必要使用开发工具开发用于互联网设备的嵌入式实时应用软件。在本文中,我们描述了为嵌入式互联网应用程序构建的Q (QPlus)实时内核的集成远程调试环境。称为Q Esto的远程开发工具包由几个独立的支持工具组成:交互式外壳,远程调试器,资源监视器,目标管理器和调试代理。在主机上使用远程调试器,开发人员可以在目标运行时系统上生成和删除任务。它还可以附加到从应用程序或交互式shell生成的已经运行的任务。应用程序代码可以被视为C源代码,也可以看作是程序集代码。它包含用于源,寄存器,本地/全局变量,堆栈帧,内存,事件跟踪等的各种显示窗口。目标管理器实现由Esto工具共享的com-mon函数,例如主机目标通信,对象文件加载以及目标驻留主机工具的内存池和目标系统符号表的管理等等。这些功能称为OPEN C API,它们大大提高了Esto Toolset的可扩展性。调试代理是目标系统中实时操作系统的守护进程。它从主机工具获取请求,包括调试器,解释请求,执行它们并将结果发送到主机。

1引言

随着互联网的快速发展,诸如Web TVs,PDA和Web电话的许多设备开始直接连接到互联网。 这些设备需要实时操作系统(RTOS)来支持在其上运行的复杂实时应用程序。 由于缺乏足够的工具,特别是调试器,开发这种称为嵌入式互联网应用的实时应用很困难[1-3]。 目前市场上的许多软件开发工具对构建实时系统是无效的,因为这些工具不支持实时功能[4,5]。 虽然有几个实时软件开发工具可以提供这些设施,但它们对资源有限的目标系统造成重负荷,例如。 内存,CPU性能,I / O等[6-8]。 因此,适用的实时软件开发工具只使用目标系统资源的一小部分,并提供平台独立性。需要轻松开发在当今智能互联网设备上运行的非常复杂的实时应用[9,10]。

在本文中,我们介绍了我们的方法,用于微型计算机嵌入式系统(如互联网应用程序)的调试环境。 该调试系统是一个远程调试环境,包括嵌入式系统作为目标系统。 我们的环境的主要特点如下:

- 易于使用的用户界面

- 使用目标管理器在主机上最小化目标的访问时间

- 使用模块化和分层架构来定制或扩展调试工具变得简单

有效地呈现内容信息,使用户总是知道他在哪里,以及他到达那里

戴维森和S.L. Min(Eds。):LCTES 2000,LNCS 1985,pp。199-203,2001.copy;Springer-Verlag Berlin Heidelberg 2001

200 K. Lee et al.

2 Q Esto远程调试环境

图1是远程调试环境的整体图。 我们在Windows NT中实现了远程调试环境的原型环境,使用Visual C 和GNU gcc编译器。 为了与目标系统进行通信,我们为Windows NT使用了一个ONCRPC兼容的RPC。 目标操作系统是在强ARM 110处理器上运行的Q 。

CompilerCross

DebuggerRemote

ShellInteractive

Applications

Utilities

Target Shell

Libraries

Debug Agent

图1. Q Esto的结构

在过去,远程开发环境的结构是每个工具管理连接到目标系统和访问目标资源的所有工具,而不需要工具和目标系统之间的任何调解器。 在这些结构中,如果工具尝试同时访问目标系统,则目标系统具有非常高的通信开销。 而且,一个工具的用户能够在目标系统中产生一些严重故障,因此,其他工具的用户无法访问目标系统,直到目标系统从故障中恢复为止。 目前,我们的方法是将主要工具和目标系统之间的中间组件称为目标管理器和调试代理。 在主机上,目标管理员调停主机 - 目标通信,只管理一个从主机到目标的通信通道,并管理由主机工具共享的符号表,常驻主机内存池等。 我们认为这个结构比过去更有效率,因为当前的结构可以相对地保存目标资源和通信带宽。

远程调试环境的设计与实现201

3设计和实现远程调试环境

过去,建立调试器和RTOS之间的通信需要为每个调试器和每个RTOS独特的实现。 因此,每个新的RTOS和每个新的调试器都需要进行持续的重新开发工作。 为了解决这个问题,我们的环境采用了调试器软件与RTOS进行通信的通用目标接口。

Q Esto Remote deubugger使用具有增强功能的图形用户界面。 我们可以打开尽可能多的窗户,并将其安排在我们的屏幕上,以满足我们的需求。 图2显示了Output窗口,Code窗口,Memory窗口,Register窗口,Callstack窗口,Variable窗口和Watch窗口。

图2. Q Esto调试器GUI

Q Esto目标管理器是主机系统的关键组件,也是主机驻留工具的基础。 每个目标有一个目标经理; 所有主机工具通过此组件访问目标,该组件通过将每个请求分解为目标代理所需的事务来满足该工具的功能。 目标管理员管理目标连接的详细信息 - 无论选择哪种方法 - 使得各个工具不需要关注主机到目标的传输机制。 在某些情况下,目标管理器将工具的请求直接传递给目标代理。 在其他情况下,请求可以在主机上的目标管理器中完全实现。 目标管理器还从专用于主机工具的池中分配目标内存,并在主机上管理目标的符号表。 这允许目标管理员在将新模块下载到目标之前,在主机系统上进行动态链接(地址解析)的大部分工作,从而大大减少了总目标请求。 Q Esto目标管理器有四个子系统,符号表管理器,对象模块管理器,主机池内存管理器和通信后端管理器。 图3显示了目标管理器结构。

图3 Q Esto目标经理

如图4所示,Q Esto调试代理是响应来自主机工具的请求所必需的核心服务的紧凑实现。代理响应目标管理器从主机工具发送的请求。这些请求包括内存事务,断点通知服务和其他目标事件,虚拟I / O支持和任务控制。调试代理包含UDP / IP的轻量级实现,它支持基于RPC的消息传递协议,称为Q 调试接口(QDI)。 QDI协议由ETRI在可重构RTOS开发项目下开发,称为Q 。该协议旨在提供目标独立性,并在目标中使用最少量的资源。响应来自主机工具(包括调试器)的请求所需的服务的核心是最低限度。这些请求包括内存事务,断点设置,事件通知服务和任务控制。 QDI协议使用外部数据表示(XDR)进行数据传输[12]。

图 4. Q Esto调试代理

远程调试环境的设计与实现203

4结论与未来作品

本文介绍了开发互联网设备等嵌入式系统的实时软件开发环境。我们提出了支持高效交叉开发的远程调试环境的结构和功能。

我们将升级标准协议,为开发环境提供更高的效率。减少协议开销的研究是一个重要问题。主机和目标之间的消息量对开发工具的性能有很大的影响。在这方面,QTI和QDI协议中的功能数量将会减少。

目前,远程调试器环境仅适用于Stron-gARM评估板[11]。我们将把它移植到另一个CPU板上,以便提高工具的可移植性,并为我们的开发工具Q Esto提供更多的通用性。具有硬件独立性和RTOS独立性的嵌入式软件开发工具在后PC时代将变得更加重要。

参考

1.Jack G. Ganssle,“现代嵌入式系统调试器”嵌入式系统编程,1998年11月。

2.Jonathan B. Rosenberg,Debuggers如何工作,John Wiley&Sons,1996。

3.Hideyuki Tokuda和Makoto Kotera,“ARTS内核的实时工具集”,

Proceedings of Real-Time Systems Symposium,1988。

4.Eldad Maniv,“实时软件调试的新趋势”,实时杂志99-2(http://www.realtime-info.com),第23-25页,1999年。

5.T. Yasuda,K.Ueki,“A Debugging Technique Using Event History”,Proc。的“实时计算系统与应用会议”,第137-141页,1994年。

6.WindRiver,Tornado用户指南,1995。

7.WindRiver,Tornado API Guide 1.0.1,1997。

8.Microtec,Spectra Boot和VRTX Real-Time OS,1996。

9.Eun-Hyang Lee等人,“交叉软件的交叉调试架构”,国际通信技术会议(ICCT),1996年。

10.YoungJoon Byun等人,“交叉开发环境中的高级别CHILL调试系统”,第六届Euromicro并行与分布研讨会论文集

加工,1998年。

11.Intel,StrongARM EBSA-285评估委员会,1998年10月。

12.Norishi Iga等人,“实时软件开发系统RTIplus”,Proceeding of the第12届TRON项目国际研讨会,1995年。

剩余内容已隐藏,支付完成后下载完整资料


资料编号:[27799],资料为PDF文档或Word文档,PDF文档可免费转换为Word

原文和译文剩余内容已隐藏,您需要先支付 30元 才能查看原文和译文全部内容!立即支付

以上是毕业论文外文翻译,课题毕业论文、任务书、文献综述、开题报告、程序设计、图纸设计等资料可联系客服协助查找。