i2c-tools-3.1.0的使用

来源:互联网 发布:网络语柚子是什么意思 编辑:程序博客网 时间:2024/05/16 17:40

      调试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>.soinclude $(CLEAR_VARS)LOCAL_SRC_FILES := i2cdetect.c i2cbusses.cLOCAL_PRELINK_MODULE := falseLOCAL_MODULE_TAGS := optionalLOCAL_SHARED_LIBRARIES := liblogLOCAL_MODULE := i2cdetectinclude $(BUILD_EXECUTABLE)########################################################################include $(CLEAR_VARS)LOCAL_SRC_FILES := i2cget.c i2cbusses.c util.cLOCAL_PRELINK_MODULE := falseLOCAL_MODULE_TAGS := optionalLOCAL_SHARED_LIBRARIES := liblogLOCAL_MODULE := i2cgetinclude $(BUILD_EXECUTABLE)########################################################################include $(CLEAR_VARS)LOCAL_SRC_FILES := i2cset.c i2cbusses.c util.cLOCAL_PRELINK_MODULE := falseLOCAL_MODULE_TAGS := optionalLOCAL_SHARED_LIBRARIES := liblogLOCAL_MODULE := i2csetinclude $(BUILD_EXECUTABLE)########################################################################include $(CLEAR_VARS)LOCAL_SRC_FILES := i2cdump.c i2cbusses.c util.cLOCAL_PRELINK_MODULE := falseLOCAL_MODULE_TAGS := optionalLOCAL_SHARED_LIBRARIES := liblogLOCAL_MODULE := i2cdumpinclude $(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的话出现彩条图像,出来的效果如图。







0 0
原创粉丝点击