i2c-tools 簡介
在嵌入式開發(fā)中,有時(shí)候需要確認(rèn)硬件是否正常連接,設(shè)備是否正常工作,設(shè)備的地址是多少等等,這里我們就需要使用一個(gè)用于測試I2C 總線的工具:i2c-tools。
i2c-tools 工具是一個(gè)專門調(diào)試 i2c 的,開源,可獲取掛載的設(shè)備及設(shè)備地址,還可以讀寫 I2C
設(shè)備寄存器。
調(diào)試新的設(shè)備驅(qū)動(dòng)時(shí),難免要反復(fù)修改寄存器,然后看結(jié)果現(xiàn)象。傳統(tǒng)的做法是【修改驅(qū)動(dòng)代碼寄存器值->編譯->下載->運(yùn)行->看結(jié)果】,這一過程比較費(fèi)時(shí)間,而每次需要改的可能只是1 個(gè) bit,這種情況下 i2c-tools 是神器。
下載后在 Ubuntu 解壓,如果想在開發(fā)板使用,就用自己板子對(duì)應(yīng)的
gcc 工具鏈編譯;如果想在ubuntu 使用,就用 ubuntu 的默認(rèn)的 gcc 編譯即可。
編譯會(huì)生成五個(gè)工具:i2cdetect、i2cset、i2cget、i2cdump、i2ctransfer,拷貝到開發(fā)板中就可以使用;也可以直接把i2c-tools 源碼包放到自己的源碼中,直接編譯進(jìn)固件。
i2cdetect:用于掃描 i2c 總線上的設(shè)備,并顯示地址
i2cset:設(shè)置i2c設(shè)備某個(gè)寄存器的值
i2cget:讀取i2c設(shè)備某個(gè)寄存器的值
i2cdump:讀取某個(gè)i2c設(shè)備所有寄存器的值
i2ctransfer:一次性讀寫多個(gè)字節(jié)
該工具原本是在 Linux 上使用,因?yàn)?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)注
5088文章
19159瀏覽量
306519 -
Linux
+關(guān)注
關(guān)注
87文章
11330瀏覽量
209978 -
I2C
+關(guān)注
關(guān)注
28文章
1495瀏覽量
124131
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
評(píng)論