Edit online

调试指南

2 Dec 2024
Read time: 1 minute(s)

I2C 通信调试

在使能 C 的驱动后,可以通过 tools 中的 i2cdetect 工具,快速检测 C 通信功能是否正常。使能驱动后,会创建出相应的 C 适配器,但是 C 通信功能是否正常仍是不确定的,可通过如下命令进行测试:

i2cdetect -y -r 0

此命令用来测试 C 总线 0 上的地址分布情况。如果通信正常,即使总线上没有挂接任何 C 设备,那么也会立即返回结果。如果在该测试中返回 timeout,那么需要先检查 C 的 SDA 和 SCL 是否有上拉(该问题一般是由于没有上拉导致)。如果有上拉,那么需要进一步进行调试。

调试开关

I2C 的驱动由一些 dbg 的调试信息,默认情况下是不会打印的,当需要进行跟踪调试时,可通过以下步骤打开这些调试信息。
  1. 调整 log 等级

    通过 menuconfig 调整内核的 log 等级

    Kernel hacking--->
        printk and dmesg options--->
            (8) Default console loglevel (1-15)
    
  2. 打开调试开关
    Kernel hacking--->
        ArtInChip Debug--->
            [*] I2C driver debug