我正在开发一个用户应用程序,它依赖于与beaglebone板连接的I2C或SPI设备。 我的应用程序在用户空间中运行。现在,只要I2c设备发生中断,我的应用程序就应该从I2c设备获取数据。
我的问题是如何同步所有这些。我是否需要编写一个设备驱动程序来从I2c设备获取数据或触发另一个设备驱动程序从I2c读取数据以及它如何触发我的用户应用程序来获取数据?
答案 0 :(得分:1)
您需要了解三件事:i2c驱动程序,spi驱动程序和输入子系统。
对于i2c驱动程序,搜索struct i2c_driver
和module_i2c_driver
辅助宏的内核代码,以便注册和取消注册驱动程序。
同样,struct spi_driver
和module_spi_driver
代表spi。
对于输入子系统,搜索struct input_dev
。除此之外,您还需要通过设置相关事件位并实现input_event
事件处理程序来“挂钩”到有趣的事件中。
更新:忘记提及,输入子系统的目标是帮助处理来自i2c或spi设备的输入事件。