1. 程式人生 > >Linux ARM IIC I2C EEPROM 讀寫操作

Linux ARM IIC I2C EEPROM 讀寫操作

linux arm iic i2c eeprom 讀寫操作



檢測有幾組i2c總線

root@beaglebone:~# i2cdetect -l
i2c-0	i2c       	OMAP I2C adapter                	I2C adapter
i2c-1	i2c       	OMAP I2C adapter                	I2C adapter
root@beaglebone:~#


檢查每個總線上的設備在線狀態:-y表示yes,0表示/dev/i2c-0

root@beaglebone:~# 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: -- -- -- -- -- -- -- --                         
root@beaglebone:~# 
UU表示0x50這個地址上有設備正在使用




查看EEPROM裏的內容,下面的0表示/dev/i2c-0總線,0x50是EEPROM的地址

root@beaglebone:~# 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    ................
root@beaglebone:~#


獲取/設置i2C0-0總線的0x24設備的第01字節的數據

root@beaglebone:~# i2cget -f -y 0 0x24 01   
root@beaglebone:~# i2cset -f -y 0 0x24 01 0xaa   #掉電後,寫入的數據無效,待調查。。。
root@beaglebone:~# i2cget -f -y 0 0x24 01


BeagleBone Black 從文件讀取寫入EEPROM,永久生效

root@beaglebone:~# 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 讀寫操作