EDN首页   博客首页

日志档案

发表于 2006-10-26 12:51:27

31

标签: CrossWind  

CrossWind

 CrossWind

1  Debugging简介

   VxWorks具有两种调试模式 开发工具对目标机应用程序的调试方法有两种模式。一种是系统模式。对整个应用系统进行调试,可在系统中设置断点等。调试中应用系统必须停下来;另一种是任务模式(即动态调试)。调试是针对系统中某一任务模块进行的,整个系统仍可保留在工作状态。同样在对整个系统调试时,也可一个模块一个模块进行,调好一个运行一个,这样对加速调试速度,方便系统调试提供了很大方便。

 

2 任务模式调试

    在任务调试模式下,在一个集成环境中,在一个任务中调试,在另一个任务中设置断点,设置的断点不起作用。这是因为一个调试器只能处理一个TCB任务控制块),每个任务都有一个TCB,因此一个调试器只能调试一个任务,要调试几个任务就要启动几个调试器。一个集成环境只能启动一个调试器,所以要调试几个任务就要启动几个集成环境。另外,需要在被调试的任务的待调试的第一条语句前加入taskSuspend(0)语句,挂起该任务,否则任务就可能会在调试前被执行。

在任务调试模式下,在一个任务中调试,当任务运行到此断点时,只有此任务停止,而不是整个系统。

特点:          只能调试任务,不能调试ISR

                             缺省情况下,断点只影响 attached Task

                             attached 任务停止时,系统中的其它任务及ISRs继续运行;

                   WDB代理的通讯方式是中断驱动方式。

 

3  系统模式调试

系统模式有时也称为外部模式(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下,模式转换的命令为(gdbattach system   (gdb)detach

 

系统分类: 嵌入式   |   用户分类: tornado   |   来源: 无分类   |   【推荐给朋友】   |   【添加到收藏夹】

    阅读(739)    回复(0)  

投一票您将和博主都有获奖机会!