Linux ARM IIC I2C EEPROM 读写操作

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Linux ARM IIC I2C EEPROM 读写操作相关的知识,希望对你有一定的参考价值。



检测有几组i2c总线

[email protected]:~# i2cdetect -l
i2c-0	i2c       	OMAP I2C adapter                	I2C adapter
i2c-1	i2c       	OMAP I2C adapter                	I2C adapter
[email protected]:~#


检查每个总线上的设备在线状态:-y表示yes,0表示/dev/i2c-0

[email protected]:~# i2cdetect  -y -r 0
     0  1  2  3  4  5  6  7  8  9  a  b  c  d  e  f
00:          -- -- -- -- -- -- -- -- -- -- -- -- -- 
10: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 
20: -- -- -- -- UU -- -- -- -- -- -- -- -- -- -- -- 
30: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 
40: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 
50: UU -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 
60: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 
70: -- -- -- -- -- -- -- --                         
[email protected]:~# 
UU表示0x50这个地址上有设备正在使用




查看EEPROM里的内容,下面的0表示/dev/i2c-0总线,0x50是EEPROM的地址

[email protected]:~# i2cdump -f -y 0 0x50
No size specified (using byte-data access)
     0  1  2  3  4  5  6  7  8  9  a  b  c  d  e  f    0123456789abcdef
00: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff    ................
10: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff    ................
20: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff    ................
30: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff    ................
40: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff    ................
50: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff    ................
60: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff    ................
70: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff    ................
80: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff    ................
90: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff    ................
a0: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff    ................
b0: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff    ................
c0: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff    ................
d0: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff    ................
e0: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff    ................
f0: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff    ................
[email protected]:~#


获取/设置i2C0-0总线的0x24设备的第01字节的数据

[email protected]:~# i2cget -f -y 0 0x24 01   
[email protected]:~# i2cset -f -y 0 0x24 01 0xaa   #掉电后,写入的数据无效,待调查。。。
[email protected]:~# i2cget -f -y 0 0x24 01


BeagleBone Black 从文件读取写入EEPROM,永久生效

[email protected]:~# dd if=eeprom.bin of=/sys/bus/i2c/devices/0-0050/eeprom #大约要等5分钟






本文出自 “李春利” 博客,请务必保留此出处http://990487026.blog.51cto.com/10133282/1977966

以上是关于Linux ARM IIC I2C EEPROM 读写操作的主要内容,如果未能解决你的问题,请参考以下文章

[国嵌攻略][156][I2C自编设备驱动设计]

arm开发板上找不到/dev/i2c-*设备

s3c2440的IIC控制

LINUX驱动之IIC驱动

完善虚拟的I2C\_Adapter驱动并模拟EEPROM

28.Linux-IIC驱动(详解)