Linux ARM IIC I2C EEPROM 讀寫操作
阿新 • • 發佈:2017-11-01
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 讀寫操作