7.4.3. 调试指南
7.4.3.1. I2C通信调试
在使能I2C的驱动后,可以通过i2c-tools中的i2cdetect工具,快速检测I2C通信功能是否正常。使能驱动后,会创建出相应的I2C适配器,但是I2C通信功能是否正常仍是不确定的,可通过如下命令进行测试:
i2cdetect -y -r 0
此命令用来测试I2C总线0上的地址分布情况。如果通信正常,即使总线上没有挂接任何I2C设备,那么也会立即返回结果。如果在该测试中返回transfer timeout,那么需要先检查I2C的SDA和SCL是否有上拉(该问题一般是由于没有上拉导致)。如果有上拉,那么需要进一步进行调试。
7.4.3.2. 调试开关
I2C的驱动由一些dev_dbg的调试信息,默认情况下是不会打印的,当需要进行跟踪调试时,可通过以下步骤打开这些调试信息。
7.4.3.2.1. 调整log等级
通过menuconfig调整内核的log等级
Kernel hacking--->
printk and dmesg options--->
(8) Default console loglevel (1-15)
7.4.3.2.2. 打开调试开关
Kernel hacking--->
ZX Debug--->
[*] I2C driver debug