前言

 

一般寄存器都是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 读写

 

 

 

 

 

 

相关文章:

  • 2022-12-23
  • 2022-12-23
  • 2021-04-01
  • 2021-04-08
  • 2021-06-12
  • 2021-06-23
  • 2022-12-23
  • 2021-06-16
猜你喜欢
  • 2021-08-07
  • 2021-12-04
  • 2021-06-14
  • 2021-09-25
  • 2021-05-19
  • 2022-12-23
  • 2021-12-30
相关资源
相似解决方案