【问题标题】:Is there a way to communicate with a driver from a C application?有没有办法从 C 应用程序与驱动程序进行通信?
【发布时间】:2014-06-06 07:00:39
【问题描述】:

内核与驱动程序进行通信,这意味着我的应用程序也可以进行系统调用吗?例如,我想在我的应用程序中模拟点击,有没有办法可以向鼠标驱动程序发送一些输入并实现这一点,或者进行系统调用来实现模拟?最重要的是,我想知道是否可以使用 C 与驱动程序交谈,我将如何去做?

【问题讨论】:

  • 在你的标记中更具体,也许是 linux-kernel 标记?

标签: c linux-kernel kernel driver


【解决方案1】:

是的,检查驱动程序创建的文件系统中的/dev/<device> 条目并从用户应用程序中将/dev/<device> 作为文件访问并执行open/read/write/close对其进行操作。会调用驱动中对应的read/write。如果你需要定义具体的函数,那么你需要在你的驱动代码中定义ioctls

【讨论】:

  • 使用串行端口时,ioctls 部分可能有点棘手,尤其是在处理需要升高和降低引脚的硬件流控制时,时间很关键。
猜你喜欢
  • 1970-01-01
  • 2018-06-08
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-04-25
  • 2013-11-28
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多