[RK3399]移植工具i2c-tools

Platform: ROCKCHIP
Chip: RK3399
OS: Android7.1.2
Kernel: 4.4.126

简介

i2c-tools 是一款免费开源的工具,是linux系统下一款i2c调试利器,方便对i2c总线和i2c设备调试,i2ctools工具支持的功能包括:

  1. 检测cpu i2c总线:一般用于cpu i2c总线驱动调试,但是一般情况下,cpu原厂已经提供i2c总线驱动,除非是原厂驱动开发,否则大多数驱动编写场景都是基于i2c总线驱动开发i2c设备驱动。
  2. 检测i2c总线挂载的设备
  3. i2c设备读写访问
    检测硬件是否有误,驱动不正常时首先检测电路连接是否正常;实时检测状态寄存器;实时更改i2c设备配置,最终确定好配置信息后,再修改驱动程序;验证驱动的读写功能是否正确。

源码下载地址

https://mirrors.edge.kernel.org/pub/software/utils/i2c-tools/
选择要安装的版本
在这里插入图片描述
根据自己linux系统已有的解压工具选择对应的压缩文件,这里我下载的是 “.gz”格式,方便解压。执行“tar -xvzf 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 $
  • 0
    点赞
  • 22
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值