Android I2c-Tools安装使用说明
发布日期:2021-05-07 13:26:55 浏览次数:23 分类:精选文章

本文共 2063 字,大约阅读时间需要 6 分钟。

将 i2c-tools 代码下载到 Android 源码的 external 目录下,在 i2c-tools 目录下新建 文件,内容如下:

LOCAL_PATH := $(call my-dir)include $(CLEAR_VARS)LOCAL_MODULE_TAGS := engLOCAL_C_INCLUDES += $(LOCAL_PATH) $(LOCAL_PATH)/$(KERNEL_DIR)/includeLOCAL_SRC_FILES := tools/i2cbusses.c tools/util.cLOCAL_MODULE := i2c-toolsinclude $(BUILD_STATIC_LIBRARY)include $(CLEAR_VARS)LOCAL_MODULE_TAGS := engLOCAL_SRC_FILES:=tools/i2cdetect.cLOCAL_MODULE:=i2cdetectLOCAL_CPPFLAGS += -DANDROIDLOCAL_SHARED_LIBRARIES:=libcLOCAL_STATIC_LIBRARIES := i2c-toolsLOCAL_C_INCLUDES += $(LOCAL_PATH) $(LOCAL_PATH)/$(KERNEL_DIR)/includeinclude $(BUILD_EXECUTABLE)include $(CLEAR_VARS)LOCAL_MODULE_TAGS := engLOCAL_SRC_FILES:=tools/i2cget.cLOCAL_MODULE:=i2cgetLOCAL_CPPFLAGS += -DANDROIDLOCAL_SHARED_LIBRARIES:=libcLOCAL_STATIC_LIBRARIES := i2c-toolsLOCAL_C_INCLUDES += $(LOCAL_PATH) $(LOCAL_PATH)/$(KERNEL_DIR)/includeinclude $(BUILD_EXECUTABLE)include $(CLEAR_VARS)LOCAL_MODULE_TAGS := engLOCAL_SRC_FILES:=tools/i2cset.cLOCAL_MODULE:=i2csetLOCAL_CPPFLAGS += -DANDROIDLOCAL_SHARED_LIBRARIES:=libcLOCAL_STATIC_LIBRARIES := i2c-toolsLOCAL_C_INCLUDES += $(LOCAL_PATH) $(LOCAL_PATH)/$(KERNEL_DIR)/includeinclude $(BUILD_EXECUTABLE)include $(CLEAR_VARS)LOCAL_MODULE_TAGS := engLOCAL_SRC_FILES:=tools/i2cdump.cLOCAL_MODULE:=i2cdumpLOCAL_CPPFLAGS += -DANDROIDLOCAL_SHARED_LIBRARIES:=libcLOCAL_STATIC_LIBRARIES := i2c-toolsLOCAL_C_INCLUDES += $(LOCAL_PATH) $(LOCAL_PATH)/$(KERNEL_DIR)/includeinclude $(BUILD_EXECUTABLE)

然后 Android根目录:

source build/envsetup.sh cd external/i2c-tools mm

编译后在 out/target/product/xxx/system/bin目录下生成4个可执行程序:

i2cdetecti2cdumpi2cgeti2cset

通过 adb push 之间将编译生成的4个文件复制到 Android 平台的 /system/bin 目录下。 在 abd pusll 之前,要先将 system 分区 remount 成可写入模式。

adb shellcd system/bin

用i2cdetect检测有几组i2c总线在系统上:

i2cdetect -l

用i2cdetect检测挂载在i2c_n总线上器件:

i2cdetect-r -y 0  i2cdetect-r -y 1...

用i2cget获取挂在在i2c总线上的设备中某个寄存器中的值

如: 获取 i2c2下设备地址为 0x24 ,寄存器地址为0x0a中的数值

i2cget -y -f 2 0x24 0x0a0x7f

读取 0x34地址设备的 0x28寄存器值

/system/bin # i2cget -f -y 0 0x34 0x28

向地址为0x34的设备 的0x24地址 寄存器 写入 0xfb

/system/bin # i2cset -f -y 0 0x34 0x28 0xfb
上一篇:数据结构回炉指南
下一篇:C++ 回炉指南

发表评论

最新留言

不错!
[***.144.177.141]2025年04月28日 12时51分15秒

关于作者

    喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!

推荐文章

Linux系列:ubuntu各版本之间的区别以及Ubuntu、kubuntu、xUbuntu、lubuntu等版本区别及界面样式 2023-01-23
mysql系列:远程连接MySQL错误“plugin caching_sha2_password could not be loaded”的解决办法 2023-01-23
Nessus扫描结果出现在TE.IO或者ES容器结果查看问题解决方案 2023-01-23
Nmap渗透测试指南之探索网络 2023-01-23
Nmap渗透测试指南之防火墙/IDS逃逸、信息搜集 2023-01-23
Nmap端口服务 之 CentOS7 关于启动Apache(httpd)服务、telnet服务、smtp服务、ftp服务、sftp服务、snmp服务 2023-01-23
PHP系列:PHP 基础编程 2(时间函数、数组---实现登录&注册&修改) 2023-01-23
PHP系列:使用PHP实现登录注册功能的完整指南 2023-01-23
Python&aconda系列:cmd/powershell/anaconda prompt提示“系统找不到指定的路径”(亲测有效) 2023-01-23
Python&aconda系列:conda踩坑记录2.UnsatisfiableError: The following specifications were found to be incompa 2023-01-23
Python&aconda系列:Jupyter Notebook快速上手、深度学习库PyTorch安装 2023-01-23
Python&aconda系列:(W&L)Conda使用faiss-gpu报错及解决办法、安装numpy的坑、cmd执行Python脚本找不到第三方库、安装tensorflow-gpu时遇到的from 2023-01-23
python&anconda 系列:Pycharm在debug问题的N种解决方案(一般程序、web方向、人工智能方向) 2023-01-23
python&anconda系列(亲测有效):tensorflow AttributeError: ‘str’ object has no attribute ‘decode’ 2023-01-23
python&anconda系列:tf.keras.backend.get_session()和keras.backend.get_会话()返回不同的会话对象(待解答) 2023-01-23
"WARNING: Increasing RAM size to 1GB" and "Cannot set up guest memory 'xxx.ram': Invalid argument". 2023-01-23
#if 0 #elif 1 #else #endif 用法 2023-01-23
#include <gdiplus.h>出错 2023-01-23
$ajax({}).done 和 $ajax({}) success 区别 2023-01-23
'ascii' codec can't encode characters in position 0-4: ordinal not in range(128) 2023-01-23