1
完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
简介
i2c-tools 是一款免费开源的工具,是linux系统下一款i2c调试利器,方便对i2c总线和i2c设备调试,i2ctools工具支持的功能包括:
源码下载地址 选择要安装的版本 根据自己linux系统已有的解压工具选择对应的压缩文件,这里我下载的是 “.gz”格式,方便解压。执行“tar -xv*** i2c-tools-4.1.tar.gz ”解压。 i2ctools移植到rk3399 1.将上一步下载下来的源码解压后,可看到该路径下的文件 2.在 android 平台使用 i2c-tools,就需要进行交叉编译或者直接编译成可执行程序 方案一、修改 Makefile 进行交叉编译 修改Makefile,选择rk3399的交叉编译器,然后执行make编译 CC ?= arm-linux-gcc AR ?= arm-linux-ar 编译完成, 在“tools”目录生成可执行文件i2cdetect、i2cdump、i2cget、i2cset、i2ctransfer;在“lib”目录生成“libi2c.so.0.1.1”动态库文件。将执行文件拷贝到rk3399板子任意目录,将库文件“libi2c.so.0.1.1”拷贝到rk3399板子“/lib”目录下。然后创建软链接:根据提示错误信息,i2ctools执行文件依赖“libi2c.so.0”文件,在板子上直接执行会提示加载库文件失败。通过编译后“lib”目录发现“libi2c.so.0”实际上为一个软链接文件,链接到“libi2c.so.0.1.1” ln -s libi2c.so.0.1.1 libi2c.so.0 Makefile方式 生成的文件类型不是arm的,在设备上不可执行故选用第二种方案 方案二、编译成可执行程序 (1) 将 i2c-tools 文件夹拷贝到安卓工程external目录下 (2) 在 i2c-tools 目录添加 Android.mk 编译文件 Android.mk如下 LOCAL_PATH:= $(call my-dir) ################### i2c-tools ######################### include $(CLEAR_VARS) LOCAL_MODULE_TAGS := eng LOCAL_MODULE := i2c-tools LOCAL_SRC_FILES := tools/i2cbusses.c tools/util.c lib/smbus.c LOCAL_C_INCLUDES += $(LOCAL_PATH) $(LOCAL_PATH)/include #LOCAL_CFLAGS := -g -Wall -Werror -Wno-unused-parameter include $(BUILD_STATIC_LIBRARY) ################### i2cdetect ######################### include $(CLEAR_VARS) LOCAL_MODULE_TAGS := eng LOCAL_MODULE:=i2cdetect LOCAL_SRC_FILES:= tools/i2cdetect.c LOCAL_C_INCLUDES += $(LOCAL_PATH) $(LOCAL_PATH)/include LOCAL_SHARED_LIBRARIES:= libc LOCAL_STATIC_LIBRARIES := i2c-tools LOCAL_CPPFLAGS += -DANDROID include $(BUILD_EXECUTABLE) #################### i2cget ########################### include $(CLEAR_VARS) LOCAL_MODULE_TAGS := eng LOCAL_MODULE:=i2cget LOCAL_SRC_FILES:= tools/i2cget.c LOCAL_C_INCLUDES += $(LOCAL_PATH) $(LOCAL_PATH)/include LOCAL_SHARED_LIBRARIES:= libc LOCAL_STATIC_LIBRARIES := i2c-tools LOCAL_CPPFLAGS += -DANDROID include $(BUILD_EXECUTABLE) ##################### i2cset ########################## include $(CLEAR_VARS) LOCAL_MODULE_TAGS := eng LOCAL_MODULE:=i2cset LOCAL_SRC_FILES:= tools/i2cset.c LOCAL_C_INCLUDES += $(LOCAL_PATH) $(LOCAL_PATH)/include LOCAL_SHARED_LIBRARIES:= libc LOCAL_STATIC_LIBRARIES := i2c-tools LOCAL_CPPFLAGS += -DANDROID include $(BUILD_EXECUTABLE) ##################### i2cdump ######################### include $(CLEAR_VARS) LOCAL_MODULE_TAGS := eng LOCAL_MODULE:=i2cdump LOCAL_SRC_FILES:= tools/i2cdump.c LOCAL_C_INCLUDES += $(LOCAL_PATH) $(LOCAL_PATH)/include LOCAL_SHARED_LIBRARIES:= libc LOCAL_STATIC_LIBRARIES := i2c-tools LOCAL_CPPFLAGS += -DANDROID include $(BUILD_EXECUTABLE) ################### i2ctransfer ####################### include $(CLEAR_VARS) LOCAL_MODULE_TAGS := eng LOCAL_MODULE:=i2ctransfer LOCAL_SRC_FILES:= tools/i2ctransfer.c LOCAL_C_INCLUDES += $(LOCAL_PATH) $(LOCAL_PATH)/include LOCAL_SHARED_LIBRARIES:= libc LOCAL_STATIC_LIBRARIES := i2c-tools LOCAL_CPPFLAGS += -DANDROID include $(BUILD_EXECUTABLE) (3) 在工程目录下使用 mmm 指令进行模块化编译,步骤如下 1.source build/envsetup.sh 2.lunch rk3399_all-userdebug 3.mmm external/i2c-tools-4.2/ 编译完成后会在outtargetproductrk3399_allsystembin下生成可执行文件 查看下文件类型 (4) 通过 adb push 到 设备上即可 这里举例i2cdetect: -将i2cdetect push到设备的/data/local/tmp下
命令使用语法 i2cdetect
./i2cdetect -r -y i2c-no ./i2cdetect -r -y 0 /* 查看i2c0挂载的设备 */ i2c0上挂载了4个设备,地址分别是0x1b和0x40,0x41与0x51; 如果i2c设备驱动已经被系统加载,地址显示“UU”。 读取i2c设备所有寄存器值 ./i2cdump -f -y i2c-no i2c-addr ./i2cdump -f -y 0 0x51 /* 读取i2c0上的0x51所有寄存器值 */ 读取i2c设备指定寄存器 ./i2cget -f -y i2c-no i2c-addr reg 读取i2c0上的i2c-addr的芯片reg寄存器 写i2c设备指定寄存器 ./i2ctransfer -f -y i2c-no w-num@i2c-addr data-0 data-1 data-2 读取i2c设备多个字节数据 ./i2ctransfer -f -y i2c-no w-num@i2c-addr data-0 data-1 data-n r-num 写i2c设备多个字节数据 ./i2ctransfer -f -y i2c-no w-num@i2c-addr data-0 data-1 data-2 |
|
|
|
你正在撰写答案
如果你是对答案或其他答案精选点评或询问,请使用“评论”功能。
基于米尔瑞芯微RK3576核心板/开发板的人脸疲劳检测应用方案
498 浏览 0 评论
768 浏览 1 评论
667 浏览 1 评论
1893 浏览 1 评论
3138 浏览 1 评论
小黑屋| 手机版| Archiver| 德赢Vwin官网 ( 湘ICP备2023018690号 )
GMT+8, 2024-12-21 23:40 , Processed in 0.365925 second(s), Total 41, Slave 35 queries .
Powered by 德赢Vwin官网 网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
德赢Vwin官网 观察
版权所有 © 湖南华秋数字科技有限公司
德赢Vwin官网 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号