基于vxworks的嵌入式软件远程调试

基于vxworks的嵌入式软件远程调试

ID:34560952

大小:309.49 KB

页数:6页

时间:2019-03-07

基于vxworks的嵌入式软件远程调试_第1页
基于vxworks的嵌入式软件远程调试_第2页
基于vxworks的嵌入式软件远程调试_第3页
基于vxworks的嵌入式软件远程调试_第4页
基于vxworks的嵌入式软件远程调试_第5页
资源描述:

《基于vxworks的嵌入式软件远程调试》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、总第162期舰船电子工程Vol.27No.62007年第6期ShipElectronicEngineering1513基于vxWorks的嵌入式软件远程调试鲁爱国万曦(武汉数字工程研究所武汉430074)摘要在嵌入式软件开发中,开发机与嵌入式软件往往分布在不同的平台中。嵌入式软件的远程调试是嵌入式软件开发过程中一个重要的问题。从嵌入式软件远程调试的原理出发,深入探讨vxWorks操作系统的两种调试方式及其特性和差异。关键词嵌入式;vxWorks;远程调试中图分类号TP31通信模块(包括简单的设备驱动)和多任务调试接1引言口,并改写异常处

2、理的有关部分。调试是软件开发过程中必不可少的环节,通用的桌面操作系统与嵌入式操作系统在调试环境上存在着明显的差别。在通用的桌面操作系统中,调试器与被调试的程序往往是运行在同一台机器、相同的操作系统上的两个进程,调试进程通过操作系统专门提供的调用接口控制、访问被调试进程,我们把这种调试方式称为本地调试。在嵌入式操作系统中,为了向系统开发人员提供灵活、方便的调图1目标操作系统与调试器交互工作图试界面,调试器仍运行于通用的桌面操作系统环境(1)调试器与目标操作系统通过指定通信端中,被调试的程序则运行于基于特定硬件平台的嵌口(串口、网卡、并口)

3、遵循远程调试协议进行通入式操作系统(即目标操作系统)环境中,这种调信。试方式我们称之为远程调试。(2)目标操作系统所有异常处理最终都要转远程调试系统由三部分组成:主机上的调试向通信模块,告知调试器当前异常号,调试器据此器,目标机上调试器和远程调试协议。三部分相辅向用户显示被调试程序产生了哪一类异常。相成,共同形成远程调试系统,完成软件系统的调(3)调试器控制、访问被调试程序:调试器的试功能。这类请求实际上都将转换成对被调试程序的地址空间或目标平台的某些寄存器的访问,目标操作系2远程调试原理统接收到这样的请求可以直接处理。(4)调试器识别

4、有关被调试程序的多任务信息并控制某一特定任务:由目标操作系统提供相关vxWorks操作系统通过代理方式进行系统调接口。目标系统根据调试器发送的关于多任务的试,即在插桩的基础上增加了对接受到的字节码的请求,调用该接口提供相应信息或针对某一特定任分析模块。插桩是指在目标操作系统和调试器内务进行控制,并返回信息给调试器。分别加入某些功能模块,二者互通信息来进行调目标操作系统与调试器交互工作如图1所示。试。vxWorks操作系统提供支持远程调试协议的3收稿日期:2006年12月20日,修回日期:2007年4月2日作者简介:鲁爱国,男,工程师,研

5、究方向:软件复用与软件构件技术。万曦,女,研究方向:指挥控制系统软件开发。©1994-2009ChinaAcademicJournalElectronicPublishingHouse.Allrightsreserved.http://www.cnki.net152鲁爱国等:基于vxWorks的嵌入式软件远程调试总第162期码的任务上下文相关;3远程调试方法(3)临时断点和任务断点相关,只起一次作用;远程调试的调试方法可概括为如下过程:设断4.2vxWorks的两种调试模式点-程序暂停-观察程序状态-继续运行。针对Tornado支持系统

6、级和任务级调试两种调试模某些调试器提供的监视点(tracepoint)这一特殊调式。在vxWorks启动运行后,启动调试器,先在需试手段,目标方的插桩在原有的基础上被改进,称要调试的启动应用代码处设置断点,在选择菜单为代理(agent)。调试时用户首先在调试器设置监“Debug->Run”命令启动对话框,手动运行应用视点,以源代码表达式的形式指定感兴趣的对象入口程序(也可在Shell中直接运行),即进入vx2名。为了减少代理解析表达式的工作,调试器将表Works调试环境。达式转换为简单的字节码,传送至代理。程序运行需要注意的是,这样做和

7、系统自启动有点区后命中监视点、唤醒代理,代理根据字节码记录用别。系统自启动,应用代码在usrRoot任务上下文户所需数据存入特定缓冲区(不仅仅是表达式的中运行,任务优先级为0;而手动启动,创建了一个最终结果,还有中间结果),令程序继续运行;这一调试任务运行应用代码,任务优先级为100。这种步骤无需与调试器通信。当调试器再度得到控制区别可能导致一些高级别的应用任务在整个启动时,就可以发出命令,向代理查询历次监视记录。过程完成前运行,调试需要考虑这种影响。一个解决方法就是,一进入应用入口就使用taskPrioritySet4vxWorks的

8、远程调试函数提升调试任务优先级为最高0级。(1)系统级调试模式vxWorks操作系统的集成开发环境为Tornado,因为Tornado交叉调试环境需要通信通道支Tornado使用GDB作为底层调试工具,上层

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

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

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