但是,似乎司机正在同时与同一芯片通话.这导致我的I2C_SLAVE访问失败,其中错误的值为EBUSY.好吧 – 我可以通过ioctl I2C_SLAVE_FORCE覆盖它.我尝试过,它的确有效.我的命令到达芯片.
问题:这样做是否安全?我确信我写的地址范围永远不会被任何内核驱动程序访问.但是,我不确定强制I2C通信是否会混淆某些内部状态机左右.(我不是那样进入I2C,我只是使用它……)
供参考,硬件事实:
OS: linux Architecture: TI OMAP3 3530 I2C-Chip: TWL4030 (does power,audio,usb and lots of other things..)解决方法 我不知道那个特定的芯片,但通常你有需要一系列写 *** 作的命令,首先是一个地址来设置某个模式,然后你读或写另一个地址 – 其中第二个地址的功能根据你写的第一个.因此,如果驱动程序处于其中一个 *** 作的中间,并且您中断它(反之亦然),那么您将遇到难以调试的竞争条件.为了获得可靠的解决方案,您最好通过芯片的驱动程序进行通信…… 总结
以上是内存溢出为你收集整理的linux – 强制I2C通信安全吗?全部内容,希望文章能够帮你解决linux – 强制I2C通信安全吗?所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)