VxWorks应用程序调试环境的建立

本文详细介绍了如何在VxWorks环境中分离应用程序和内核进行调试。首先,需要一个稳定的VxWorks内核在目标系统运行。接着,配置Tornado的Target Server,通过网络或串口与目标机连接。在编写测试程序后,编译生成.o文件,并将其下载到目标机。最后,利用调试窗口启动应用,进行任务调试。
摘要由CSDN通过智能技术生成

     Vxworks的应用程序一方面可以和内核集成在一起进行调试,另外一个方面也可以将应用程序和内核分开来进行调试,当应用程序无误后再集成到内核中。下面将详细介绍第二种调试方法,这种方法调试最方便。使用这种方法可以不用每次都将应用程序写好,然后和内核一起编译下载到目标机中,只需动态的向目标机中加载应用程序的.o文件即可以对其进行调试,加快了开发的速度。

      要想将应用程序和内核分开来进行开发调试,首先必须有一个可以稳定运行VxWorks内核,这里可以使用以前做好了的BSP来生成内核。

      首先将这个可执行代码下载到目标系统或烧写到目标系统中,将VxWorks内核运行起来,接下来的工作就是配置Tornado。笔者在调试之前使用的是公司已经移植好了VxWorks操作系统的平台进行调试的。调试之前必须保证你的目标机已经上电并通过网络或串口与宿主机相连,下载应用程序的目标代码之前先进行一些配置,按下图所示进行操作:

      (1)配置Target server

              当目标系统运行起来后,就可以通过选择Tools->Target Server->Config来新建一个配置,如下图(如果通过串口连接则选择wbdserial,如果是网络连接则选择wbdpc)

                                              

注意图中画红线的地方,Target Server栏填入宿主机也就是PC机的IP地址,如我的电脑的IP地址为192.168.1.161

                                 Target Name

1 TORNADO的调试工具 4 1.1 WINDSHELL 4 1.1.1 简介 4 1.1.2 功能键 5 1.1.3 特殊控制符 6 1.1.4 计算功能 6 1.1.5 环境变量 6 1.1.6 内置指令 6 1.2 BROWSE 17 1.2.1 内存查看 17 1.2.2 模块信息 17 1.2.3 堆栈使用率 18 1.2.4 CPU占有率 18 1.2.5 任务信息 19 1.2.6 中断向量表 19 1.2.7 实体查看 20 1.3 DEBUGGER 21 1.3.1 条件断点 21 1.3.2 代码显示 21 1.4 TARGET SERVER 21 1.4.1 使用串口调试 21 1.4.2 重定向 21 1.5 WINDVIEW 22 1.5.1 记录层次 22 1.5.2 记录数据存储方式 22 1.5.3 传送方式 22 1.5.4 数据分析 23 1.6 TRIGGER 23 1.7 TELNET 24 1.8 调试模式 24 1.8.1 任务调试模式下的多任务调试 26 1.8.2 系统调试模式下多任务调试: 27 1.8.3 中断服务程序的调试 28 2 V2支撑的调试手段 28 2.1 各模块提供的函数 28 2.2 如何查看ERROR.LOG文件 29 2.2.1 定位到具体的出错行 31 3 V3支撑的调试手段 31 1.1. 进程调试 31 1.2. 查看所有进程信息:OSS_DBGGETALLUSEPCBINFO 31 1.3. 查看当前运行的进程信息 31 1.3.1. 进程断点设置:b 31 1.3.2. 当前进程运行信息:OSS_DbgGetCurPCBInfo 32 1.3.3. 当前进程的消息信息:OSS_DbgGetCurMsgInfo 32 1.3.4. 进程断点取消:bd 32 1.3.5. 恢复进程运行:tr 32 1.4. 内存观察 32 1.4.1. 消息队列堆积、阻塞观察:tw 32 1.4.2. 任务消息队列观察:OSS_DbgShowQueueCtl 33 1.4.3. 任务UB使用观察:OSS_DbgShowTaskUB 33 1.4.4. 进程使用UB情况:OSS_DbgShowProcUBInfo 34 1.4.5. UB的配置和当前状态:OSS_DbgMemUbUsePrn/ OSS_DbgShowUbPool 34 1.5. 通信和定时器状态观察 35 1.5.1. 通信状态显示OSS_DbgShowComm 35 1.5.2. 测试板间通信是否正常:OSS_DbgRudpPing 35 1.5.3. 单板上定时器的使用信息:OSS_DbgGetTimerInfo 36 1.5.4. 单板进程使用定时器的信息:OSS_DbgGetTimerInfoOfProc 36 1.6. 杂项观察 36 1.6.1. 异常发生后信息观察:OSS_DbgShowExcInfo 36 1.6.2. 堆栈使用率/运行时间统计:zte 36 1.6.3. 进程最近打印内容观察:ztecall/ ztemsg 36 1.6.4. 进程最近打印的1K内容和打印时间:zteprint 37
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值