linux驱动
文章平均质量分 87
damotiansheng
这个作者很懒,什么都没留下…
展开
-
《Linux中断编程》中断处理底半部
From: http://blog.csdn.net/tankai19880619/article/details/13507601一、Linux内核中断机制1.同步中断:当一条指令执行完毕后,由CPU控制单元产生、而不是发生在代码指令执行期间的中断。也叫异常,例如系统调用。(注意:它运行在进程上下文!!!)2.异步中断:由其他硬件设备依照CPU时钟信号随机产生转载 2015-04-15 16:25:55 · 1498 阅读 · 0 评论 -
Linux设备驱动中的阻塞与非阻塞I/O-ubantu14.04第四个驱动程序
阻塞和非阻塞I/O是设备访问的两种不同模式,驱动程序可以灵活的支持用户空间对设备的这两种访问方式本例子讲述了这两者的区别 并实现I/O的等待队列机制, 并进行了用户空间的验证基本概念:1> 阻塞操作 是指 在执行设备操作时,若不能获得资源,则挂起进程直到满足操作条件后再进行操作。被挂起的进 程进入休眠, 被从调度器移走,直到条件满足。2> 非阻塞操作转载 2015-03-25 14:28:53 · 1065 阅读 · 1 评论 -
ubantu14.04第三个使用文件私有数据的globalmem的设备驱动
1. 代码如下:#include #include #include #include #include #include #include #include #include //#include //找不到这个文件#include // for kmalloc and kfree function#include #define GLOBALMEM_SIZE 0原创 2015-03-24 14:32:31 · 1116 阅读 · 0 评论 -
linux 内存映射 remap_pfn_range操作(内核地址映射到用户空间)
1. mmap.c:#include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #defin转载 2015-04-02 10:44:58 · 5209 阅读 · 0 评论 -
ubantu14.04第二个memory驱动程序
1. mydm1.c:#include #include #include #include #include #include #include #include #include #include MODULE_LICENSE("Dual BSD/GPL"); int devMajor = 224; // 主设备号用于内核把文件和它的驱动链接在一起stat原创 2015-03-24 09:35:18 · 736 阅读 · 0 评论 -
RAMDISK块设备驱动程序
from: http://blog.163.com/hjw_vc/blog/static/1148310352009104952466/ram、loop、网络设备等驱动通常使用自己编写的make_request函数来处理bio结构,免去内核使用I/O调度器处理的麻烦。而像硬盘等这些有磁道、扇区的设备驱动则使用request函数,内核会提供 __make_request()函数并调用转载 2015-03-31 13:58:25 · 2343 阅读 · 0 评论 -
设备驱动基础1:设备模型之总线,驱动,设备
ref: http://www.cnblogs.com/image-eye/archive/2012/01/29/2331254.htmlKobject,kset是设备模型的基本结构体,设备模型使用这两个结构体来完成设备的层次关系,但在实际的设备驱动编写中,我们基本上用不到kobject,kset这些结构体,是因为这些结构体又被嵌入到更大的结构体中,原因在于kobject,kset结构体只转载 2015-03-23 14:04:50 · 649 阅读 · 0 评论 -
设备驱动基础0:设备模型之kobject,kset及其关系
from: http://www.cnblogs.com/image-eye/archive/2012/01/29/2330838.htmlLinux2.6以后的设备驱动,都是在设备模型的基础上构建的,因此,要编写linux下的设备驱动程序,不论是usb设备,pci设备等,都需要了解设备模型。设备模型的基础结构体主要是kobject,kset这两个结构体:struct kobject转载 2015-03-23 14:52:12 · 535 阅读 · 0 评论 -
linux驱动入门博客
草根老师博客(程姚根):linux设备驱动:http://blog.chinaunix.net/uid/26833883/cid-196673-list-1.html转载 2015-03-30 10:01:50 · 580 阅读 · 0 评论 -
ubantu14.04 32位下第一个hello world驱动程序
ubantu14.04 32位下第一个hello world驱动程序平台:ubantu14.04,内核版本: 3.13.0-32-generic编写驱动程序时,首先必须建立内核源码树,内核源码树我现在的理解就是整个linux内核源代码编译后的形式,即下载源码后,执行make编译后的形式,它是编译驱动的前提。ubuntu系统默认情况下是没有的。先前的内核只需要有一套内核头文件原创 2015-03-19 19:36:35 · 3322 阅读 · 1 评论 -
linux中秒字符设备驱动(宋宝华设备驱动开发详解第10章)
from: http://blog.sina.com.cn/s/blog_95268f5001015mqb.html1. secondchar.c:#include #include #include #include //建立自动设备节点要包含的头文件#include #include #include #include #include #include /转载 2015-03-26 10:16:48 · 1383 阅读 · 0 评论 -
在驱动中增加异步通知的例子
From: http://blog.csdn.net/wenhui_/article/details/6824411异步通知的意思是:一旦设备就绪,则主动通知应用程序,这样应用程序就根本不需要查询设备的状态,这一点非常类似于硬件上的“中断”的概念,比较准确的称谓是“信号驱动的异步I/O”。信号是在软件层次上对中断机制的一种模拟,在原理上一个进程接收到一个信号与处理器接收转载 2015-03-25 16:18:09 · 751 阅读 · 0 评论 -
Linux设备驱动之mmap设备操作(memdev.c字符设备驱动分析)
from: http://blog.csdn.net/mirkerson/article/details/8232422http://blog.chinaunix.net/uid-25906157-id-1754499.html1.mmap系统调用void *mmap(void *addr, size_t len, int prot, int flags, in转载 2015-04-02 16:26:33 · 5085 阅读 · 1 评论