SPI_Master驱动程序框架
框架 Master 驱动程序 SPI
2023-09-14 09:16:19 时间
SPI_Master驱动程序框架
- 参考内核源码:
drivers\spi\spi.c
一、SPI传输概述
1.1 数据组织方式
使用SPI传输时,最小的传输单位是"spi_transfer",
对于一个设备,可以发起多个spi_transfer,
这些spi_transfer,会放入一个spi_message里。
- spi_transfer:指定tx_buf、rx_buf、len
- 同一个SPI设备的spi_transfer,使用spi_message来管理:
- 同一个SPI Master下的spi_message,放在一个队列里:
所以,反过来,SPI传输的流程是这样的:
- 从spi_master的队列里取出每一个spi_message
- 从spi_message的队列里取出一个spi_transfer
- 处理spi_transfer
- 从spi_message的队列里取出一个spi_transfer
1.2 SPI控制器数据结构
参考内核文件:include\linux\spi\spi.h
Linux中使用spi_master结构体描述SPI控制器,有两套传输方法:
二、 SPI传输函数的两种方法
2.1 老方法
2.2 新方法
致谢
以上笔记源自
韦东山
老师的视频课程,感谢韦老师,韦老师是嵌入式培训界一股清流,为嵌入式linux开发点起的星星之火,也愿韦老师桃李满园。聚是一团火,散是满天星!
在这样一个速食的时代,坚持做自己,慢下来,潜心琢磨,心怀敬畏,领悟知识,才能向下扎到根,向上捅破天,背着世界往前行!
仅此向嵌入行业里的每一个认真做技术的从业者致敬!
相关文章
- Spring MVC框架:第十二章:运行原理
- Spring MVC 框架学习(六)---- 返回页面+加载静态资源
- 内修昇思MindSpore AI框架,外重行业汇聚,华为大模型的不平凡之路
- 初级SSM框架整合
- .net 开源框架「建议收藏」
- 几款文档框架:Mkdocs、Sphinx、Teadocs、docsify
- unittest测试框架组成_unittest接口自动化
- Caffe深度学习框架搭建
- 分支路径图调度框架在 vivo 效果广告业务的落地实践
- 【Kotlin 协程】协程底层实现 ① ( Kotlin 协程分层架构 | 基础设施层 | 业务框架层 | 使用 Kotlin 协程基础设施层标准库 Api 实现协程 )
- ORA-39102: Timeout before master process string finished initialization. Master error: ORACLE 报错 故障修复 远程处理
- Spring框架核心解析详解程序员
- MySQL数据库:建立快速、稳定的框架(建立mysql数据库)
- EF框架Oracle配置指南(eforacle配置)
- 使用SSM框架加上Redis构建可靠的Web应用(ssm框架加上redis)
- phpci框架验证码实例分析
- 高性能PHP框架Symfony2经典入门教程
- 从零开始学YII2框架(六)高级应用程序模板