我正在尝试为嵌入式Linux系统构建自定义的操纵杆/游戏手柄设备。我正在寻找一个库或系统API,可以让我从用户空间代码中创建/dev/input下的节点。
我需要这个功能是因为:
- 自定义硬件可以使用现有的SPI或I2C驱动程序与系统通信(这是我的硬件设计,所以我可以做任何最合理的技术决策)。 - 内核模块不能利用其他驱动程序,只能利用其他模块导出的符号。
我了解到制作内核模块的唯一方法是使用内核代码并将其编译为内核模块。我不想通过用户空间代码实现内核模块。
我正在寻找一个API,可以让我创建一个文件,当该文件被读取或写入时,函数会被调用。这就是字符驱动程序的一般概念。我不需要内核提供或强制执行的权限或限制。
一定有一种方法可以模拟文件I/O,而不涉及编写全新的内核模块。
谢谢!
我需要这个功能是因为:
- 自定义硬件可以使用现有的SPI或I2C驱动程序与系统通信(这是我的硬件设计,所以我可以做任何最合理的技术决策)。 - 内核模块不能利用其他驱动程序,只能利用其他模块导出的符号。
我了解到制作内核模块的唯一方法是使用内核代码并将其编译为内核模块。我不想通过用户空间代码实现内核模块。
我正在寻找一个API,可以让我创建一个文件,当该文件被读取或写入时,函数会被调用。这就是字符驱动程序的一般概念。我不需要内核提供或强制执行的权限或限制。
一定有一种方法可以模拟文件I/O,而不涉及编写全新的内核模块。
谢谢!
udev
吗? - Basile Starynkevitchudev
可以配置成创建一个/dev/input/js0
(可能是一个符号链接)。 - Basile Starynkevitchudev
规则系统。如果可能的话,避免在内核中进行操作... - Basile Starynkevitch