一、下载i2c-tools,交叉编译
1、从开源网站https://mirrors.edge.kernel.org/pub/software/utils/i2c-tools/载i2c-tools,我使用的是3.0.2的版本。
2、解压后的目录结构如下:
最有用的是tools/文件夹,接下来修改Makefile,主要是修改交叉编译器,如下图所示
然后保存退出。直接make,进行编译。编译完成后在tools/文件夹下会有如下几个可执行文件,i2cdetect, i2cdump, i2cget, i2cset。如下图所示:
将i2cdetect, i2cdump, i2cget, i2cset拷贝到你的nfs调试目录,就可以进行操作了。
二、使用举例
1、用i2cdetect检测有几组i2c总线在系统上,输入:./i2cdetect -l
由上图可知,系统中存在两组总线分别i2c-1和i2c-2。
2、用i2cdetect检测挂载在i2c总线上器件,输入 ./i2cdetect-r -y 1(检测i2c-1上的挂载情况)
由上图可知,0x18,0x20,0x30,0x34, 0x64地址有挂载。而这几个分别是0x18(tlv3104),0x20(adv7401), 0x30, 0x34(sii9135),0x64(这个不知道是谁,可能是系统的)
3、用i2cdump查看器件所有寄存器的值,这个很有用,输入 ./i2cdump -f -y 1 0x20 (查看adv7401寄存