基于usb的交叉调试器的开发与设计new

基于usb的交叉调试器的开发与设计new

ID:33926073

大小:226.58 KB

页数:3页

时间:2019-02-28

基于usb的交叉调试器的开发与设计new_第1页
基于usb的交叉调试器的开发与设计new_第2页
基于usb的交叉调试器的开发与设计new_第3页
资源描述:

《基于usb的交叉调试器的开发与设计new》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、万方数据118福建电脑2009年第7期基于USB的交叉调试器的开发与设计高阳,达力,周剑扬(厦fl大spot&科学与技术学院福建厦门361005)【摘要】:软件调试是软件开发过程中的一个重要环节,对于嵌入式系统开发来说,调试器尤为重要。本文在研究GDB嵌入式交叉调试器和LEON3处理器的体系构架的基础上.给出了一种基于LEON3处理嚣内王USB接口的交又调试器的开发和实现方法,该设计实现了GDB能通过USB接口迅速下栽程序到目标机并进行调试的功能,加快了调试速度,并使得开发更加方便.缩短了开发周期

2、。【关键词】:交叉调试器USBDCLARCDSU嵌入式1.引言在嵌入式系统软件开发过程中.为了缩短嵌入式软件开发的时问和提高嵌入式软件的质量.对调试器的要求越来越高.交叉调试是嵌入式系统开发中普遍采用的调试方法。目前支持片上调试的处理器类型也越来越多,如ARM,LEON,POWERPC处理器等,调试方式也出现了多样化。如串II,JTAG,网络.USB等。。作者所在的实验室设计完成了LEON系列处理器交叉调试器ARCDSU。在吴志雄发表文章中已经完成了通过串口进行调试的ARCDSU调试器.在戴祖彬发

3、表文章中已经完成了通过网络进行调试的ARCDSU调试器。本文将应用USB2.0通讯技术提供的调试支持.并针对ARCLE0lN3处理器平台给出一种嵌入式交叉调试软件的设计与实现。2.交叉调试系统的总体结构交叉调试系统由主机调试器、目标机上的调试代理、调试协议3大部分组成.其体系结构如图1所示。图中主机调试器主要实现对源文件、目标文件和符号表的访问处理.接收用户输入的调试命令.并根据调试协议封装成调试命令请求包发送给调试代理。同时接收调试代理返回的调试信息,以获取目标程序的当前运行状态。目标机上的调试

4、代理负责根据调试协议接收并解析调试命令。监控目标程序的运行状态,将目标程序状态信息返回主机端。调试协议则规定了调试命令和调试信息的数据格式及通信过程。图l交叉调试系统体系结构此结构的特点是主机端环境为LINUX操作系统.主机调试器采用GDB+ARCDSU的方案,由GDB完成对源文件、目标文件和符号表的访问处理和与用户的交互.由ARCDSU程序封装对交叉调试的支持:调试协议是ARCDSU程序与调试代理程序之间的通信规范.此协议遵循ARCLEON3芯片手册规定的调试过程及步骤。3.调试协议设计3.1总

5、述USBDCL(USBDebugCommunicationLink)为USB2.0和AMBA—AHB之问的连接提供了连接接口.同时还需要一个外部全高速UTMI(UniversalTransceiverMacrocellInterface)与USB相连。它们之间通过一个8位的接口连接。USBDCL是AHB的主设备。它依据USB端口之问协议,提供了读写全部AHB地址空间的通道。USBDCL与UTMI的连接如图2所示。r一一一一一一一一一一一1一u⋯l山U圳I■——●I1.⋯⋯⋯一一.I图2USBDCL

6、与外部唧1的连接3.2操作3.2.1系统概要图2显示了USBDCL的内部结构.这部分筒要地描述各个模块的功能。SNE(TheSpeedNegotiationEngine)通过监听USB连接器上的VBUS来检测连接情况。当检测到电压值稳定在5V时。SNE会等待重置并启动高速协议。当高速协议和重置进程完成后SNE会把速度选择模式通知SIE(SerialInterfaceEngine)。SIE在SNE通知重置进程完成后。sIE就可以启用了。SIE等待包到达后。根据USB2.0规范进行处理。从一个端口接收

7、的数据被储存在BLOCKRAM里的端口缓冲区。AlE从该缓冲区读数据。如果该缓冲区中有从端口O接收的数据。设备请求会被直接处理.而响应情况会存储在1N的端口0。下一个IN令牌一到就会通知负责传送数据到主机的SIE。设备请求不会通过AHB总线来传送。‘,M‘rxx,'A∞TER¨S£L£cTSUSPENDMDPuo。EfIo)XCn3日胤R£SETD^1^H—m'CLKLINE5TATEc,m●IxRE^OYRXV,~,.JORXACTⅣEDA'TAOUTrr铆R.XE.RROR图3USBDCL内部

8、结构框图AHB命令是通过端口1来接收数据.当确定是AHB命令时,AIE会通过AHB总线来传送数据。读命令经由OUT端口l以相同的方式被传送到端口0。写命令同样经由0UT端口l输入。并在总线上立即执行。写命令没有回应。每个端口都有两个缓冲区.每个缓冲区可以储存下载的最大有效负荷的数据包。如果一个包已经被接收或传送.USBDCL会自动改变这两个缓冲区的内容。若以高速模式进行数据包的传送,那么当另外一个缓冲区是空的时候。OUTt阳n柏cti伽会收万方数据2009年第7期福建电脑119到A

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。