Linux學習之i-mx287學習:arm板上i2c-tools工具使用

i2c-tools是一個開源的linux下I2C設備測試工具,在Ubuntu或者ARM板環境下都能使用,下面介紹一下arm9下的I2C-tools工具的交叉編譯和使用測試。

步驟一:獲取i2c-tools源碼:

git clone https://github.com/ev3dev/i2c-tools.git

步驟二 :交叉編譯i2c-tools:

make CC=arm-linux-gcc

編譯完成後會在tools路徑下生成四個可執行工具程序,i2cdetect、i2cdump、i2cget、i2cset

步驟三:將可執行程序拷貝到板子上運行測試

我的是I-MAX287A的板子,運行後效果如下:

(1)查找i2c從設備的地址:

指令:

./i2cdetect -l

此指令可以列出板子上的i2c設備名稱

./i2cdetect -r -y 1

此指令可以掃描i2c總線上所有從設備的地址,這裏顯示的0x18這個地址,其實是在MCU作爲I2C從設備時初始化的0x30,可以看出i2c-tools掃描設備時地址是實際地址左移1位得到的。

(2)向I2C從設備寫數據

指令:

./i2cdump -f -y 1 0x18

該指令會向I2C-1總線的0x30地址循環寫256個字節的數據,如下圖中左側是MCU作爲I2C從設備接收的結果。

(3)讀取數據

指令:

./i2cget -f -y 1 0x18 0x00 w

爲了便於查看現象,首先往設從設備的緩存區i2c寫一些數據,然後通過i2c-tools的i2cget來單個字節讀取

如果不知道運行指令的參數代表什麼意思,可以用--help來獲取每個運行程序的幫助。

 

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章