Linux 驱动-i2c工具篇
提示Linux 驱动-i2c工具篇文章目录前言一、资料参考二、开发工具下载-安装下载方式安装安装-使用思路下载对应版本-准备安装包二、工具使用i2cdetect基础原理1 i2cdetect -V: 输出版本信息2 i2cdetect -l: 列出所有的 I2C 总线3 i2cdetect -F 查询总线上设备支持的功能集4 i2cdetect -a 扫描总线上 0x00 到 0xFF 范围内的所有 I2C 设备地址5 常用核心参数清单i2cdump底层原理1 i2cdump -V 查看版本号2 读取设备寄存器3 指定寄存器范围读取4 FT5x06 调试标准命令组合i2cseti2cgeti2ctransfer写操作读操作总结前言i2c 有调试开发工具利用工具来调试、验证各种问题还是特别有必要的提高开发效率查找各种问题。一、资料参考RK3568驱动指南第十五篇 I2C-第180章 I2C Tools工具讲解可以看看讯为电子提供的开发指导篇i2c 开发工具的安装、使用。二、开发工具下载-安装下载方式I2C Tools这里有两种方式直接下载包和git clone 工具源码的方式进行下载如下如下我们会用第一种方式下载对应的版本然后再解压并安装。安装安装-使用思路无论哪种方式得到对应版本的开发工具源码或者压缩包在Linux 系统中进行解压缩进入工具包会看到Makefile文件对工具进行编译生成工具包把工具包push 到开发板工具就可以使用了对于部分开发板比如讯为开发板工具本身在系统里面不需要额外的去编译的但是实际开发中还是需要push 工具到开发板进行开发的下载对应版本-准备安装包比如我们下载的是push 到linux 系统里面并解压tar -vxf i2c-tools-4.3.tar.xz进入到工具目录并编译工具源码命令make -B CC/home/topeet/wfc/RK3568Linux/gcc-linaro-6.3.1-2017.05-x86_64_aarch64-linux-gnu/bin/aarch64-linux-gnu-gcc AR/home/topeet/wfc/RK3568Linux/gcc-linaro-6.3.1-2017.05-x86_64_aarch64-linux-gnu/bin/aarch64-linux-gnu-ar USE_STATIC_LIB1注意点一定要搞清楚自己的预编译工具位置用全路径。进入工具的tools目录就看到编译后生成的工具了。二、工具使用i2cdetect基础原理i2cdetect作用扫描一条 I2C 总线上所有 7 位从机地址探测哪些 I2C 设备存在。底层通过发送 I2C 消息尝试与每个地址握手收到应答ACK代表设备在线。1 i2cdetect -V: 输出版本信息2 i2cdetect -l: 列出所有的 I2C 总线3 i2cdetect -F 查询总线上设备支持的功能集4 i2cdetect -a 扫描总线上 0x00 到 0xFF 范围内的所有 I2C 设备地址这里的 0x38 就是 FT5X06 触摸芯片的 I2C 设备地址。0x38 就是 FT5x06 触控芯片 7 位 I2C 从地址硬件通信正常如果无应答表示i2c 外设根本没有挂载上来。5 常用核心参数清单参数作用-y跳过交互式确认自动执行开发板必加不加 -y 会等待你输入 YES 确认脚本 / 调试直接卡死-a扫描全部 0~127 地址默认会跳过一部分 I2C 保留地址-r使用 read 方式探测默认 write 探测部分特殊芯片才需要-q使用简易 quick-write 探测不推荐兼容性差-V打印工具版本-h帮助信息i2cdumpi2cdump 可以读取设备上所有寄存器的值底层原理持续发起寄存器读操作依赖芯片支持随机地址读 / 自动地址自增。绝大多数触控 IC、传感器支持少数外设不支持连续读会读出乱码。1 i2cdump -V 查看版本号2 读取设备寄存器读取设备寄存器:使用 i2cdump -f -a 1 0x38 命令可以读取 I2C 设备地址为 0x38 的所有寄存器值(从 0x00 到 0xFF)。 -f 选项用于强制使用设备地址,而 -a 选项则是用于读取整个地址范围。3 指定寄存器范围读取指定寄存器范围读取 使用 i2cdump -f -r 0x80-0xff 1 0x38 命令可以只读取 I2C 设备地址为0x38 的 0x80 到 0xff 范围内的寄存器值。 -r 选项用于指定要读取的寄存器地址范围4 FT5x06 调试标准命令组合#1.扫描确认设备在线 i2cdetect-y1#2.批量查看0~0x40寄存器触摸状态、坐标区域 i2cdump-y-r0x00-0x4010x38#3.单独读取触摸状态寄存器 i2cget-y10x380x02i2cset向 I2C 从设备寄存器写入数据。支持单字节写入、多字节连续写入、16 位字写入。底层时序START → 从机地址 (写) → 寄存器地址 → [数据] → STOP。和你驱动内i2c_transfer写操作时序完全一致。i2cset 命令用于向 I2C 设备的特定寄存器写入数据。 它的用法如下:i2cset -f -r 1 0x38 0x80 0x11意思如下 1 强制使用 I2C 总线 1 上的设备地址 0x38 2 向该设备的寄存器地址 0x80 写入值 0x11写入完成后,该命令会返回一个确认信息,表示写入是否成功i2cget读取 I2C 设备指定寄存器的数据标准时序START → 发送从机写地址 寄存器地址 → 重复起始RESTART → 发送从机读地址 → 读取数据 → STOP时序和你驱动内2个i2c_msg先写寄存器地址、再读数据逻辑完全一致最适合寄存器型 I2C 芯片FT5x06、传感器。命令语法i2cget[选项]BUS从机地址[寄存器地址][数据模式]命令i2cget -f 1 0x38 0x80这条命令的意思是: 1 强制使用 I2C 总线 1 上的设备地址 0x38 2 从该设备的寄存器地址 0x80 读取数据该命令会返回寄存器 0x80 的值。 读取成功后,会显示类似 0x11 的十六进制值。 如果读取失败,则会返回一个错误信息i2ctransferi2ctransfer 是一个更加强大和灵活的 I2C 操作工具,与之前介绍的 i2cset 和 i2cget 命令相比,它可以在单个命令中完成读写操作。写操作命令i2ctransfer 1 w20x38 0x80 0x22 1 1 表示操作的 I2C 总线编号为 1 2 w2 表示写入 2 个字节的数据 3 0x38 表示设备地址为 0x38 4 0x80 表示要写入的寄存器地址为 0x80 5 0x22 表示要写入寄存器的值为 0x22读操作命令i2ctransfer 1 w10x38 0x80 r1 1 1 表示操作的 I2C 总线编号为 1 2 w1 表示写入 1 个字节的数据 3 0x38 表示设备地址为 0x38 4 0x80 表示要写入的寄存器地址为 0x80 5 r1 表示读取 1 个字节的数据总结这里介绍了i2c 工具的几个命令这些命令在调试阶段特别重要

相关新闻

从比特币到Web3:一场关于信任的“操作系统”升级

从比特币到Web3:一场关于信任的“操作系统”升级

从比特币到Web3:一场关于信任的“操作系统”升级 磐链科技:2008年,当中本聪在密码朋克邮件列表中抛出那篇著名的白皮书时,恐怕连他自己也未曾预料到,这项旨在解决“双花问题”的技术实验,会在随后的十几年里…

2026/7/29 9:17:12阅读更多 →
VC++中创建多级目录的完整实现与最佳实践

VC++中创建多级目录的完整实现与最佳实践

1. 项目概述:为什么“创建多级目录”是VC开发者的基本功 在Windows平台下用VC做开发,无论是写一个需要保存日志的小工具,还是一个需要管理用户配置文件的桌面应用,甚至是开发一个游戏引擎来组织资源文件,你几乎都绕不开…

2026/7/29 9:17:12阅读更多 →
RS-485总线技术详解:从差分信号原理到工业网络实战部署

RS-485总线技术详解:从差分信号原理到工业网络实战部署

1. 从“单打独斗”到“一呼百应”:为什么我们需要RS-485?在工业自动化、楼宇控制、安防监控这些领域里,你经常会遇到一个场景:一个“大脑”(比如一台工控机或PLC)需要同时和几十个、甚至上百个“手脚”&…

2026/7/29 9:15:12阅读更多 →
终极音乐解锁指南:如何免费解锁QQ音乐、网易云等加密音频文件

终极音乐解锁指南:如何免费解锁QQ音乐、网易云等加密音频文件

终极音乐解锁指南:如何免费解锁QQ音乐、网易云等加密音频文件 【免费下载链接】unlock-music-electron Unlock Music Project - Electron Edition 在Electron构建的桌面应用中解锁各种加密的音乐文件 项目地址: https://gitcode.com/gh_mirrors/un/unlock-music-e…

2026/7/29 10:29:30阅读更多 →
LiveTalking 2.0:插件化数字人交互系统架构解析

LiveTalking 2.0:插件化数字人交互系统架构解析

1. LiveTalking 2.0 项目概述去年我们团队推出第一代数字人交互系统时,核心功能还停留在基础语音合成与简单问答层面。如今经过12个月的架构迭代,LiveTalking 2.0 终于以全新插件化架构面世——这个版本不仅重构了数字人的神经网络渲染管线,更…

2026/7/29 10:29:30阅读更多 →
计算机毕业设计之基于SpringBoot的畜牧站疾病防控与检测系统的设计与实现

计算机毕业设计之基于SpringBoot的畜牧站疾病防控与检测系统的设计与实现

随着新经济的需求和新技术的发展,特别是网络技术的发展,如果可以建立起畜牧站疾病防控与检测系统,可以改变传统线下管理方式,在过去的时代里都使用传统的方式实行,既花费了时间,又浪费了精力。在信息如此发…

2026/7/29 10:29:30阅读更多 →
计算机毕业设计之基于SpringBoot的川工科二手交易平台的设计与实现

计算机毕业设计之基于SpringBoot的川工科二手交易平台的设计与实现

摘 要 本文着重研究了一个基于springboot 的川工科二手交易平台的开发与实践。文中首先探讨了川工科二手交易平台的关键作用及其在可持续发展方面的重要性,进而论述了采用 VUE框架进行平台开发的理由。文章接着详细介绍了 JAVA语言的优势并讨论了为什么选择 sprin…

2026/7/29 10:29:30阅读更多 →
终极免费跨平台模组下载器:WorkshopDL完全解决方案指南

终极免费跨平台模组下载器:WorkshopDL完全解决方案指南

终极免费跨平台模组下载器:WorkshopDL完全解决方案指南 【免费下载链接】WorkshopDL WorkshopDL - The Best Steam Workshop Downloader 项目地址: https://gitcode.com/gh_mirrors/wo/WorkshopDL 对于GOG、Epic Games Store等非Steam平台玩家而言&#xff0…

2026/7/29 10:29:30阅读更多 →
Frida内存分析进阶:手把手实现hexdump工具与逆向实战

Frida内存分析进阶:手把手实现hexdump工具与逆向实战

1. 项目概述:为什么内存分析是逆向工程的“眼睛” 在逆向工程的世界里,我们常常把目标应用比作一个黑盒。你看到的是它的输入和输出,但中间的处理逻辑、数据流转、状态变化,都隐藏在厚厚的代码和内存屏障之后。Frida,作…

2026/7/29 10:27:30阅读更多 →
覆盖国产 + 海外 + 开源模型,OpenClaw 2.7.9 Windows/Mac 双端部署详解

覆盖国产 + 海外 + 开源模型,OpenClaw 2.7.9 Windows/Mac 双端部署详解

🔹 工具基础介绍 OpenClaw 是开源生态中一款实用性较强的本地智能工具,凭借本地离线运行、可视化图形操作和任务自动化三大核心特性,赢得了众多用户的青睐。与普通在线对话AI工具不同,它属于能够直接操控本机软硬件的智能数字员工…

2026/7/29 9:47:45阅读更多 →
伺服阀焊完微漏毁整机?精密激光焊接三关锁住高压

伺服阀焊完微漏毁整机?精密激光焊接三关锁住高压

所谓液压伺服阀体的精密激光焊接,是用激光束对阀座壳体(通常为不锈钢或铝合金)进行密封焊接,使阀体在21-35MPa的高压液压油或压缩气体中长期运行而不发生介质泄漏。液压伺服阀是高端液压系统的"大脑"。从航空航天飞行控…

2026/7/29 7:00:19阅读更多 →
D2DX:三步实现《暗黑破坏神2》高清宽屏体验的终极指南

D2DX:三步实现《暗黑破坏神2》高清宽屏体验的终极指南

D2DX:三步实现《暗黑破坏神2》高清宽屏体验的终极指南 【免费下载链接】d2dx D2DX is a complete solution to make Diablo II run well on modern PCs, with high fps and better resolutions. 项目地址: https://gitcode.com/gh_mirrors/d2/d2dx 你是否还在…

2026/7/29 7:58:51阅读更多 →
28. Agent 执行到一半想暂停?用 interrupt 给它设个“关卡“!

28. Agent 执行到一半想暂停?用 interrupt 给它设个“关卡“!

28. Agent 执行到一半想暂停?用 interrupt 给它设个“关卡“! 在构建复杂的 Agent 系统时,我们经常会遇到这样的场景:Agent 正在执行一个多步骤的任务,比如“下单购买商品”,但执行到一半时,我们…

2026/7/29 0:01:46阅读更多 →
自律同行,突破无界!NANK南卡正式官宣曾舜晞成为品牌代言人

自律同行,突破无界!NANK南卡正式官宣曾舜晞成为品牌代言人

近日,国际专注开放式技术研发的声学品牌Nank南卡,正式官宣实力艺人曾舜晞担任品牌代言人。消息一经发出便轰动全网。为什么耳机品牌不选择流量明星、老牌歌手?而且是选择曾舜晞?让我们一起来探索一下!比起短期的流量&a…

2026/7/29 0:01:46阅读更多 →
【RT-DETR多模态创新改进】CVPR 2025 | 独家特征融合创新改进篇 | 引入RLAB残差线性注意力模块,有效融合并强调多尺度特征,多种改进点,适合红外与可见光融合目标检测任务,有效涨点

【RT-DETR多模态创新改进】CVPR 2025 | 独家特征融合创新改进篇 | 引入RLAB残差线性注意力模块,有效融合并强调多尺度特征,多种改进点,适合红外与可见光融合目标检测任务,有效涨点

一、本文介绍 🔥本文在RT-DETR多模态融合目标检测中引入RLAB残差线性注意力模块,可在不同模态特征交互阶段进行多次残差细化,使可见光、红外等特征在尺度、语义和空间位置上更好对齐;随后将细化特征与解码器输出拼接并生成Q、K、V,通过线性注意力自适应强化关键通道、目…

2026/7/29 0:01:46阅读更多 →
YOLOv8推理性能优化:从1.2FPS到35FPS的全链路加速实践

YOLOv8推理性能优化:从1.2FPS到35FPS的全链路加速实践

如果你在部署 YOLOv8 时,发现推理速度只有可怜的 1-2 FPS,而别人的演示视频却能跑到 30 FPS 以上,那么问题很可能不在模型本身,而在于你的整个处理链路。很多开发者拿到一个训练好的 YOLOv8 模型后,会直接使用官方示例…

2026/7/28 20:22:24阅读更多 →
Coze与Dify对比指南:低代码AI应用开发从入门到实战

Coze与Dify对比指南:低代码AI应用开发从入门到实战

1. 从零到一:为什么你需要了解 Coze 和 Dify?如果你对 AI 应用开发感兴趣,但一看到“大模型”、“智能体”、“工作流”这些词就头疼,觉得门槛太高,那这篇文章就是为你准备的。很多开发者,包括我自己&#…

2026/7/29 4:31:51阅读更多 →
AI生图工具怎么选?2026年6月版实测对比

AI生图工具怎么选?2026年6月版实测对比

做自媒体的朋友应该都有体会:配图一直是个让人头疼的问题。2026年,AI生图工具已经非常成熟了,但工具太多反而不知道怎么选。以下是截至2026年6月我对主流AI生图工具的实测对比。Midjourney V8.1:速度之王2026年6月11日&#xff0c…

2026/7/28 2:35:58阅读更多 →