打印
[嵌入式Linux]

迅为-iMX6ULL开发板-i2c测试工具

[复制链接]
500|2
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
linzhao789|  楼主 | 2020-9-25 10:58 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
本章节使用的资料已经放到了开发板网盘资料中,路径为:11_Linux 系统开发进阶\95_章节使用资料。
1  移植
I2c 测试工具下载地址 https://mirrors.edge.kernel.org/pub/software/utils/i2c-tools/,
这里下载的 4.1 版本,下载完后拷贝后 Ubuntu



解压 tar -vxf i2c-tools-4.1.tar.gz,

清理工程,make clean,
导入交叉编译工具链环境,根据实际情况填写路径:export
CC=/usr/local/arm/gcc-linaro-4.9.4-2017.01-x86_64_arm-linux-gnueabihf/bin/arm-linux-gnueabihf-gcc
执行 make 编译,进入 tools 目录:

将生成的工具“i2cdetect i2cdump i2cget i2cset i2ctransfer”拷贝到开发板的/bin/目录下

将源码顶层目录 lib/下的 libi2c.so.0.1.1 复制到开发板的/usr/bin/目录下,修改名字为 libi2c.so.0,
mv libi2c.so.0.1.1 libi2c.so.0

到此移植成功。
2  测试
查看挂载的 i2c 设备:i2cdetect -l

查看 i2c 总线上的设备:i2cdetect -y <总线号>,例如输入 i2cdetect -y 0,UU 代表系统已经加载了此设
备,如果是数值下表示在 driver 中没有加载。图中表示 0x1E,0x50,0x68 已经被加载,分别对应 mpu6050,
at24c02,ap3216c。


读取 i2c 设备所有寄存器值:i2cdump -f -y <总线号> <设备地址>,i2cdump -f -y 0 0x50,0 为 i2c 总线号,
0x50 为 AT24C02 的地址值,
测试结果如图 95.2.4:

向寄存器写数据:i2cset -f -y <总线号> <设备地址> <寄存器地址> <数据>
例如:i2cset -f -y 0 0x50 0x00 0x22

写入多个数据:i2ctransfer -f -y <总线号> w<数据个数>@<寄存器> <数据><数据>
i2ctransfer -f -y 0 w3@0x50 0x00 0x0a 0x0b


使用特权

评论回复

相关帖子

沙发
zeshoufx| | 2020-9-25 11:39 | 只看该作者
谢谢分享【iMX6ULL开发板-i2c测试工具】

使用特权

评论回复
板凳
Prry| | 2020-10-10 15:34 | 只看该作者

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

636

主题

716

帖子

1

粉丝