我正在开发一个用户应用程序,它依赖于与beaglebone板连接的I2C或SPI设备。我的应用程序在用户空间中运行。现在,每当I2c设备发生中断时,我的应用程序都应该从I2c设备获取数据。
我的问题是如何同步所有这些。我是否需要编写一个从I2c设备获取数据的设备驱动程序,或者触发另一个设备驱动程序从I2c读取数据,以及它如何触发我的用户应用程序来获取数据?
发布于 2017-10-03 18:09:32
您需要了解三件事: i2c驱动程序、spi驱动程序和输入子系统。
对于i2c驱动程序,请在内核代码中搜索用于注册和注销驱动程序的struct i2c_driver
和module_i2c_driver
帮助器宏。
类似地,spi的struct spi_driver
和module_spi_driver
。
对于input子系统,搜索struct input_dev
。除此之外,您还需要通过设置相关的事件位来“钩住”有趣的事件,并实现input_event
事件处理程序。
更新:忘了提一下,输入子系统的目标是帮助处理来自i2c或spi设备的输入事件。
https://stackoverflow.com/questions/46517772
复制相似问题