2012年5月21日 星期一

linux 下 用I2C tools 來讀取 i2c 上的 register

前陣子再測試 TI DM8168 時, 發現 i2c bus 好像有標準的 tool 可以測試, 
找了一下, 發現了一套 i2c-tools, 請到 lm-sensors 網站下載. compile 後應該有四個執行檔

  • i2cdetect – 用來列舉I2C bus和上面所有的裝置
  • i2cdump – 顯示裝置上所有register的值
  • i2cget – 讀取裝置上某個register的值
  • i2cset – 寫入裝置上某個register

example:

#i2cdetect -l
i2c-1 i2c       OMAP I2C adapter                 I2C adapter
i2c-2 i2c       OMAP I2C adapter                 I2C adapter




#i2cdetect -y -r 1
     0  1  2  3  4  5  6  7  8  9  a  b  c  d  e  f
00:          -- -- -- -- -- -- -- -- -- -- -- -- -- 
10: -- -- -- -- -- -- -- -- UU -- -- -- -- -- -- -- 
20: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 
30: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 
40: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 
50: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 
60: -- -- -- -- -- -- -- -- UU -- -- -- -- -- -- -- 
70: -- -- -- -- -- -- -- --




#i2cdump -f -y 1 0x18
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: 00 00 00 10 04 00 00 00 00 00 00 01 00 00 00 80    ...??......?...?
10: 80 ff ff 78 78 78 78 78 78 06 00 fe 00 00 fe 00    ?..xxxxxx?.?..?.
20: 00 00 00 00 20 00 00 00 00 00 00 80 80 00 00 00    .... ......??...
30: 00 00 00 04 00 00 00 00 00 00 04 00 00 00 00 00    ...?......?.....
40: 00 04 00 00 00 00 00 00 04 00 00 00 00 00 00 00    .?......?.......
50: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    ................
60: 00 02 00 00 00 00 02 00 00 00 00 00 00 00 00 00    .?....?.........
70: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    ................
80: 00 00 00 10 04 00 00 00 00 00 00 01 00 00 00 80    ...??......?...?
90: 80 ff ff 78 78 78 78 78 78 06 00 fe 00 00 fe 00    ?..xxxxxx?.?..?.
a0: 00 00 00 00 20 00 00 00 00 00 00 80 80 00 00 00    .... ......??...
b0: 00 00 00 04 00 00 00 00 00 00 04 00 00 00 00 00    ...?......?.....
c0: 00 04 00 00 00 00 00 00 04 00 00 00 00 00 00 00    .?......?.......
d0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    ................
e0: 00 02 00 00 00 00 02 00 00 00 00 00 00 00 00 00    .?....?.........
f0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    ................



#i2cset -f -y 1 0x68 0x08 0x0
i2cget 用法與 set 相似.






reference:
http://3sec.kilab.tw/?p=260
http://www.lm-sensors.org/wiki/man/i2cdetect
http://www.acmesystems.it/i2c

沒有留言:

張貼留言