i2c-tools 簡(jiǎn)介
在嵌入式開發(fā)中,有時(shí)候需要確認(rèn)硬件是否正常連接,設(shè)備是否正常工作,設(shè)備的地址是多少等等,這里我們就需要使用一個(gè)用于測(cè)試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)注
5125文章
19438瀏覽量
313070 -
Linux
+關(guān)注
關(guān)注
87文章
11420瀏覽量
212319 -
I2C
+關(guān)注
關(guān)注
28文章
1514瀏覽量
126518
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
飛凌嵌入式ElfBoard ELF 1板卡-Linux下i2c-tools的交叉編譯
飛凌嵌入式ElfBoard ELF 1板卡-i2c與從設(shè)備通訊編程示例之i2c-tools工具使用
飛凌嵌入式ElfBoard EL 1板卡-i2c與從設(shè)備通訊編程示例之i2c-tools工具使用
i2c-tools的移植和使用
【NanoPi2試用體驗(yàn)】nanopi2使用linux i2cdetect失敗
樹莓派系列教程10:I2C
【創(chuàng)龍AM4379 Cortex-A9試用體驗(yàn)】3.i2c設(shè)備在am4379開發(fā)板上的應(yīng)用
迅為-iMX6ULL開發(fā)板-i2c測(cè)試工具
迅為-iMX6ULL開發(fā)板-i2c測(cè)試工具
STM32F103硬件I2C Slave的相關(guān)資料分享
請(qǐng)問如何將i2ctools移植到rk3399開發(fā)板上呢
在RK3288 Android7系統(tǒng)下使用i2c-tools
請(qǐng)問ch32v307加i2c tools編譯出錯(cuò)是哪里引起的?
STM32F103硬件I2C Slave

評(píng)論