Linux SPI子系统(1):体系结构

 

目录

1. 体系结构简介

1.1 SPI核心

1.2 SPI控制器驱动

1.3 SPI设备驱动


1. 体系结构简介

Linux SPI体系结构和I2C很类似,都分为3个组成部分,分别是SPI核心、SPI总线驱动(控制器驱动)、SPI设备驱动,体系结构见下图。

Linux SPI体系结构

1.1 SPI核心

SPI核心层代码位于drivers/spi/spi.c,头文件位于include/linux/spi/spi.h,SPI核心提供了SPI总线驱动和设备驱动的注册、注销方法,并提供一些需要控制器驱动实现的回调函数。

核心层包含一些重要的数据结构,如struct spi_master、struct spi_transfer、struct spi_message等,还有一些重要的注册、注销函数等。

1.2 SPI控制器驱动

SPI总线驱动是对SPI硬件体系结构中控制器端的实现,主要需要实现SPI硬件数据收发的功能,只有这样,挂接在SPI总线上的SPI设备才能通过SPI控制器读写数据并与CPU进行数据交互。

1.3 SPI设备驱动

SPI总线驱动是对SPI硬件体系结构中设备端的实现,设备一般挂接在受CPU控制的SPI控制器上,通过SPI控制器与CPU进行数据交互。

SPI设备驱动主要包含数据结构spi_driver和spi_device,我们需要根据具体设备实现其中的成员函数。

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值