• 348查看
  • 0回复

[综合] 自动驾驶嵌入式修炼秘籍:Linux下I2C调试工具

[复制链接]

匿名  发表于 11-4-2024 20:24:10 |阅读模式

汽车零部件采购、销售通信录       填写你的培训需求,我们帮你找      招募汽车专业培训老师


1、简介

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

2.1、Jetson xavier/orin下安装
1sudo apt-get install libi2c-dev i2c-tools

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

进入Filesystem Packages

自动驾驶嵌入式修炼秘籍:Linux下I2C调试工具w2.jpg

进入base

自动驾驶嵌入式修炼秘籍:Linux下I2C调试工具w3.jpg

进入i2c-tools
自动驾驶嵌入式修炼秘籍:Linux下I2C调试工具w4.jpg

勾选i2c-tools工具

自动驾驶嵌入式修炼秘籍:Linux下I2C调试工具w5.jpg

重新编译系统
1petalinux build
3、i2c-tools工具使用

3.1、i2cdetect

自动驾驶嵌入式修炼秘籍:Linux下I2C调试工具w6.jpg

功能:用于检测SOC设备上的i2c总线数量和挂载在i2c总线上的器件。
命令:i2cdetect -l

自动驾驶嵌入式修炼秘籍:Linux下I2C调试工具w7.jpg

命令:i2cdetect -r -y 0 //检测i2c-0的挂载情况

自动驾驶嵌入式修炼秘籍:Linux下I2C调试工具w8.jpg

3.2、i2cdump

自动驾驶嵌入式修炼秘籍:Linux下I2C调试工具w9.jpg

功能:dump i2c设备中所有的数据。
1i2cdump -f -y 30 0x30

自动驾驶嵌入式修炼秘籍:Linux下I2C调试工具w10.jpg

用i2cdump查看挂载在i2c 30 总线上器件地址为0x30的所有寄存器值
3.3、i2cget

自动驾驶嵌入式修炼秘籍:Linux下I2C调试工具w11.jpg

功能:获取指定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及之后的版本添加了i2ctransfer命名。
功能:由于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字节。

快速发帖

您需要登录后才可以回帖 登录 | 注册

本版积分规则

QQ|手机版|小黑屋|Archiver|汽车工程师之家 ( 渝ICP备18012993号-1 )

GMT+8, 20-11-2024 17:13 , Processed in 0.447402 second(s), 28 queries .

Powered by Discuz! X3.5

© 2001-2013 Comsenz Inc.