原创 vxworks任务与系统调试介绍

2006-11-30 12:18 6053 11 9 分类: MCU/ 嵌入式


今天在调多任务的时候,老是被抢占所困扰,大家在调试时也要注意,如果其他任务将调试任务抢占 ,你设的断点就会没响应一直running下去。下面是调试方法:


VxWorks具有两种调试模式 开发工具对目标机应用程序的调试方法有两种模式。一种是系统模式。对整个应用系统进行调试,可在系统中设置断点等。调试中应用系统必须停下来;另一种是任务模式(即动态调试)。调试是针对系统中某一任务模块进行的,整个系统仍可保留在工作状态。同样在对整个系统调试时,也可一个模块一个模块进行,调好一个运行一个,这样对加速调试速度,方便系统调试提供了很大方便。 
 
任务模式调试
    在任务调试模式下,在一个集成环境中,在一个任务中调试,在另一个任务中设置断点,设置的断点不起作用。这是因为一个调试器只能处理一个TCB(任务控制块),每个任务都有一个TCB,因此一个调试器只能调试一个任务,要调试几个任务就要启动几个调试器。一个集成环境只能启动一个调试器,所以要调试几个任务就要启动几个集成环境。另外,需要在被调试的任务的待调试的第一条语句前加入taskSuspend(0)语句,挂起该任务,否则任务就可能会在调试前被执行。
在任务调试模式下,在一个任务中调试,当任务运行到此断点时,只有此任务停止,而不是整个系统。
特点:          只能调试任务,不能调试ISR;
                             缺省情况下,断点只影响 attached Task;
                             当 attached 任务停止时,系统中的其它任务及ISRs继续运行;
                   与WDB代理的通讯方式是中断驱动方式。 
 
系统模式调试
系统模式有时也称为外部模式(External Mode),在此模式下,target server 运行在VxWorks系统之外。
系统调试模式下,允许开发者挂起整个VxWorks操作系统。系统调试模式下一个值得注意的应用是调试ISRS,因为ISR运行在任务上下文之外,并且对缺省任务模式的调试工具不可见。
在系统调试模式下,可以同时调试多个任务、中断服务程序(ISR),调试影响整个系统。
Tornado1.0集成环境下,在系统模式下进行程序调试,主机与目标机之间必须使用串口通信。Tornado2.0集成环境提供了通过网口进行系统模式调试的功能(END 功能)。系统缺省使用网口通信,如果需要使用串口通信,需要修改文件C: \ Tornado \ target\config 
系统调试模式下,run命令不可用,可以使用WindSh调试。
特点:       可以调试任务、ISRs 以及核前(pre-kernel)的VxWorks执行;
                     断点使整个系统停止;
                     当系统停止时,外部WDB代理运行在中断锁定方式,在此期间,与WDB代
理的通讯方式为 Polled 模式;
通过以太网调试时,为了支持Polled模式通讯 需使用END网卡。(注:Tornado
串行驱动也支持Polled模式及系统级调试。
:系统模式和任务模式的互换:
点击debug->attach,  从任务模式到系统模式;
点击debug->detach,  从系统模式到任务模式
在debug-command-line下,模式转换的命令为(gdb)attach system   (gdb)detach
 

文章评论2条评论)

登录后参与讨论

shenyandetongxing_551209819 2006-12-17 17:58

If you have any question,you can write to me.My E-Mail is shenyandetongxing@163.com.Could you tell me where are you  from.I 'm glad to learn real-time system together with you.

用户54598 2006-12-5 10:04

谢谢楼主介绍

相关推荐阅读
shenyandetongxing_551209819 2010-02-25 21:34
MyEclipse 建立第一个工程
1.打开MyEclipse--新建个工程File--New--Project--WebProject 2.在ProjectName中输入hello--Finish 3.然后为工程添加struts框架,...
shenyandetongxing_551209819 2010-02-06 22:42
人力资源管理软件(技术储备)
JAVA的SSH开发框架Struts、Spring、Hibernate在各层的作用1、Struts 负责 web层ActionFormBean 接收网页中表单提交的数据,然后通过Action 进行处理...
shenyandetongxing_551209819 2010-02-06 02:51
个人资源管理软件(需求)
先提提需求吧,这是重中之重,这不是简单就能完成的,需要不断的修改和完善。既然是个人资源管理就要首先搞清楚个人资源包括哪些部分:1  人脉资源,也就是我们常说的关系,人是社会型动物就不可能生活在真空里,...
shenyandetongxing_551209819 2010-02-06 02:33
HR软件设计开始(关注个人资源管理与分析)
最近对HR很感兴趣,上网搜了一下,HR的软件也不少,其中风头正劲的用友公司做的挺多,但是看了看都是针对企业级的。但自己平常的工作和进步帮助不大。想整一个关于人力资源、人际关系进行总结、分析的软件,让自...
shenyandetongxing_551209819 2010-02-06 02:30
对HR和B/S模式的东西感兴趣
最近对HR很感兴趣,上网搜了一下,HR的软件也不少,其中风头正劲的用友公司做的挺多,但是看了看都是针对企业级的。但自己平常的工作和进步帮助不大。想整一个关于人力资源、人际关系进行总结、分析的软件,让自...
shenyandetongxing_551209819 2008-10-01 16:18
由于工作原因,改行!!
已经好久没有上我的博客了,还有很多朋友支持我,很欣慰:)现在由于工作原因很长一段时间内将挥泪告别嵌入式。现在如果有做PKI或PMI的跟我一起交流啊:)...
我要评论
2
11
关闭 站长推荐上一条 /2 下一条