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

至 行,一个SPI控制器用一个master来描述。这里使用SPI核心的spi alloc master函数请求分配master。它在drivers spi spi.c文件中定义: 至 行,这里分配的内存大小是 master加size,包含了两部分内存。 行,设备模型中的初始设备函数,不说。 行,spi master class在SPI子系统初始化的时候就已经注册好了。 行,设置当前设备的父设备, ...

2013-08-17 20:00 0 6531 推荐指数:

查看详情

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(一)

收发器,当时搞了很久,由于时间比较紧,而且当时根本不熟悉LinuxSPI子系统,最后虽然采用IO口模 ...

Sun Aug 18 03:45:00 CST 2013 0 14903
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