![](https://img-blog.csdnimg.cn/20201014180756930.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
linux驱动
文章平均质量分 80
alleincao
?
展开
-
Linux内核访问外设I O资源的方式
转自:http://blog.csdn.net/woshixingaaa/archive/2011/05/15/6421954.aspx 首先介绍一下I/O端口和I/O内存。1. I/O端口:当一个寄存器或内存位于I/O空间时,称其为I/O端口。2. I/O内存:当一个寄存器或内存位于内存空间时,称其为I/O内存。再来看一下I/O寄存器和常规内存的区别:I/O寄存器具有边际转载 2012-03-18 00:17:46 · 746 阅读 · 0 评论 -
mini2440 LED驱动程序之完全剖析
说明mini2440中提供的内核自带了LED的驱动程序,但该驱动是以杂项设备的形式编写,不太适合初学者,作者根据LDD3第三章内容将代码进行了修改,希望对一些初学者有所帮助转载请说明出处:http://blog.csdn.net/alleincao/article/details/7362558驱动程序:#include #include #include #incl原创 2012-03-17 11:12:28 · 1549 阅读 · 0 评论 -
深入浅出spi驱动之数据结构(一)
Allein.Cao原创作品,转载请注明出处: http://blog.csdn.net/alleincao/article/details/7522418内核版本:2.6.32.2硬件:S3C2440 SPI总线是一种比较通用的数据传输总线,遵从主从模式,由主设备发起通讯请求,通常工作于全双工模式,由4条数据时钟线组成,下面这段话摘自s3c2440数据手册:There原创 2012-04-29 15:45:30 · 4286 阅读 · 0 评论 -
IS_ERR
像struct class *cls = class_create();这种语句,其中返回的指针值并不行kmalloc一样这么简单,只判断是否为NULL就可以了,内核是返回其错误值。那么我怎么来判断它呢,总不能用if()来将每个错误例出来吧,这里我们的IS_ERR()宏就发挥作用了。先看源代码,再讲原理,看看内核中的巧妙设计思路。/* include/linux/err.h *转载 2012-04-28 12:00:35 · 426 阅读 · 0 评论 -
深入浅出spi驱动之控制器驱动(二)
Allein.Cao原创作品,转载请注明出处:http://blog.csdn.net/alleincao/article/details/7523169内核版本:2.6.32.2硬件:S3C2440控制器驱动是与SOC密切相关的一个模块,在linux中,一般都会采用设备驱动和控制器驱动分离的思想,两者通过一个core进行关联,这样能够最大程度保证代码的可移植性,具体可原创 2012-04-29 22:36:46 · 4772 阅读 · 0 评论 -
深入浅出spi驱动之设备驱动(三)
Allein.Cao原创作品,转载请注明出处:http://blog.csdn.net/alleincao/article/details/7525977内核版本:2.6.32.2硬件:S3C2440设备驱动是在core之上的模块,向上给应用程序提供file_operations接口,应用程序可以通过设备节点访问驱动程序,向下通过core向控制器模块发送数据,控制器原创 2012-05-01 16:49:24 · 13746 阅读 · 0 评论