3516
- 收藏
- 点赞
- 分享
- 举报
VxWorks调试模式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下,模式转换的命令为(gdb)attach system (gdb)detach
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下,模式转换的命令为(gdb)attach system (gdb)detach
我来回答
回答0个
时间排序
认可量排序
暂无数据
或将文件直接拖到这里
悬赏:
E币
网盘
* 网盘链接:
* 提取码:
悬赏:
E币
Markdown 语法
- 加粗**内容**
- 斜体*内容*
- 删除线~~内容~~
- 引用> 引用内容
- 代码`代码`
- 代码块```编程语言↵代码```
- 链接[链接标题](url)
- 无序列表- 内容
- 有序列表1. 内容
- 缩进内容
- 图片![alt](url)
相关问答
-
2012-12-05 11:23:34
-
2012-12-05 11:24:28
-
2012-12-05 14:08:42
-
2012-12-05 11:25:41
-
2020-09-03 16:54:39
-
2020-07-17 14:41:41
-
2012-12-05 11:21:56
-
2018-10-28 09:28:35
-
2016-07-08 21:03:26
-
2020-04-07 11:21:47
-
2018-10-20 15:38:33
-
2016-08-18 18:49:38
-
2019-01-18 14:43:08
-
2020-09-04 12:00:53
-
2012-12-05 11:22:31
-
42019-08-31 19:56:49
-
2018-12-07 15:48:32
-
2019-08-30 09:06:21
-
22018-08-09 17:10:44
无更多相似问答 去提问
点击登录
-- 积分
-- E币
提问
—
收益
—
被采纳
—
我要提问
切换马甲
上一页
下一页
悬赏问答
-
5Hi3516CV610 如何使用SD卡升级固件
-
5cat /dev/logmpp 报错 <3>[ vi] [func]:vi_send_frame_node [line]:99 [info]:vi pic queue is full!
-
50如何获取vpss chn的图像修改后发送至vo
-
5FPGA通过Bt1120传YUV422数据过来,vi接收不到数据——3516dv500
-
50SS928 运行PQtools 拼接 推到设备里有一半画面会异常
-
53536AV100的sample_vdec输出到CVBS显示
-
10海思板子mpp怎么在vi阶段改变视频数据尺寸
-
10HI3559AV100 多摄像头同步模式
-
9海思ss928单路摄像头vio中加入opencv处理并显示
-
10EB-RV1126-BC-191板子运行自己编码的程序
举报反馈
举报类型
- 内容涉黄/赌/毒
- 内容侵权/抄袭
- 政治相关
- 涉嫌广告
- 侮辱谩骂
- 其他
详细说明
提醒
你的问题还没有最佳答案,是否结题,结题后将扣除20%的悬赏金
取消
确认
提醒
你的问题还没有最佳答案,是否结题,结题后将根据回答情况扣除相应悬赏金(1回答=1E币)
取消
确认