
驱动
水木无痕
这个作者很懒,什么都没留下…
展开
-
内核模块学习
向冀博大神学习:module#ifndef __KERNEL__# define __KERNEL__#endif#ifndef MODULE# define MODULE#endif#include #include #include MODULE_LICENSE("Dual BSD/GPL");static int h原创 2014-07-22 20:02:16 · 545 阅读 · 0 评论 -
linux等待队列使用步骤
在Linux驱动程序中,可以使用等待队列(wait queue)来实现阻塞进程的唤醒。wait queue很早就作为一种基本的功能单位出现在Linux内核里了,它以队列位基础数据结构,与进程调度机制紧密结合,能够用于实现内核中异步事件通知机制。等待队列可以用来同步对系统资源的访问。(信号量在内核中也依赖等待队列来实现). Linux-2.6提供如下关于等待队列的操作:转载 2014-08-05 15:37:39 · 335 阅读 · 0 评论 -
Linux设备驱动开发-linux驱动中的非阻塞访问方式
前面已经详细分析过了阻塞访问方式,下面就来继续分析一下非阻塞的访问方式。什么是非阻塞的访问方式呢?非阻塞操作的进程在不能进行设备操作时,并不挂起,他或者是放弃当前的进程执行,或者是不停地进行查询,知道进程可以进行操作为止。实际上就是常说的轮询的方式进行设备的访问。select()和poll()调用的本质是一样的,在性能上也不存在明显的差异,只是select监视的文件描述符数量有限,转载 2014-08-05 15:32:34 · 407 阅读 · 0 评论 -
内核配置与裁剪浅析
Linux内核裁减 (1)安装新内核: i)将新内核copy到/usr/src下, #tar xzvf linux-2.6.38.4.tar.gz -----解压缩. ii) 将名为linux的符号链接删掉,这是旧版本内核的符号链接. #ln -s linux-2.6.38.4 linux ------建立linux-2.6.38.4的符号链接linux. (2)设置内核. # cd /usr转载 2014-08-06 15:02:19 · 1275 阅读 · 0 评论 -
yaffs2补丁与patch-ker.sh
直接 # ./patch-ker.sh c linux-3.16出错:更改为./pa原创 2014-09-02 10:50:01 · 1079 阅读 · 0 评论 -
《Linux总线、设备与驱动》USBHID设备驱动
来源:http://blog.youkuaiyun.com/tankai19880619/article/details/17447791说明:本分析基于mstar801平台Linux2.6.35.11内核,其他内核版本仅供参考。一、HID虚拟总线驱动加载drivers/hid/hid-core.c[cpp] view plain copy转载 2016-06-01 16:02:16 · 2550 阅读 · 0 评论 -
《Linux总线、设备与驱动》USB设备发现机制
来源:http://blog.youkuaiyun.com/tankai19880619/article/details/11639185说明:本分析基于mstar801平台Linux2.6.35.11内核,其他内核版本仅供参考。一、程序在内核中的位置1.usb host做为pci总线下的一个设备存在(嵌入式系统中有可能也会直接挂在CPU上);这部分驱动由厂家实现,转载 2016-06-01 16:10:32 · 733 阅读 · 0 评论 -
linux设备驱动——总线、设备、驱动
2.6 版本内核是如何管理总线,驱动,设备之间的关系的,关于bus_type、device_driver、device这三个内核结构在内核代码中可以找到。由于这三个结构的重要性,我们在这里先将它们贴出来; 1、设备结构的定义: struct device { struct klist klist_children; struct klist转载 2016-06-07 17:03:23 · 431 阅读 · 0 评论