i2c-tools-3.1.0的使用

      調試i2c設備時大家肯定會遇到i2c讀寫的問題,如何讀取某個設備指定的寄存器?如何把值寫入到該寄存器?想必這些很多人都會遇到。android本身沒有這樣的工具,所以只能自己寫或者使用其他開源的codes。i2c-tools-3.1.0是在網上找到的一個相當合適的工具,所以我們可以好好利用,好的工具可以讓我們開發事半工倍。

      其它就不用多說了,進入主題吧!

      i2c-tools-3.1.0代碼很容易獲取,網上一搜一大把。下面是code的結構,這裏我主要分析tools這一塊。

1:在tools目錄下創建Android.mk文件,用於編譯用。配好android環境後,使用mmm來編譯i2c-tools,最後在out目錄下system/bin生成i2cdetect、i2cset、i2cget、i2cdump。

LOCAL_PATH:= $(call my-dir)
# HAL module implemenation, not prelinked and stored in
# hw/<COPYPIX_HARDWARE_MODULE_ID>.<ro.board.platform>.so
include $(CLEAR_VARS)

LOCAL_SRC_FILES := i2cdetect.c i2cbusses.c

LOCAL_PRELINK_MODULE := false

LOCAL_MODULE_TAGS := optional

LOCAL_SHARED_LIBRARIES := liblog

LOCAL_MODULE := i2cdetect

include $(BUILD_EXECUTABLE)
########################################################################
include $(CLEAR_VARS)

LOCAL_SRC_FILES := i2cget.c i2cbusses.c util.c

LOCAL_PRELINK_MODULE := false

LOCAL_MODULE_TAGS := optional

LOCAL_SHARED_LIBRARIES := liblog

LOCAL_MODULE := i2cget

include $(BUILD_EXECUTABLE)
########################################################################
include $(CLEAR_VARS)

LOCAL_SRC_FILES := i2cset.c i2cbusses.c util.c

LOCAL_PRELINK_MODULE := false

LOCAL_MODULE_TAGS := optional

LOCAL_SHARED_LIBRARIES := liblog

LOCAL_MODULE := i2cset

include $(BUILD_EXECUTABLE)
########################################################################
include $(CLEAR_VARS)

LOCAL_SRC_FILES := i2cdump.c i2cbusses.c util.c

LOCAL_PRELINK_MODULE := false

LOCAL_MODULE_TAGS := optional

LOCAL_SHARED_LIBRARIES := liblog

LOCAL_MODULE := i2cdump

include $(BUILD_EXECUTABLE)

2:i2cdetect分析

在終端輸入i2cdetect顯示幫助信息


#i2cdetect -l,列出系統可用的I2CBUS


#i2cdetect -y -r 2,查看總線2掛在有哪些設備,可以從下面看出掛了0x34的設備


其中AXP20_ADDR定義爲0x34,可以看出掛載的設備是PMU



3:i2cdump分析

# i2cdump -f -y 0 0x21

查看總線0上地址爲0x21設備(GC0309)上的寄存器值,可以看出寄存器0上的值爲0xa0,它表示該設備的Chip_ID



4:i2cget分析

# i2cget -f -y 0 0x21 0

讀取總線0地址爲0x21寄存器爲0的值

5:i2cset分析

# i2cset -f -y 0 0x21 0x2e 1

將總線0地址爲0x21的寄存器0x2e寫入1,從數據手冊看的出來0x2e是用來調試的,寫入1的話出現彩條圖像,出來的效果如圖。







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