?简介 Linux输入设备总类繁杂,常见的包括有按键、键盘、触摸屏、鼠标、摇杆等等,他们本身就是字符设备,而linux内核将这些设备的共同性抽象出来,简化驱动开发建立了一个input子系统。子系统共分为三层,如图1所示。 图1 input输入子系统?驱动层 驱动层和硬件相关,直接捕捉和获取硬件设备的... ...
分类:
系统相关 时间:
2018-03-17 16:09:44
阅读次数:
290
《《混杂设备驱动模型》》 《混杂设设备的描述》 <混在设备的概念> 在linux系统中,存在一类字符设备,他们拥有相同的主设备号(10),但是次设备号不同,称这类设备为混在设备(missdevice),所有的混杂设备形成一个链表,对设备进行访问,根据次设备号在链表中查找相应的混杂设备。 注意:混杂设 ...
分类:
系统相关 时间:
2018-03-17 15:25:21
阅读次数:
217
<背景> 在linux系统驱动程序中,因为要面临各种各样的硬件,字符设备,快设备,网络接口设备,USB设备,PCI设备,平台设备,混在设备 ,设备不同则所对应的驱动模型不同,这就导致我们要掌握众多的驱动模型,能从这些众多的驱动模型中找到共性,则是学号linux驱动的关键 <linux 驱动程序的编写 ...
分类:
其他好文 时间:
2018-03-17 15:24:34
阅读次数:
213
<字符设备> 字符设备的上层没有磁盘文件系统,所以字符设备的file_operations成员函数就直接由字符设备驱动提供(一般字符设备都会实现相应的fops集),因此file_operations 也就成为了字符设备驱动的核心。 <块设备> 对于块设备而言,ext2,jiffs2,fat等文件系统 ...
分类:
其他好文 时间:
2018-03-17 15:22:51
阅读次数:
165
Linux中一切皆文件: 文件类型: 一般文件 - 目录文件 d 链接文件 l 块设备 b 字符设备 c soket s 管道文件 p linux 中目录结构: /bin 存放系统可以执行文件 有点类似于Windows中的那个Windows目录 /sbin 存放管理员(super user)用的可以 ...
分类:
系统相关 时间:
2018-03-17 15:21:36
阅读次数:
232
字符设备之混杂设备: 定义混杂设备: struct misdevice{ int minor; //为什么这里只有次设备号,因为混杂设备是一种在 /////////////////////////Linux系统默认主设备号为10 的特殊字符设备。 const char *name; const st ...
分类:
系统相关 时间:
2018-03-17 15:20:22
阅读次数:
222
Linux 自带了一个 watchdog 的实现,用于监视系统的运行,包括一个内核 watchdog module 和一个用户空间的 watchdog程序。内核 watchdog 模块通过 /dev/watchdog 这个字符设备与用户空间通信。用户空间程序一旦打开 /dev/watchdog 设备 ...
分类:
系统相关 时间:
2018-03-17 00:41:42
阅读次数:
288
将 DMA 抽象为一个字符设备,在初始化函数中调用 ~~~~ void dma_alloc_writecombine(struct device dev, size_t size, dma_addr_t handle, gfp_t gfp) ~~~~ 函数来分配两段物理地址连续的空间,一段作为源空间 ...
分类:
其他好文 时间:
2018-03-13 00:59:23
阅读次数:
190
一、设备文件??一切皆文件?1、设备文件的类型??设备文件一般默认存放在/dev下???设备类型:???块设备:block,存取单位“块”,磁盘CD软盘U盘??下面我们来列举一个块设备文件的信息???b:代表块设备文件???8:主设备号???0:次设备号??字符设备:char,存取单位“字符”,键盘鼠标显示器??下面列举一个字符设备文件的信息???c:表示这是一个字符设备文件???设备文件:关联至
分类:
其他好文 时间:
2018-03-10 20:32:36
阅读次数:
233
“一切皆是文件”是 Unix/Linux 的基本哲学之一。不仅普通的文件,目录、字符设备、块设备、套接字等在 Unix/Linux 中都是以文件被对待;它们虽然类型不同,但是对其提供的却是同一套操作界面。另外所谓的块设备:是指支持随机访问的存储设备;与此相对应的是字符设备,它只支持顺序访问。另外Li ...
分类:
系统相关 时间:
2018-03-09 22:44:40
阅读次数:
288