VXWorks向头文件添加功能

问题描述

我试图将自己的函数添加到jobQueueLib中,并逐步执行该行的代码行或其中的任何函数(均为EXTERN)。

如果不输入#include ,则逐步执行.h函数调用将直接进入汇编程序,这是指vxworks-6.9 / target / h / wrn / coreip / jobQueueLib.h

添加了include后,单步执行相同的现有功能会导致细分冲突。

更新: 我的问题是C,可下载的内核模块项目构建或与组件相关的(即使我检查了它是否是VIP中包含的组件),因为在编译时我收到一个警告,提示无法解析模块符号:jobQueueTerminate或对该.h文件中的任何函数的所有其他调用(它们都是EXTERNS)。

检查是否删除了include语句,我仍然无法从中调用任何函数 vxworks-6.9 / target / h / wrn / coreip / jobQueueLib.h,所以我认为这是项目级别的包含问题。这是我的DKM项目包括内容(最后一个是多余的,但我看不到删除它的方法):

includes

如何获取符号来解析?

解决方法

最后有了使用您自己修改的源代码运行DKM的流程:

进行任何C文件所需的更改->创建VSB并使用包含的源代码进行构建->创建基于此VSB的VIP并进行构建->使用此VIP的输出VXWorks二进制文件之一,并“连接到目标模拟器”->使VIP引用您的DKM(DKM将成为VIP的子项目)->最后,在先前建立的目标连接上执行DKM!

P.S。我正在使用SIMLINUX,但VIP的构建是LINUX,而我使用了构建VIP的VXWorks Linux二进制输出。