海思3559A平台 I2C 16bit reg&addr 读写

时间:2024-05-21 18:27:00

前言

 

一般寄存器都是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运行

海思3559A平台 I2C 16bit reg&addr 读写

由于是动态编译,所以需要将依赖的动态库拷贝到 /lib64 目录下

海思3559A平台 I2C 16bit reg&addr 读写

运行成功

海思3559A平台 I2C 16bit reg&addr 读写

也可以直接静态编译

 

静态编译

  加入USE_STATIC_LIB=1参数,如下:

  make -j4 USE_STATIC_LIB=1

 

i2ctransfer使用方法

海思3559A平台 I2C 16bit reg&addr 读写海思3559A平台 I2C 16bit reg&addr 读写