摘要: 本文总结了在I2C/SMBus堆栈中使用故障代码的最重要约定。 “Fault”并不总是“Error” 并非所有的fault报告都含有errors,“page faults”应该是一个熟悉的例子。软件在出现短暂故障(faults)后,经常会重试幂等操作。在某些情况下,可能存在一些更奇特的恢复方案,例如 阅读全文
posted @ 2021-08-18 19:13 闹闹爸爸 阅读(427) 评论(0) 推荐(0) 编辑
摘要: 由于I2C是低速总线,其上传输的大部分消息都很小,因此不认为它是DMA访问的主要用户。在撰写本文时,只有10%的I2C总线master驱动程序实现了DMA支持。而且绝大多数事务都很小,因此为其设置DMA可能会比普通的PIO传输增加更多的开销。 因此,并不强制要求I2C消息的缓冲区是DMA安全的。当这 阅读全文
posted @ 2021-08-18 18:40 闹闹爸爸 阅读(1295) 评论(0) 推荐(0) 编辑
摘要: 通常,I2C设备是由内核驱动程序控制的。但是也可以通过/dev接口从用户空间访问适配器上的所有设备。为此,您需要加载模块i2c-dev。 每个注册的I2C适配器获得一个从0开始计数的数字。您可以检查/sys/class/i2c-dev/以查看哪个适配器对应哪个数字。或者,您可以运行“i2cdetec 阅读全文
posted @ 2021-08-18 18:18 闹闹爸爸 阅读(1243) 评论(0) 推荐(2) 编辑