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

spi_device,spi_driver,spi_controller,spi_res,spi_transfer,spi_message之间的联系

目录

1. spi_device

2. spi_driver

3. spi_controller (旧称 spi_master)

4. spi_transfer

5. spi_message

6. spi_res (通常指 SPI 资源)

各组件联系与数据流

图示关系

总结


1. spi_device

  • 概念代表一个具体的 SPI 设备(如传感器、Flash 存储器等)。

  • 作用

    • 存储设备的物理参数:SPI 模式(CPOL/CPHA)、时钟频率、片选线(CS)等。

    • 通过设备树(Device Tree)或板级代码静态注册。

    • 关键字段

    • struct spi_device {
          struct device dev;      // 继承设备基类
          u32 max_speed_hz;       // 最大时钟频率
          u8 chip_select;         // 片选引脚编号
          u8 mode;                // SPI 模式(CPOL, CPHA 等)
          // ...
      };

      2. spi_driver

    • 概念SPI 设备的驱动,负责管理与其匹配的 spi_device

    • 作用

      • 实现设备的初始化(probe)、销毁(remove)和操作接口(如读写)。

      • 通过 spi_register_driver 注册到 SPI 总线。

    • 关键结构

    • struct spi_driver {
          const struct spi_device_id *id_table; // 支持的设备 ID 列表
          int (*probe)(struct spi_device *spi); // 设备探测函数
          int (*remove)(struct spi_device *spi); // 设备移除函数
          struct device_driver driver;          // 继承驱动基类
      };

      3. spi_controller (旧称 spi_master)

    • 概念:代表硬件上的 SPI 控制器(如 SoC 内部的 SPI 模块&#

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

相关文章:

  • DSP笔记
  • 【商城实战(7)】商城项目中用户信息管理功能的全栈开发
  • java使用第三方库 semver4j 处理语义化版本,递增,对比等操作
  • 初识Python:一门简洁而强大的编程语言
  • 大语言模型(LLM)和嵌入模型的统一调用接口
  • GB28181开发--SRS+Jessibuca‌
  • LINUX网络基础 [一] - 初识网络,理解网络协议
  • 集合论--形式化语言里的汇编码
  • vulnhub渗透日记23:bulldog
  • SQLite Having 子句详解
  • java基础100道面试题
  • AT32F421专题---PA9 PA10的I2C1连接AT24C02失败及解决
  • Diffusion模型中时间t嵌入的方法
  • Teaching Small Language Models Reasoning throughCounterfactual Distillation
  • Hive-07之企业级调优
  • Docker部署MySQL
  • Python:简单的爬虫程序,从web页面爬取图片与标题并保存MySQL
  • 大模型核心要素完全解析:从数字神经元到智能对话的奥秘
  • go语言数据类型
  • (50)[HGAME 2023 week2]before_main
  • AutoGen学习笔记系列(六)Tutorial - Termination
  • unittest框架 核心知识的系统复习及与pytest的对比
  • uniapp x 学习之 uts 语言快速入门
  • 【Embedding】何为Embedding?
  • 筑牢网络安全防线:守护您的数据安全
  • 单体架构、集群、分布式、微服务的区别!
  • Redis设计与实现-数据结构
  • Selenium遇到Exception自动截图
  • 【大模型学习】第八章 深入理解机器学习技术细节
  • 【前端】【vue-i18n】安装和使用全解