原文:Linux设备驱动剖析之SPI(一)

写在前面 初次接触SPI是因为几年前玩单片机的时候,由于普通的 单片机没有SPI控制器,所以只好用IO口去模拟。最近一次接触SPI是大三时参加的校内选拔赛,当时需要用 去控制nrf L ,从而实现数据的无线传输。nrf L 是一种典型的SPI接口的 . GHz无线收发器,当时搞了很久,由于时间比较紧,而且当时根本不熟悉Linux的SPI子系统,最后虽然采用IO口模拟SPI的方式勉强实现了,但是这根 ...

2013-08-17 19:45 0 14903 推荐指数:

查看详情

Linux设备驱动剖析SPI(三)

572至574行,分配内存,注意对象的类型是struct spidev_data,看下它在drivers/spi/spidev.c中的定义: 76行,设备号。79行,设备链表,所有采用此驱动设备将连成一个链表。83行,计数,也即是此设备被open的次数。 回到 ...

Sun Aug 18 04:13:00 CST 2013 0 5188
Linux设备驱动剖析SPI(四)

781行之前没什么好说的,直接看783行,将work投入到工作队列里,然后就返回,在这里就可以回答之前为什么是异步的问题。以后在某个合适的时间里CPU会执行这个work指定的函数,这里是s3c64xx_spi_work函数,看它的定义: 730行,申请DMA,关于DMA的就不 ...

Sun Aug 18 04:22:00 CST 2013 0 3564
Linux设备驱动剖析之Input(一)

前言 以前在移植Qt到开发板上时只知道在配置文件中需要指定触摸屏的设备文件/dev/input/event0,仅此而已。直到一年半前突然想到用红外遥控器控制Tiny6410开发板上的Android系统,从而代替物理按键。实现原理是很简单的,就是首先解码红外信号,然后根据解码出的键值 ...

Fri Aug 23 03:28:00 CST 2013 0 5429
Linux设备驱动剖析之IIC(一)

写在前面 由于IIC总线只需要两根线就可以完成读写操作,而且通信协议简单,一条总线上可以挂载多个设备,因此被广泛使用。但是IIC总线有一个缺点,就是传输速率比较低。本文基于Linux-2.6.36版本,说说IIC子系统在Linux中的实现。 借用某书上的IIC子系统 ...

Sun Aug 18 04:37:00 CST 2013 1 3059
Linux设备驱动剖析之IIC(三)

下面以eeprom用户程序调用ioctl函数的写操作为例追踪IIC子系统的调用过程。eeprom的用户测试是大部分开发板都自带的。看写一个字节数据的eeprom_write_byte函数的定义: ...

Sun Aug 18 05:04:00 CST 2013 0 3764
linux设备驱动 spi详解6-spi驱动实例

linux内核给了一个spi驱动的实例。 driver/spi/spidev.c 1 spi_driver.c 2 spi_test.c 3 ioctl的命令: 参考博文:http://dainh.blog.chinaunix.net ...

Fri Jun 05 06:50:00 CST 2020 0 1702
Linux设备驱动模型简述(源码剖析

1. Linux设备驱动模型和sysfs文件系统 Linux内核在2.6版本中引入设备驱动模型,简化了驱动程序的编写。Linux设备驱动模型包含设备(device)、总线(bus)、类(class)和驱动(driver),它们之间相互关联。其中设备(device)和驱动(driver)通过总线 ...

Mon Sep 14 22:54:00 CST 2020 2 1711
 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM