当前位置: 首页 > news >正文

嵌入式linux I2C 设备开发调试 使用i2cget 工具失败的问题

前提(设备树配置好)

在这里插入图片描述

进这个文件里查看 /sys/firmware/devicetree/base/i2c@feaa0000。比如下边这样

root@rk3588:/sys/firmware/devicetree/base/i2c@feaa0000/aw2013_led@45# ls
compatible  name  phandle  reg  status
root@rk3588:/sys/firmware/devicetree/base/i2c@feaa0000/aw2013_led@45# cat name 
aw2013_ledroot@rk3588:/sys/firmware/devicetree/base/i2c@feaa0000/aw2013_led@45#

设备树 好了,启动后进行i2cget 检查

调试前先这样测试下,如果失败,基本就是硬件IIC接口连接错误,或者I2C设备地址错误了

root@rk3588:/lib/modules# i2cget -f -y 2 0x46 0x00
Error: Read failed



失败案例,RK3588S I2C2 外设有5组复用IO 配置选项,M0 ~M4 每组都有对应的IO,结果设备树配置的是M0组,硬件设计 I2C接口 链接成了I2C2 M4组IO 直接导致错误

我的I2C设备地址是0X45 ,下边这个0X45地方啥也没有—

#下述操作是检测I2C2总线上的I2C设备 root@rk3588:/# i2cdetect -y 20  1  2  3  4  5  6  7  8  9  a  b  c  d  e  f
00:                         -- -- -- -- -- -- -- --
10: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
20: -- -- -- -- -- UU -- -- -- -- -- -- -- -- -- --
30: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
40: -- -- UU -- -- -- -- -- -- -- -- -- -- -- -- --
50: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
60: -- -- -- -- -- -- -- -- -- -- -- -- -- 6d -- --
70: -- -- -- -- -- -- -- --

#下述操作是读取I2C2接口的 0x45I2C地址设备上0X00寄存器的值root@rk3588:/# i2cget -f -y 2 0x45 00
Error: Read failed

#下述操作是把芯片内所有寄存器的值 都给获取出来**root@rk3588:/# i2cdump -f -y 2 0x45
No size specified (using byte-data access)0  1  2  3  4  5  6  7  8  9  a  b  c  d  e  f    0123456789abcdef
00: XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX    XXXXXXXXXXXXXXXX
10: XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX    XXXXXXXXXXXXXXXX
20: XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX    XXXXXXXXXXXXXXXX
30: XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX    XXXXXXXXXXXXXXXX
40: XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX    XXXXXXXXXXXXXXXX
50: XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX    XXXXXXXXXXXXXXXX
60: XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX    XXXXXXXXXXXXXXXX
70: XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX    XXXXXXXXXXXXXXXX
80: XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX    XXXXXXXXXXXXXXXX
90: XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX    XXXXXXXXXXXXXXXX
a0: XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX    XXXXXXXXXXXXXXXX
b0: XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX    XXXXXXXXXXXXXXXX
c0: XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX    XXXXXXXXXXXXXXXX
d0: XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX    XXXXXXXXXXXXXXXX
e0: XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX    XXXXXXXXXXXXXXXX
f0: XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX    XXXXXXXXXXXXXXXX**

出现上述原因的是 I2C设备 没连接上,I2C线没接对,或者内核设备树配置出问题了,再或者就是IIC线受干扰了(接逻辑分析仪会导致信号 受干扰)

http://www.dtcms.com/a/296310.html

相关文章:

  • JavaScript性能优化实战指南:从原理到最佳实践
  • Flink-1.19.0源码详解7-Flink集群端调度
  • 跨境支付入门~国际支付结算(区块链篇)
  • jina-embedding-v4 环境搭建全过程
  • 2025年“创新杯”(原钉钉杯) B题 详细建模思路
  • 牛客网刷题进阶挑战VL25——VL49
  • 【Linux网络编程】传输层协议 - UDP
  • 【数据结构初阶】--二叉树(二)
  • M²IV:面向大型视觉-语言模型中高效且细粒度的多模态上下文学习
  • BI 系统数据看板全解析:让数据可视化驱动业务决策
  • ESP32使用 vscode IDF 创建项目到烧录运行全过程
  • C++学习笔记(八:函数与变量)
  • 云原生架构下的服务器运维挑战与解决方案
  • 【CVPR 2025】即插即用,MobileMamba三阶段架构+Wavelet增强,颠覆轻量模型格局!
  • Qt Quick 3D渲染
  • 云端哨兵的智慧觉醒:Deepoc具身智能如何重塑工业无人机的“火眼金睛”
  • 5种最佳方法将iPhone语音备忘录传输到Mac
  • 清除浮动以及原理
  • 移动管家手机控车便捷性如何
  • 秋招Day18 - MyBatis - 基础
  • tensorflow安装(CPU版本)
  • 爬虫算法原理解析
  • Python爬虫实战:研究picloud相关技术
  • WebRTC指纹——深度分析(中篇)
  • qlib的Alpha158类定义
  • RHCE(4)
  • CDH yarn 重启后RM两个备
  • 2025.7.24 01背包与动态规划复习总结
  • 【前端】jQuery加载JSON文件并赋值方法
  • 字节的机器人模型 GR-3