vxWorks 6.9驱动开发

vxWorks 6.9 Driver Development

我正在涉足 VxWorks 驱动程序开发。我的问题是,在我的内核配置设置中,我可以搜索我的驱动程序组件,但它总是灰显并且不允许我包含它。当我右键单击它并 select "check" 它说 "Undefined reference mydriver.o"

我通读了 vxBus 驱动程序开发人员文档,并决定通过采用 already-existing/functioning 驱动程序并简单地修改 file-name/function-name/print 字符串来测试开发流程。我把已有的*.c、*.h、*.cdf、*.dc、*.dr酌情复制修改。

我也试过将驱动程序源文件放在 target/3rdparty 目录中,就像 "wrsample" 驱动程序所做的那样。

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

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

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

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

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