热门标签 | HotTags
当前位置:  开发笔记 > 后端 > 正文

平台设备/驱动程序与i2c设备/驱动程序

如何解决《平台设备/驱动程序与i2c设备/驱动程序》经验,为你挑选了1个好方法。

由于我是嵌入式领域的新手,因此在理解i2c设备/驱动程序与平台设备/驱动程序之间的明显差异时遇到了困难。

我已阅读此链接:

平台驱动程序和普通设备驱动程序有什么区别?

表示平台设备/驱动程序用于不可发现的设备,例如在i2c总线上连接的设备,并且平台设备通过匹配名称绑定到驱动程序。

我浏览了一个电路板文件,其中使用i2c API(i2c_register_board_info,omap_i2c_add_bus等)注册了在i2c总线上连接的音频编解码器(不可发现的设备),因此我的问题是

    i2c设备/驱动程序和平台设备/驱动程序有什么区别?

    何时使用i2c相关API以及何时使用平台相关API(platform_driver_register,platform_device_register)在内核中注册设备/驱动程序。或者如果我们可以使用i2c相关的API进行不可发现的设备(在i2c上连接)的注册,则需要平台设备注册。

Drad.. 5

每个SOC(片上硅)或微控制器都将具有一个I2C控制器,该控制器提供了一种与I2C设备(例如摄像机传感器,PMIC,温度传感器等)进行连接和通信的方法。用于配置和使用此I2C控制器的驱动程序称为平台驱动程序。该I2C控制器称为平台设备。大多数情况下,平台设备将成为SOC的一部分。I2C控制器的寄存器是使用平台驱动程序编程的。这些寄存器可以说是ARM存储器映射的,并且可以在SOC的TRM上使用。

现在,所有可以通过I2C控制器(如摄像机传感器,PMIC,温度传感器等)连接到SOC或微控制器的I2C设备都需要一个驱动器来控制它们。该驱动程序称为设备驱动程序。这些设备的寄存器不是SOC内存映射的一部分。需要I2C设备(如OV5640摄像机传感器)的数据表来对寄存器进行编程。发送I2C数据以对寄存器进行编程并访问数据。



1> Drad..:

每个SOC(片上硅)或微控制器都将具有一个I2C控制器,该控制器提供了一种与I2C设备(例如摄像机传感器,PMIC,温度传感器等)进行连接和通信的方法。用于配置和使用此I2C控制器的驱动程序称为平台驱动程序。该I2C控制器称为平台设备。大多数情况下,平台设备将成为SOC的一部分。I2C控制器的寄存器是使用平台驱动程序编程的。这些寄存器可以说是ARM存储器映射的,并且可以在SOC的TRM上使用。

现在,所有可以通过I2C控制器(如摄像机传感器,PMIC,温度传感器等)连接到SOC或微控制器的I2C设备都需要一个驱动器来控制它们。该驱动程序称为设备驱动程序。这些设备的寄存器不是SOC内存映射的一部分。需要I2C设备(如OV5640摄像机传感器)的数据表来对寄存器进行编程。发送I2C数据以对寄存器进行编程并访问数据。


推荐阅读
  • 本文将介绍如何编写一些有趣的VBScript脚本,这些脚本可以在朋友之间进行无害的恶作剧。通过简单的代码示例,帮助您了解VBScript的基本语法和功能。 ... [详细]
  • 本文详细解析了Python中的os和sys模块,介绍了它们的功能、常用方法及其在实际编程中的应用。 ... [详细]
  • 本文详细介绍了macOS系统的核心组件,包括如何管理其安全特性——系统完整性保护(SIP),并探讨了不同版本的更新亮点。对于使用macOS系统的用户来说,了解这些信息有助于更好地管理和优化系统性能。 ... [详细]
  • 2023年京东Android面试真题解析与经验分享
    本文由一位拥有6年Android开发经验的工程师撰写,详细解析了京东面试中常见的技术问题。涵盖引用传递、Handler机制、ListView优化、多线程控制及ANR处理等核心知识点。 ... [详细]
  • 优化ListView性能
    本文深入探讨了如何通过多种技术手段优化ListView的性能,包括视图复用、ViewHolder模式、分批加载数据、图片优化及内存管理等。这些方法能够显著提升应用的响应速度和用户体验。 ... [详细]
  • 在API测试中,我们常常需要通过大量不同的数据集(包括正常和异常情况)来验证同一个接口。如果为每种场景单独编写测试用例,不仅繁琐而且效率低下。采用数据驱动的方式可以有效简化这一过程。本文将详细介绍如何利用CSV文件进行数据驱动的API测试。 ... [详细]
  • 1:有如下一段程序:packagea.b.c;publicclassTest{privatestaticinti0;publicintgetNext(){return ... [详细]
  • 本文详细介绍了如何在Linux系统上安装和配置Smokeping,以实现对网络链路质量的实时监控。通过详细的步骤和必要的依赖包安装,确保用户能够顺利完成部署并优化其网络性能监控。 ... [详细]
  • 如何查找和管理计算机中的C盘临时文件
    本文详细介绍了如何在计算机中找到和管理C盘的临时文件,包括其具体路径、环境变量设置方法以及清理这些文件对系统性能的影响。对于希望优化系统性能和释放磁盘空间的用户来说,这是一篇非常有价值的参考。 ... [详细]
  • 本文详细介绍了 Dockerfile 的编写方法及其在网络配置中的应用,涵盖基础指令、镜像构建与发布流程,并深入探讨了 Docker 的默认网络、容器互联及自定义网络的实现。 ... [详细]
  • 本文详细介绍了如何使用 Yii2 的 GridView 组件在列表页面实现数据的直接编辑功能。通过具体的代码示例和步骤,帮助开发者快速掌握这一实用技巧。 ... [详细]
  • ServiceStack与Swagger的无缝集成指南
    本文详细介绍了如何在ServiceStack项目中集成Swagger,以实现API文档的自动生成和在线测试。通过本指南,您将了解从配置到部署的完整流程,并掌握如何优化API接口的开发和维护。 ... [详细]
  • 利用存储过程构建年度日历表的详细指南
    本文将介绍如何使用SQL存储过程创建一个完整的年度日历表。通过实例演示,帮助读者掌握存储过程的应用技巧,并提供详细的代码解析和执行步骤。 ... [详细]
  • 本文探讨了如何优化和正确配置Kafka Streams应用程序以确保准确的状态存储查询。通过调整配置参数和代码逻辑,可以有效解决数据不一致的问题。 ... [详细]
  • 使用Python在SAE上开发新浪微博应用的初步探索
    最近重新审视了新浪云平台(SAE)提供的服务,发现其已支持Python开发。本文将详细介绍如何利用Django框架构建一个简单的新浪微博应用,并分享开发过程中的关键步骤。 ... [详细]
author-avatar
mobiledu2502899157
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有