![](https://img-blog.csdnimg.cn/20201014180756913.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
SPI驱动
文章平均质量分 94
SPI驱动内容
o^free
这个作者很懒,什么都没留下…
展开
-
SPI总线和设备驱动
*软件架构* 在内核的SPI驱动的软件架构中,进行了合理的分层和抽象,如下图所示: *SPI控制器驱动程序* SPI控制器不用关心设备的具体功能,它只负责把上层协议驱动准备好的数据按SPI总线的时序要求发送给SPI设备,同时把从设备收到的数据返回给上层的协议驱动,因此,内核把SPI控制器的驱动程序独立出来。SPI控制器驱动负责控制具体的控制器硬件,诸如DMA和中断操作等等,因为多个上层的协议驱动可能会通过控制器请求数据传输操作,所以,SPI控制器驱动同时也要负责对这些请求进行队列管理,保证先进先出的原则。原创 2022-01-03 16:46:03 · 275 阅读 · 0 评论 -
spidev.c文件
设备驱动是在core之上的模块,向上给应用程序提供file_operations接口,应用程序可以通过设备节点访问驱动程序,向下通过core向控制器模块发送数据,控制器模块将数据发送到物理总线上。 spidev.c是一个典型的设备驱动程序,前面提到在linux中,一般都会采用设备驱动和控制器驱动分离的思想,两者通过一个core进行关联,目的是最大程度保证代码的可移植性,我们以应用程序调用为主线,详细分析spi驱动的数据流流向。 SPI主控制器驱动,也就是SPI总线驱动,既然总线有了,根据Linux设备驱动模原创 2022-01-02 17:48:52 · 523 阅读 · 0 评论