i2c-tools 簡(jiǎn)介
在嵌入式開(kāi)發(fā)中,有時(shí)候需要確認(rèn)硬件是否正常連接,設(shè)備是否正常工作,設(shè)備的地址是多少等等,這里我們就需要使用一個(gè)用于測(cè)試I2C 總線(xiàn)的工具:i2c-tools。
i2c-tools 工具是一個(gè)專(zhuān)門(mén)調(diào)試 i2c 的,開(kāi)源,可獲取掛載的設(shè)備及設(shè)備地址,還可以讀寫(xiě) I2C
設(shè)備寄存器。
調(diào)試新的設(shè)備驅(qū)動(dòng)時(shí),難免要反復(fù)修改寄存器,然后看結(jié)果現(xiàn)象。傳統(tǒng)的做法是【修改驅(qū)動(dòng)代碼寄存器值->編譯->下載->運(yùn)行->看結(jié)果】,這一過(guò)程比較費(fèi)時(shí)間,而每次需要改的可能只是1 個(gè) bit,這種情況下 i2c-tools 是神器。
下載后在 Ubuntu 解壓,如果想在開(kāi)發(fā)板使用,就用自己板子對(duì)應(yīng)的
gcc 工具鏈編譯;如果想在ubuntu 使用,就用 ubuntu 的默認(rèn)的 gcc 編譯即可。
編譯會(huì)生成五個(gè)工具:i2cdetect、i2cset、i2cget、i2cdump、i2ctransfer,拷貝到開(kāi)發(fā)板中就可以使用;也可以直接把i2c-tools 源碼包放到自己的源碼中,直接編譯進(jìn)固件。
i2cdetect:用于掃描 i2c 總線(xiàn)上的設(shè)備,并顯示地址
i2cset:設(shè)置i2c設(shè)備某個(gè)寄存器的值
i2cget:讀取i2c設(shè)備某個(gè)寄存器的值
i2cdump:讀取某個(gè)i2c設(shè)備所有寄存器的值
i2ctransfer:一次性讀寫(xiě)多個(gè)字節(jié)
該工具原本是在 Linux 上使用,因?yàn)?Android 系統(tǒng)的內(nèi)核也是 Linux,故很方便的可以移植到
Android 中。
這是某位大佬根據(jù) i2c-tools 4.1 移植的,關(guān)于 Android 下的編譯博主上次寫(xiě)過(guò) 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、燒寫(xiě) system.img
-
嵌入式
+關(guān)注
關(guān)注
5200文章
20457瀏覽量
334293 -
Linux
+關(guān)注
關(guān)注
88文章
11764瀏覽量
219092 -
I2C
+關(guān)注
關(guān)注
28文章
1556瀏覽量
131266
發(fā)布評(píng)論請(qǐng)先 登錄
飛凌嵌入式ElfBoard ELF 1板卡-Linux下i2c-tools的交叉編譯
飛凌嵌入式ElfBoard ELF 1板卡-i2c與從設(shè)備通訊編程示例之i2c-tools工具使用
飛凌嵌入式ElfBoard EL 1板卡-i2c與從設(shè)備通訊編程示例之i2c-tools工具使用
ESP32P4示例工程中有用的i2c-tools調(diào)試工程
i2c0的引腳配置如下,為什么使用i2c-tools掃描i2c0的時(shí)候所有地址都應(yīng)答了?
i2c-tools的移植和使用
樹(shù)莓派系列教程10:I2C
迅為-iMX6ULL開(kāi)發(fā)板-i2c測(cè)試工具
迅為-iMX6ULL開(kāi)發(fā)板-i2c測(cè)試工具
STM32F103硬件I2C Slave的相關(guān)資料分享
請(qǐng)問(wèn)如何將i2ctools移植到rk3399開(kāi)發(fā)板上呢
在RK3288 Android7系統(tǒng)下使用i2c-tools
請(qǐng)問(wèn)ch32v307加i2c tools編譯出錯(cuò)是哪里引起的?
STM32F103硬件I2C Slave
i2c-tools工具的介紹
評(píng)論