如何使用vxWorks调试代理执行预内核调试?

时间:2008-10-08 01:01:24

标签: vxworks

vxWorks文档声明:

  

WDB代理本身独立于目标操作系统:它   通过虚函数运行时附加到运行时OS服务   接口。 WDB代理可以在VxWorks运行之前执行(如   将BSP移植到新董事会的早期阶段。“

如何在vxWorks内核运行之前使用调试代理?

1 个答案:

答案 0 :(得分:2)

首先,为了能够使用代理执行预内核调试,必须具有可用于调试的串行端口。此串行端口必须初始化并且功能正常,因为它将是调试通道。

开始调试的时间有限。基于WDB的调试将在第一个硬件初始化函数运行(sysHwInit)之后和内核初始化正确(kernelInit)之前启动。

根据所使用的vxWorks版本,有不同的方法可以实现此结果。

基于Workbench的vxWorks构建

在内核配置工具中,您必须选择以下组件:

  • WDB串行连接
  • WDB系统调试
  • WDB预内核系统初始化

根据您选择组件的顺序,您可能会收到来自workbench的投诉,因为某些组件是互斥的(您不能使用带有预内核调试的WDB END驱动程序)。上面的顺序应该没问题。

命令行构建

编辑config.h文件,并选择以下选项:

#define WDB_INIT        WDB_PRE_KERNEL_INIT
#define WDB_COMM_TYPE   WDB_COMM_SERIAL
#define WDB_MODE        WDB_MODE_SYSTEM

当使用这些选项编译vxWorks时,它将执行硬件初始化的第一阶段,然后暂停,等待主机上运行的调试代理连接到目标。

此时,您可以执行调试,单步等...