vxWorks文档声明:
WDB代理本身独立于目标操作系统:它 通过虚函数运行时附加到运行时OS服务 接口。 WDB代理可以在VxWorks运行之前执行(如 将BSP移植到新董事会的早期阶段。“
如何在vxWorks内核运行之前使用调试代理?
答案 0 :(得分:2)
首先,为了能够使用代理执行预内核调试,必须具有可用于调试的串行端口。此串行端口必须初始化并且功能正常,因为它将是调试通道。
开始调试的时间有限。基于WDB的调试将在第一个硬件初始化函数运行(sysHwInit)之后和内核初始化正确(kernelInit)之前启动。
根据所使用的vxWorks版本,有不同的方法可以实现此结果。
基于Workbench的vxWorks构建
在内核配置工具中,您必须选择以下组件:
根据您选择组件的顺序,您可能会收到来自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时,它将执行硬件初始化的第一阶段,然后暂停,等待主机上运行的调试代理连接到目标。
此时,您可以执行调试,单步等...