0

我可以使用内核映像项目中的辅助时钟 API,但是当尝试在 RTP 项目中使用相同的 API 例如 sysAuxClkRateSet( int ticksPerSecond ) 时,我得到了对 sysAuxClkRateSet 错误的未定义引用。我正在开发 Vxworks 7.0。我将 API 添加到自定义系统调用列表并尝试了它,编译器错误正在得到解决,但是当控件命中该 API 时,它无法工作并且板正在重新启动。我正在使用 TI Sitara a9、4377 板。任何有关如何使其工作的意见都会有帮助。提前致谢 !!

4

2 回答 2

1

sysAuxClkRateSet 是一个内核空间 API,不存在于用户模式头文件中。

为了在 RTP 中使用此功能,您可以使用诸如 msgQ 之类的机制将命令从 RTP 发送到内核空间任务,或者编写自定义系统调用来公开此功能。

对于这个特定的用例,您可能希望创建一个静态系统调用,这意味着您可以直接从 RTP 调用 sysAuxClkRateSet。这将需要对 VxWorks 库进行修改和重建,因此您可能希望将内核基于 VSB 项目而不是默认库 - 尽管如果您使用的是 VxWorks 7,您将已经拥有一个 VSB。

于 2017-08-24T14:14:40.143 回答
0

sysAuxClkRateSet 是内核空间 API,因此在 RTP 中不起作用。

于 2017-07-10T03:55:33.137 回答