linux交叉编译 i2c-tools
- 1. 获取源码
- 2. 解压源码
- 3. 指定交叉编译器
- 4. 编译
- 5. 移植
- 6 附录
- 7 命令举例
- 7.1 i2cdetect
- 7.2 i2cdump
- 7.3 i2cset 与 i2cget
- 7.4 i2ctransfer
- 7.4.1 读
- 7.4.2 写
1. 获取源码
I2C tool 是一个开源工具,需自行下载进行交叉编译,代码下载地址:
https://www.kernel.org/pub/software/utils/i2c-tools/
或者
wget https://mirrors.edge.kernel.org/pub/software/utils/i2c-tools/i2c-tools-4.1.tar.xz
2. 解压源码
tar xvf i2c-tools-4.1.tar.gzcd i2c-tools-4.1
3. 指定交叉编译器
export CC=aarch64-linux-gnu-gccexport STRIP=aarch64-linux-gnu-stripexport AR=aarch64-linux-gnu-ar
4. 编译
make
5. 移植
1)将tools目录下的i2cdetect
、i2cdump
等生成的工具拷贝到开发板文件系统/usr/sbin
路径下,然后在路径下执行
sudo chmod 755 i2cdetect
2)将lib目录下的libi2c.so.0.1.1
拷贝到开发板文件系统/usr/lib
路径下,然后在路径下执行
sudo ln -s libi2c.so.0.1.1 libi2c.so.0
sudo ln -s libi2c.so.0 libi2c.so
效果验证
6 附录
自动编译脚本build-i2ctools.sh
,直接放到 i2c-tools-4.1
#!/bin/bashGCC_DIR=<自定义的路径>/gcc-linaro-6.3.1-2017.05-x86_64_aarch64-linux-gnu/bin/aarch64-linux-gnuexport CC=$GCC_DIR-gcc
export STRIP=$GCC_DIR-strip
export AR=$GCC_DIR-armake
7 命令举例
7.1 i2cdetect
1) 检测系统上有几组i2c总线
sudo i2cdetect -l
2) 检测挂载在i2c总线上器件
sudo i2cdetect -r -y 1 #(检测i2c-1上的挂载情况)
7.2 i2cdump
用i2cdump
查看器件所有寄存器的值,这个很有用,输入
sudo i2cdump -f -y 2 0x1C #(查看alc5640寄存器值)
7.3 i2cset 与 i2cget
用 i2cset
设置单个寄存器值,用i2cget
读取单个寄存器值,可以在初期调试时发挥很大作用,一旦有预期的现象出现,就可以用i2cdump
读出整个寄存器的值,然后固化到代码中。
sudo i2cget -f -y 2 0x1c 0x04 #(读取i2c-2上0x1c器件的0x77寄存器值)sudo i2cset -f -y 2 0x1c 0x04 0xc8 #(设置i2c-2上0x1c器件的0x77寄存器值为0x3f)
7.4 i2ctransfer
i2ctransfer支持16位/32位
寄存器的读写,i2cset和i2cget只能读取8位的
寄存器。所以i2ctransfer可以替代i2cset和i2cget。
7.4.1 读
sudo i2ctransfer -f -y <i2cno> w<num>@<i2caddr> <data0> <data1> <datan> <rnum>
0x1C
为I2C设备的地址, 0x0002
为要读的寄存器地址, r2
为连续读2Byte, 0xc8 0xc8
为读到的寄存器的值。
注意:
由于系统字节序存储方式分为大端小端,所以在使用i2ctransfer
读多字节I2C设备寄存器地址值时,注意寄存器地址顺序。
7.4.2 写
sudo i2ctransfer -f -y <i2cno> w<num>@<i2caddr> <data0> <data1> <data2>
0x1C
为I2C设备的地址, 0x0002
为要写的寄存器地址, 0x48为写入的值。
linux交叉编译 i2c-tools相关推荐
- linux i2c调试命令,嵌入式Linux下I2C接口调试
By Toradex秦海 1).简介 I2C是嵌入式设备最为常用的接口之一,常用于如下面这些应用场景,因此本文就基于嵌入式Linux演示在User Space进行I2C设备调试. - Digital ...
- linux top交叉编译_Linux 系统下ARM Linux交叉编译环境crosstool工具
Linux系统下ARM Linux交叉编译环境的建立目前流行的有三种途径. 一.使用别人编译好的开发工具链本文引用地址:http://www.eepw.com.cn/article/201611/31 ...
- linux top交叉编译_ARM Linux交叉编译工具链的制作
本次是在VMWare虚拟机里安装了CentOS5.2操作系统,并在上面编译自己的ARM交叉编译工具链,下面是相应的步骤: 首先下载crosstool0.43源码包(crosstool-0.43.tar ...
- i2c tools ds90ub927芯片使用
i2c tools && ds90ub927芯片使用: **下载:**git clone git://git.kernel.org/pub/scm/utils/i2c-tools/i2 ...
- Linux 交叉编译简介
Linux 交叉编译简介 主机,目标,交叉编译器 主机与目标 编译器是将源代码转换为可执行代码的程序.像所有程序一样,编译器运行在特定类型的计算机上,输出的新程序也运行在特定类型的计算机上. 运行编译 ...
- 实例解析linux内核I2C体系结构
实例解析linux内核I2C体系结构 一.概述 谈到在linux系统下编写I2C驱动,目前主要有两种方式,一种是把I2C设备当作一个普通的字符设备来处理,另一种是利用linux I2C驱动体系结构来完 ...
- 【驱动】linux下I2C驱动架构全面分析
I2C 概述 I2C是philips提出的外设总线. I2C只有两条线,一条串行数据线:SDA,一条是时钟线SCL ,使用SCL,SDA这两根信号线就实现了设备之间的数据交互,它方便了工程师的布线. ...
- 解决Linux安装 VMware tools 工具的方法
解决Linux安装 VMware tools 工具的方法 参考文章: (1)解决Linux安装 VMware tools 工具的方法 (2)https://www.cnblogs.com/ios9/p ...
- ubuntu 安装linux 下vmVMware tools 步骤及问题解决
ubuntu 安装linux 下vmVMware tools 步骤及问题解决 参考文章: (1)ubuntu 安装linux 下vmVMware tools 步骤及问题解决 (2)https://ww ...
- Kali Linux安装VMware Tools
Kali Linux安装VMware Tools VMware Tools可以用来实现物理机与虚拟机之间拖放文件,并且使的虚拟机更加流畅.大学霸IT达人在虚拟机VMware中安装的Kali Linux ...
最新文章
- OpenAI最新论文:机器学习效率正在超越摩尔定律
- C++易被忽略的知识点:移动语义 左值右值
- 手机MMI体系结构及其实现
- 我的世界暮色森林java下载_我的世界暮色森林mod1.7.2下载-暮色森林整合包下载...
- One-hot encoding 独热编码
- C#计算程序的运行时间
- 客户流失预警模型怎么做?
- 三维点云学习(4)5-DBSCNA python 复现-3-kd-tree radius NN 三方库 scipy 与 sklearn速度比较
- JavaScript杂谈(顺便也当知识积累)
- Python 之图片对比
- Oracle Grid 下载地址
- [js高手之路]Node.js模板引擎教程-jade速学与实战1-基本用法
- PotPlayer LAV MadVR SVP4/BFRC播放器设置(极为详细,硬解,渲染,插帧按CPU性能评级)
- powershell快捷键_Windows10 PowerShell快捷键大全
- 【多线程】送你1万朵玫瑰花
- HOW UNREAL RENDERS A FRAME
- unreal 渲染讲的比较好的材料
- 安信可LoRaWAN网关 RG-02 接入TTN平台,控制多节点LoRaWAN模组。
- 如何将计算思维融合到C语言程序设计中,利用案例融合计算思维与C语言教学
- web服务器双机热备方案解析
热门文章
- UE4官方文档UI学习:1.UMG UI设计器快速入门
- python简单计算器异常处理_Python计算器(正确除零)
- Python 支付宝转账到银行卡二维码制作步骤分享
- [裴礼文数学分析中的典型问题与方法习题参考解答]4.5.5
- Python-密码字典生成
- 视频教程-ThreeJS视频教程-JavaScript
- 宣讲会通知|香港科技大学工学院理学硕士线上直播综合场【MSc】
- linux ps 程序包,linux ps 详解
- 安装USB--RS232驱动,提示设备无法启动,解决方法
- android开源播放器代码,github上十二款最著名的Android播放器开源项目