0

我正在涉足 VxWorks 驱动程序开发。我的问题是,在我的内核配置设置中,我可以搜索我的驱动程序组件,但它总是显示为灰色并且不允许我包含它。当我右键单击它并选择“检查”时,它显示“未定义的引用 mydriver.o”

我通读了 vxBus 驱动程序开发人员文档,并决定通过采用已经存在/正在运行的驱动程序来测试开发流程,并简单地修改文件名/功能名/打印字符串。我根据需要复制并修改了现有的 *.c、*.h、*.cdf、*.dc、*.dr。

我还尝试将驱动程序源文件放在 target/3rdparty 目录中,就像对“wrsample”驱动程序所做的那样。

我还尝试在我的 config.h 文件中输入正确的#define 语句来尝试强制实例化驱动程序,但没有运气。

任何人都可以提供任何帮助吗?似乎我需要预先构建驱动程序源以生成 *.o 文件,但我不确定如何执行此操作。我找不到我修改的现有驱动程序的 *.o 文件...

4

1 回答 1

1

我自己想出来的。我确实必须创建一个 makefile 并编译源代码(提前......在使用 vxWorks 中的驱动程序之前)。我使用为我的 WindRiver Tornado 自动生成的 makefile 作为模板来创建我的驱动程序 makefile。然后我创建了一个调用 vxWorks make 的批处理文件。

现有驱动程序没有对象文件的原因是因为对象被添加到驱动程序库 (*.a) 而不仅仅是 *.o。

所有驱动程序文件都存在于 target/3rdparty 目录中,但我必须将 *.cdf 和 *.h 文件复制到其他目录中才能使其工作。我在批处理文件中做了这一步。

于 2015-08-05T21:44:10.443 回答