i2c-tools 簡介
在嵌入式開發(fā)中,有時候需要確認(rèn)硬件是否正常連接,設(shè)備是否正常工作,設(shè)備的地址是多少等等,這里我們就需要使用一個用于測試I2C 總線的工具:i2c-tools。
i2c-tools 工具是一個專門調(diào)試 i2c 的,開源,可獲取掛載的設(shè)備及設(shè)備地址,還可以讀寫 I2C
設(shè)備寄存器。
調(diào)試新的設(shè)備驅(qū)動時,難免要反復(fù)修改寄存器,然后看結(jié)果現(xiàn)象。傳統(tǒng)的做法是【修改驅(qū)動代碼寄存器值->編譯->下載->運行->看結(jié)果】,這一過程比較費時間,而每次需要改的可能只是1 個 bit,這種情況下 i2c-tools 是神器。
下載后在 Ubuntu 解壓,如果想在開發(fā)板使用,就用自己板子對應(yīng)的
gcc 工具鏈編譯;如果想在ubuntu 使用,就用 ubuntu 的默認(rèn)的 gcc 編譯即可。
編譯會生成五個工具:i2cdetect、i2cset、i2cget、i2cdump、i2ctransfer,拷貝到開發(fā)板中就可以使用;也可以直接把i2c-tools 源碼包放到自己的源碼中,直接編譯進(jìn)固件。
i2cdetect:用于掃描 i2c 總線上的設(shè)備,并顯示地址
i2cset:設(shè)置i2c設(shè)備某個寄存器的值
i2cget:讀取i2c設(shè)備某個寄存器的值
i2cdump:讀取某個i2c設(shè)備所有寄存器的值
i2ctransfer:一次性讀寫多個字節(jié)
該工具原本是在 Linux 上使用,因為 Android 系統(tǒng)的內(nèi)核也是 Linux,故很方便的可以移植到
Android 中。
這是某位大佬根據(jù) i2c-tools 4.1 移植的,關(guān)于 Android 下的編譯博主上次寫過 Android
系統(tǒng)編譯技巧,大概流程如下:
1、源碼包放在 /external/i2c-tools/...
2、在Android源碼根目錄輸入
source build/envsetup.sh
lunch rk3399_mid-userdebug(自己的工程名字)
3、在 /external/i2c-tools/ 目錄下輸入 mm 模塊編譯
4、在 Android 根目錄輸入 make snod 重新打包 system.img
5、燒寫 system.img
-
嵌入式
+關(guān)注
關(guān)注
5092文章
19177瀏覽量
307679 -
Linux
+關(guān)注
關(guān)注
87文章
11345瀏覽量
210395 -
I2C
+關(guān)注
關(guān)注
28文章
1495瀏覽量
124563
發(fā)布評論請先 登錄
相關(guān)推薦
評論