[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/
选择要安装的版本
[RK3399]移植工具i2c-tools_第1张图片
根据自己linux系统已有的解压工具选择对应的压缩文件,这里我下载的是 “.gz”格式,方便解压。执行“tar -xvzf i2c-tools-4.1.tar.gz ”解压。

i2ctools移植到rk3399

1.将上一步下载下来的源码解压后,可看到该路径下的文件
[RK3399]移植工具i2c-tools_第2张图片
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”
[RK3399]移植工具i2c-tools_第3张图片

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 $

你可能感兴趣的:(瑞芯微RK,工具类,i2c-tools,Android,Linux)