前言
一般寄存器都是8位地址的,i2ctools 里的i2cdump i2cget i2cset,也是设置读取8位的地址,
但这次调试的寄存器是16位地址,i2cdump i2cget i2cset 都用不了,这时候就要用到i2ctransfer 了,
I2C-Tools 4.0增加了i2ctransfer命令,可以对i2c设备指定定长度进行读写操作
I2C-Tools 4.0下载
https://i2c.wiki.kernel.org/index.php/I2C_Tools
直接git下载:
git clone git://git.kernel.org/pub/scm/utils/i2c-tools/i2c-tools.git
交叉编译
默认是gcc编译的;
在海思平台用,需要修改为海思平台的交叉工具链;
海思平台交叉工具链为 aarch64-himix100-linux-
编译: make
i2ctransfer运行
由于是动态编译,所以需要将依赖的动态库拷贝到 /lib64 目录下
运行成功
也可以直接静态编译
静态编译
加入USE_STATIC_LIB=1参数,如下:
make -j4 USE_STATIC_LIB=1
i2ctransfer使用方法