linux i2c设备使用

作者

QQ群:852283276
微信:arm80x86
微信公众号:青儿创客基地
B站:主页 https://space.bilibili.com/208826118

参考

i2cset(8) - Linux man page

i2c-tools

由于在T2080项目中使用小型文件系统,文件系统不包含i2c-tools,采用手动编译,下载i2c-tools

make clean
make PREFIX=$cur_path/t2080-$FSL_PPC64E6500_TOOLCHAIN_VER
make PREFIX=$cur_path/t2080-$FSL_PPC64E6500_TOOLCHAIN_VER install

或者在yocto中添加软件包,定制fsl-image-hi.bb

# Copyright (C) 2015 Freescale Semiconductor

require fsl-image-minimal.bb

SUMMARY = "Small image commonly used for manufacturing or other small image needs."
DESCRIPTION = "Small image which only includes essential manufacturing \
packages to deploy other big images to large physical media, such as \
a USB stick or a hard drive."

LICENSE = "MIT"

IMAGE_INSTALL_append = " \
    packagegroup-core-ssh-openssh \
    packagegroup-fsl-mfgtools \
    e2fsprogs-badblocks \
    e2fsprogs-e2fsck \
    e2fsprogs-tune2fs  \
    i2c-tools \
"
IMAGE_FSTYPES += " ext4.gz ext4.gz.u-boot"

i2c控制器列表:i2cdetect -l
扫描总线上的设备:i2cdetect -y -r 1(总线号为1)
读寄存器:i2cget -y 1 0x58 6(读总线号1,地址0x58,地址0x6寄存器)
有个bug只能读单个寄存器,以地址+寄存器的模式来读取,对于很多i2c芯片无法操作,

EEPROM

设备树,

eeprom@50 {
	compatible = "atmel,24c1024";
	reg = <0x50>;
};

命令,

root@t2080rdb:~# ls /sys/class/i2c-dev/i2c-0/device/0-0050/
driver/    eeprom     modalias   name       of_node/   subsystem/ uevent      
root@t2080rdb:~# echo "0123456" > /sys/class/i2c-dev/i2c-0/device/0-0050/eeprom 
root@t2080rdb:~# cat /sys/class/i2c-dev/i2c-0/device/0-0050/eeprom
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值