从用户空间读取非阻塞i2c

时间:2019-01-29 02:23:22

标签: linux linux-device-driver i2c userspace

我正在尝试以从属模式在i2c上读取和写入数据,并找到了几个在用户空间中执行此操作的示例,包括NXP中最相关的示例(我正在使用iMX8MQ): https://source.codeaurora.org/external/imx/imx-test/tree/test/mxc_i2c_slave_test/mxc_i2c_slave_test.c?h=imx_4.14.78_1.0.0_ga

但是,如果我想读取数据,那将是基于轮询的实现,因为当i2c数据可用时,i2c-dev似乎没有提供注册用户空间回调的方法。甚至不确定是否有任何Linux设备驱动程序允许这样做。我是否假设在从属模式下没有从用户空间读取i2c的非阻塞和异步方式,对吗?

我对编写设备驱动程序不是很熟悉,因此即使我想实现自己的驱动程序,也与此类似: https://github.com/torvalds/linux/blob/master/drivers/i2c/i2c-slave-eeprom.c 在数据可用时(例如,当驱动程序收到I2C_SLAVE_STOP时)调用用户空间函数是个好主意吗?

0 个答案:

没有答案