RISC-V技术论坛
直播中

EPTmachine

8年用户 1030经验值
擅长:可编程逻辑 嵌入式技术 存储技术 接口/总线/驱动 控制/MCU
私信 关注
[经验]

ESP32P4示例工程中有用的i2c-tools调试工程

有用的示例工程

开发过程调试是个令人头疼的问题,在程序正式运行起来之前,需要借助其他的工具来调试硬件、检验代码逻辑是否正确。乐鑫的示例代码中有个使用串口控制台调试i2c设备的工程,这里分享一下。

i2c-tools

在ESP-IDF安装目录examples\peripherals\i2c\i2c_tools下的i2c_tools工程,查看工具的ReadMe文件。可知该工程可用于i2c设备的调试,类似Linux中的i2c_tool工具。

  1. i2cconfig: 根据指定的GPIO序号、I2C端口号和频率来配置I2C总线。
  2. i2cdetect: 探测挂载在I2C总线上的设备,并显示探测到的设备的I2C地址。
  3. i2cget: 读取I2C总线上设备的寄存器值。
  4. i2cset: 设定I2C总线上设备的寄存器值。
  5. i2cdump: 检测寄存器在I2C总线上是否可见。

修改工程中的i2c设备引脚,并编译工程,烧录到开发板上。

i2c_tools_SDK_Configuration.png

查看ESP32-P4-Function-EV-Board开发板的原理图,可知音频芯片、显示驱动和摄像头驱动的I2C控制口挂载在同一个I2C总线上。
ES8311_I2C_pcb.png

DSI_CSI_I2C_pcb.png

工程运行后,在串口控制台输入i2cdetect,可以看到输出挂载到i2c总线上设备的地址。
i2c_tools_res.png

对比音频手册中的说明,可知其中的地址为18的设备为音频芯片。

ES8311_I2C_addr.png

总结

借助这个示例工程,可以方便调试i2c设备,排除硬件问题。

更多回帖

发帖
×
20
完善资料,
赚取积分