全志R16_SPI总线驱动的使用文档
(2019-08-15 09:29:47)
标签:
全志r16
介绍Linux 内核中SPI 子系统的接口及使用方法,为SPI设备驱动的开发提供参考。适用于基于Linux
3.4内核的全志R16硬件平台。
2. 2. 模块介绍
2.1. 模块功能介绍
Linux 中 SPI 体系结构图 2.1 所示,图中用分割线分成了三个层次:
1. 用户空间,包括所有使用 SPI 设备的应用程序;
2. 内核,也就是驱动部分;
3. 硬件,指实际物理设备,包括了 SPI 控制器和 SPI 外设。
其中,Linux 内核中的 SPI 驱动程序仅支持主设备,逻辑上又可以分为 3 个部分:
1. SPI 核心(SPI Core):实现对 SPI 总线驱动及 SPI 设备驱动的管理;
2. SPI 总线驱动(SPI Master Driver):针对不同类型的 SPI 控制器,实现对 SPI
总线访问的具体方法;
3. SPI 设备驱动(SPI Device Driver):针对特定的 SPI 设备,实现具体的功能,包括 read,write
以及 ioctl 等对用户层操作的接口。
SPI总线驱动主要实现了适用于特定SPI控制器的总线读写方法,并注册到Linux内核的SPI架构,SPI外设就可以通过SPI架构完成设备和总线的适配。但是总线驱动本身并不会进行任何的通讯,它只是提供通讯的实现,等待设备驱动来调