Linux下I2C调试工具--for--Zynq MPSOC/Jetson Xavier

2023-12-17 21:45:40

Linux下I2C调试工具

1、简介

i2c-tools是一个专门调试i2c的工具,无需编写任何代码即可轻松调试I2C设备,可获取挂载的设备及设备地址,还可以在对应的设备指定寄存器设置值或者获取值等功能。i2c-tools有如下几个常用测试命令i2cdetect, i2cdump, i2cget, i2cset,i2ctransfer。

2、i2c-tools工具安装

2.1、Jetson xavier/orin下安装

sudo apt-get install libi2c-dev i2c-tools

2.2、Zynq MPSOC下安装
使用如下命令勾选i2c-tools工具:
使用petalinux 进入文件系统

petalinux-config -c rootfs

进入Filesystem Packages
在这里插入图片描述
进入base
在这里插入图片描述
进入i2c-tools
在这里插入图片描述
勾选i2c-tools工具
在这里插入图片描述
重新编译系统

petalinux build

3、i2c-tools工具使用
3.1、i2cdetect
功能:用于检测SOC设备上的i2c总线数量和挂载在i2c总线上的器件。
命令:i2cdetect -l
命令:i2cdetect -r -y 0 //检测i2c-0的挂载情况
3.2、i2cdump
功能:dump i2c设备中所有的数据。

i2cdump -f -y 0 0x1e b

用i2cdump查看挂载在i2c 0 总线上器件地址为0x1e的所有寄存器值
3.3、i2cget
功能:获取指定i2c设备中指定地址的数据.
命令:i2cget -f -y 0 0x1b 0x02 //显示I2C 0号总线上0x1b设备0x02寄存器地址,按字节读取
3.4、i2cset
功能:设置指定i2c设备中指定地址的数据。
命令:i2cget -f -y 0 0x1b 0x20 0x01 //设置I2C 0号总线上0x1b设备0x20寄存器地址的值为0x01
3.5、i2ctransfer
I2c-tool-4.0及之后的版本添加了12ctransfer命名。
功能:由于i2cget和i2cset只能读写i2c设备的寄存器地址小于0xff–8位寄存器地址。I2ctransfer可以设置寄存器地址为16位。
命令:i2ctransfer -y -f 1 w3@0x30 0x2a 0x02 0x30
//向i2c 1号总线0x30设备的0x2a02寄存器写0x30,w3:表示寄存器0x2a02和写入值0x30的长度为3字节。

文章来源:https://blog.csdn.net/qq_44705488/article/details/135049455
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。