【问题标题】:first driver -- spi framework for linux第一个驱动——linux的spi框架
【发布时间】:2012-12-13 12:39:09
【问题描述】:

这是我第一次为 ADS7846 的 linux SPI 框架编写驱动程序。 找到这个优秀的教程来理解 linux SPI 的概念:--- http://www.jumpnowtek.com/index.php?option=com_content&view=article&id=57&Itemid=62

它还有一个示例代码。 https://github.com/scottellis/spike/blob/part3/spike.c

1> 有几点我无法理解为什么我们使用信号量 访问前——spike_dev.user_buff。

我们真的需要信号量吗?因为有时我的应用程序只会读取()或写入()或打开()驱动程序?

2> 还要选择我们正在使用的芯片选择:-- /* 指定片选线 */

SPI_BUS_CS1

为什么我们不指定 CS 线将连接到哪个端口?

3> 正如我所读到的,自旋锁应该与中断处理程序一起使用。还有这个自旋锁在驱动程序中的用途是什么。 这里我们没有 spi 中断处理程序。但是在访问时 -- spi_async & spi_device -- 我们正在使用自旋锁?

spin_lock_irqsave spi_async spin_unlock_irqrestore

4> 我们是否可以将多个“协议驱动程序”注册到同一个 SPI 设备?

任何建议将不胜感激。

【问题讨论】:

    标签: linux-device-driver


    【解决方案1】:

    2> .controllerdata 中可以提到总线编号和芯片选择是用来枚举 SPI 设备

    3> 用于可以睡觉的任务

    【讨论】:

      猜你喜欢
      • 2015-03-15
      • 2019-09-08
      • 1970-01-01
      • 1970-01-01
      • 2017-05-04
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多