查看: 199|回复: 0

[经验] 飞凌嵌入式ElfBoard ELF1板卡-i2c-tools工具使用

[复制链接]

该用户从未签到

发表于 2024-10-29 10:04:03 | 显示全部楼层 |阅读模式
分享到:
注意:学习资料可在ElfBoard官方网站“资料”专区获取。
介绍
i2c-tools是一个专门调试i2c接口的开源工具,可以获取挂载的设备及设备地址,具有在对应的设备上读取和设置寄存器值等功能。
在ELF 1的资料包当中,已经放置了下载好的源码,路径为:ELF 1开发板资料包\06-常用工具\06-5 测试工具\ i2c-tools-4.3.tar.gz
源码下载
首先我们登陆网址:I2C Tools - Linux i2c Wiki (kernel.org)
17-1.png
根据提示我们在这里链接,进入i2c-tools源码仓库。
17-2.png
我们选择最新版i2c-tools-4.3.tar.gz,点击开始下载
交叉编译i2c-tools
(一)在虚拟机/home/elf/work下新建一个i2ctools文件夹:
17-3.png
(二)将i2c-tools-4.3.tar.gz拷贝到虚拟机当前目录,并解压:
17-4.png
(三)配置环境变量:
17-5.png
(四)查看环境变量是否设置成功:
17-6.png
(五)修改Makefile
17-7.png
查看CC、AR、STRIP三个变量
17-9.png
修改为如下形式:
17-8.png
(六)执行make开始编译
17-10.png
(七)编译完成后会在tools下生成可执行文件:
17-11.png
(八)将i2cdetect,i2cdump,i2cget,i2cset,i2ctransfer拷贝到开发板/usr/bin目录下
17-12.png
(九)将 lib下的库文件拷贝到开发板/usr/lib目录下
17-13.png
i2c-tools用法
(一)首先检测系统上有几组i2c总线:
17-14.png
可以看到,系统中存在两组i2c总线:i2c-0、i2c-1
(二)用i2cdectect检测挂载在i2c总线上的器件:
17-15.png
在i2c-1总线上挂载了三个设备,设备地址为0x1a、0x29、0x39。其中0x1a和0x29的位置为UU,表示既有设备也有驱动;0x39的位置只显示数字,表示检测到了设备但是没有对应驱动;
(三)用i2cdump查看器件所有寄存器的值:
17-16.png
注意:用i2cdump读设备下所有寄存器的值时,第一次读到0x81寄存器的值为0xdb,再次使用i2cdump读取,寄存器的值就变成了0xda,bh1726的手册当中有相关介绍,0xe4是一条特殊命令,写入0xe4后,bh1726会进行软复位,将所有寄存器值恢复到默认状态。使用i2c-tools工具读取寄存器值时,其实是先将寄存器地址写入到i2c设备,再发送读的信号。所以当读取0xe4这个地址时,会触发bh1726的软复位。
17-17.png
注意i2cdump是读取设备的所有寄存器,如何读单个寄存器的值呢,我们可以使用i2cget。但是如何确定要读的单个寄存器的地址呢?下面我们看一下芯**册。
打开ELF 1开发板资料包\05-硬件资料\05-2 芯片数据手册\bh1726nuc-e.pdf,选择Register MAP章节查看寄存器地址。
17-18.png
17-19.png


从上图可知,要读取寄存器,需要添加一个偏移地址:100_Register Address[4:0]
如TIMING寄存器地址为0x01,那么就是100_00001,即0x81。
(四)i2cget读单个寄存器值:
在驱动中已经对寄存器进行了设置,所以在读取寄存器之前,先通过读取0xe4的方式,写入0xe4这一条特殊命令,给bh1726进行软复位,然后再进行寄存器的读取。
17-20.png
用i2cget读到i2c-1总线上0x29设备的0x81寄存器值为0xda。
(五)i2cset设置单个寄存器值:
17-21.png
用i2cset设置i2c-1上0x29设备的0x81寄存器值为0xff;
用i2cget读i2c-1上0x29设备的0x81寄存器值为0xff。
(六)用i2ctransfer写/读寄存器:
17-22.png
格式:
1:代表i2c总线号i2c-1;
w:代表写;
w2:代表写2Byte;
0x29:代表设备地址为0x29;
0x81:代表偏移0x81;
0xff:代表要写入的数据;
i2ctransfer是严格按照i2c协议读写时序操作的,我们想读取0x29的0x81的寄存器值,需要先把0x81发送给从设备,所以用到了w1写1个字节,之后才是r1读1字节数据。

回复

使用道具 举报

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

本版积分规则

关闭

站长推荐上一条 /4 下一条



手机版|小黑屋|与非网

GMT+8, 2024-11-17 23:30 , Processed in 0.121552 second(s), 17 queries , MemCache On.

ICP经营许可证 苏B2-20140176  苏ICP备14012660号-2   苏州灵动帧格网络科技有限公司 版权所有.

苏公网安备 32059002001037号

Powered by Discuz! X3.4

Copyright © 2001-2024, Tencent Cloud.