1.
来源:互联网 发布:mac os x 10.9.5百度云 编辑:程序博客网 时间:2024/05/18 00:12
Linux中的SPI子系统利用了典型的把主机驱动和外设驱动分离的想法,让主机端只负责产生总线上的传输波形,而外设端只是通过标准的API来让主机端以适当的波形访问自身。因此这里就涉及了4个软件模块:
(1)主机端驱动。根据具体的SPI控制器的硬件手册,操作具体SPI控制器,产生总线的各种波形;
(2)连接主机和外设的纽带。外设不直接调用主机端的驱动来产生波形,而是调用一个标准的API。由这个标准的API把这个波形传输请求间接转发给了具体的主机端驱动;
(3)外设端的驱动。外设接在SPI总线上,但是它们本身可以是触摸屏、网卡、声卡或者任意一种类型的设备。我们在相关的ispi_driver这种xxx_driver的probe()函数中去注册它具体的类型。当这些外设要求SPI等去访问它的时候,它调用“连接主机和外设的纽带”模块的标准API;
(4)班级逻辑。板级逻辑用来描述主机和外设是如何互联的,它相当于一个“路由表”。假设板子上有多个SPI控制器和多个SPI外设,那究竟谁接在谁的上面?管理互联关系,既不是主机端的责任,也不是外设端的责任,这属于板级逻辑的责任。这部分通常出现在arch/arm/mach-xxx下面或者arch/arm/boot/dts下面。
使用spi_master结构体来描述一个主控制器驱动,其主要成员是主机控制器的序号(系统中可能存在多个主机控制器)、片选数量、SPI模式、时钟设置用到的和数据传输用到的函数:
阅读全文
0 0
- 1.
- 1.
- 1.
- 1.
- 1.
- -1.#IND0 1.#qnan0
- 1.EdgeDetection_1.1.DeepEdge
- 1.#INF,-1.#IND,1.#INF000,-…
- 1.基本概念
- 1. Introduction
- 1.ShowWindow
- 1. Scope
- 1. 人员
- 1.method:
- 1. Foreword
- 1.摘要
- 1.入门
- 1. OSGi
- datatables简单使用实例
- 计算机科学经典书单
- 如何拷贝别人家的网站之webzip的使用方法
- dialog在非activity下显示解决方案
- CreateSqlQuery()/CreateQuery()相关方法列举
- 1.
- 深入理解JVM之一:Java内存区域
- POJ
- caffe的python接口使用方法示例
- web.xml 配置中classpath: 与classpath*:的区别
- java内部类
- 单人在线实践(jsp+java)
- 09:矩阵乘法
- 图像的阈值操作