linux驱动
文章平均质量分 89
Tayi2012
xxxxxxxxxxxxxx
展开
-
Linux设备驱动开发
经过两周的摸索,终于对Linux设备驱动开发有了个初步的认识,下面对Linux设备驱动开发环境的搭建做个小结,以方便自己以后查询,同时也能给同道的初学者一点帮助。刚接触Linux设备驱动时,初学者往往连如何编译驱动程序都不懂,更别说编译进内核或加载测试了。一般都是在网上找个最简单的 helloworld驱动程序,然后严格按照网上所说的步骤编译,结果却得到一大堆见都没见过的错误,更不要说根据错误转载 2014-01-21 08:46:25 · 698 阅读 · 0 评论 -
SPI总线驱动分析
1 SPI概述 SPI是英语Serial Peripheralinterface的缩写,顾名思义就是串行外围设备接口,是Motorola首先在其MC68HCXX系列处理器上定义的。SPI接口主要应用在EEPROM,FLASH,实时时钟,AD转换器,还有数字信号处理器和数字信号解码器之间。SPI是一种高速的,全双工,同步的通信总线,并且在芯片的管脚上只占用四根线,节约了芯片的管脚,同时为转载 2014-08-19 18:05:57 · 725 阅读 · 0 评论 -
McBsp接口使用和概念
McBSP包括一个数据通道和一个控制通道,通过7个引脚与外部设备连接。数据发送引脚DX负责数据的发送,数据接收引脚DR负责数据的接收,发送时钟引脚CLKX,接收时钟引脚CLKR,发送帧同步引脚FSX和接收帧同步引脚FSR提供串行时钟和控制信号。McBSP 是英文Multichannel Buffered Serial Port (多通道缓冲串行口)的缩写McBSP是TI公司生产的数字信号处转载 2014-08-22 15:15:16 · 2562 阅读 · 0 评论 -
用户空间的spi驱动
1.1 重要的数据结构1. spi_device虽然用户空间不需要直接用到spi_device结构体,但是这个结构体和用户空间的程序有密切的关系,理解它的成员有助于理解SPI设备节点的IOCTL命令,所以首先来介绍它。在内核中,每个spi_device代表一个物理的SPI设备。它的成员如程序清单 1.1所示。程序清单 1.1 spi_device转载 2014-08-06 15:42:49 · 511 阅读 · 0 评论 -
mini2440 SPI驱动移植
mini2440 SPI驱动移植 2013-07-12 15:30:17分类: 嵌入式 最近项目需要,需要在mini2440上移植SPI驱动,板子需要驱动SPI设备,上网找了很多资源,但是很多都是有问题,最终在基本理解驱动结构的前提下,将SPI驱动顺利移植到mini2440。 我使用的内核版本是2.6.32.2,这转载 2014-08-06 11:20:13 · 498 阅读 · 0 评论 -
Linux设备驱动剖析之SPI(四)
781行之前没什么好说的,直接看783行,将work投入到工作队列里,然后就返回,在这里就可以回答之前为什么是异步的问题。以后在某个合适的时间里CPU会执行这个work指定的函数,这里是s3c64xx_spi_work函数,看它的定义:00000723 static void s3c64xx_spi_work(struct work_struct *work)00000724 {0转载 2014-08-06 11:10:34 · 587 阅读 · 0 评论 -
Linux设备驱动剖析之SPI(三)
572至574行,分配内存,注意对象的类型是struct spidev_data,看下它在drivers/spi/spidev.c中的定义:00000075 struct spidev_data {00000076 dev_t devt;00000077 spinlock_t spi_lock;00000078 stru转载 2014-08-06 11:07:45 · 702 阅读 · 0 评论 -
Linux设备驱动剖析之SPI(二)
957至962行,一个SPI控制器用一个master来描述。这里使用SPI核心的spi_alloc_master函数请求分配master。它在drivers/spi/spi.c文件中定义:00000471 struct spi_master *spi_alloc_master(struct device *dev, unsigned size)00000472 {00000转载 2014-08-06 11:07:54 · 629 阅读 · 0 评论 -
Linux设备驱动剖析之SPI(一)
专注于嵌入式 & Linux以Kernel为中心,坚持学习各种资源建设。博客园闪存首页新随笔联系管理订阅随笔- 94 文章- 0 评论- 158 Linux设备驱动剖析之SPI(一)写在前面 初次接触SPI是因为几年前玩单片机的时候,由于普通的51单片机没有SPI控制器,所以只好用IO口去模转载 2014-08-06 11:02:31 · 475 阅读 · 0 评论 -
[转] linux rtc驱动
Linux的RTC驱动相对还是比较简单的,可以将它作为一个普通的字符型设备,或者一个misc设备,也可以是一个平台设备,这都没有关系,主要还是对rtc_ops这个文件操作结构体中的成员填充,这里主要涉及到两个方面比较重要: 1. 在Linux中有硬件时钟与系统时钟等两种时钟。硬件时钟是指主机板上的时钟设备,也就是通常可在BIOS画面设定的时钟。系统时钟则是指kernel中的时钟。当Linu转载 2014-02-11 10:35:56 · 586 阅读 · 0 评论 -
【原创】SPI 入门测试问题
linux 内核已经存在SPI驱动(drivers/spidev.c)以及测试文件(linux+v3.2.6/Documentation/spi/spidev_test.c)LOG:如果将内核烧到开发板并利用此测试文件出现:can't open device: No such device or addressAborted分析: 这是由于在/de原创 2014-02-13 15:33:37 · 1341 阅读 · 0 评论 -
内核中断,异常,抢占总结篇
一、基本概念中断分为同步中断和异步中断。同步中断是由CPU控制单元产生的,“同步”是指只有在一条指令执行完毕后,CPU才会发出中断,而不是发生在代码指令执行期间,比如系统调用。而异步中断是由其他硬件设备依照CPU时钟信号产生的,即意味着中断能够在指令之间发生,例如键盘中断。按照Intel的微处理器手册,同步中断和异步中断也分别称为异常(或者软件中断)和中断。中断大家都比较熟悉,是由硬件设备转载 2015-12-15 10:14:08 · 699 阅读 · 0 评论