1. 字符设备结构体 内核中所有已分配的字符设备编号都记录在一个名为 chrdevs 散列表里。该散列表中的每一个元素是一个 char_device_struct 结构,它的定义如下: static struct char_device_struct { struct char_device_st....
分类:
其他好文 时间:
2015-10-04 17:13:15
阅读次数:
147
I/OPorts:I/O设备地址;一切皆文件:open(),read(),write(),close()块设备:block,存取单位“块”,磁盘字符设备:char,存取单位“字符”,键盘设备文件:关联至一个设备驱动程序,进而能够跟与之对应硬件设备进行通信;设备号码:主设备号:majornumber,标识设备类型次设备..
分类:
系统相关 时间:
2015-10-02 06:49:36
阅读次数:
259
一、概述Linux内核就是由各种驱动组成的,内核源码中大约有85%的各种渠道程序的代码。一般来说,编写Linux设备驱动大致流程如下:1、查看原理图,数据手册,了解设备的操作方法。2、在内核中找到相近的驱动程序,以它为模板开发。3、实现驱动的初始化:比如像内核注册这个驱动程序4、设计要实现的操作:o...
分类:
其他好文 时间:
2015-09-26 12:06:02
阅读次数:
216
Linux磁盘管理块设备:block,存取单位“块”,磁盘字符设备:char,存取单位“字符”,键盘设备文件:关联至一个设备驱动程序,进而能够跟与之对应硬件设备进行通信;设备号码:主设备号:majornumber,标识设备类型次设备号:minornumber,标识同一类型下的不同设备硬盘接口类..
分类:
系统相关 时间:
2015-09-25 14:41:52
阅读次数:
272
1.混杂设备驱动模型a.混杂设备描述混杂设备概念:在Linux系统中,存在一类字符设备,它们拥有相同的主设备号(10),但次设备号不同,我们称这类设备为混杂设备(miscdevice)。所有的混杂设备形成一个链表,对设备访问时内核根据混杂设备形成一个链表,对设备访问时内核根据次设备号查找到相应的混杂...
分类:
其他好文 时间:
2015-09-20 20:45:49
阅读次数:
206
/boot:系统启动的相关文件:/dev:设备文件存放的地方块设备:能够随机读取的:例如硬盘字符设备:顺序读取的设备:例如键盘/home:每个用户的家目录所在位置.user用户的家目录:/home/userroot用户的家目录为;/root/lib:库文件存放的地方库文件:供程序调用以便跟系统内核交..
分类:
系统相关 时间:
2015-09-15 01:50:48
阅读次数:
167
在上一篇中我们已经了解了字符设备驱动的原理,也了解了应用层调用内核函数的机制,但是我们每次操作设备,都必须首先通过mknod命令创建一个设备文件名,比如说我们要打开u盘,硬盘等这些设备,难道我们还要自己创建,就如同刘老师常说的一句话,这也太山寨了吧,所以我们今天我们来点比较专业的,让函数帮我们自.....
分类:
系统相关 时间:
2015-09-12 21:50:04
阅读次数:
293
S_ISLNK(st_mode):是否是一个连接.S_ISREG(st_mode):是否是一个常规文件.S_ISDIR(st_mode):是否是一个目录S_ISCHR(st_mode):是否是一个字符设备.S_ISBLK(st_mode):是否是一个块设备S_ISFIFO(st_mode):是否 是...
分类:
其他好文 时间:
2015-09-12 12:09:16
阅读次数:
196
1.fatal error:asm/system.h:No such file or directory1 #include 2 #if LINUX_VERSION_CODE > KERNEL_VERSION(3, 3, 0)3 #include 4 #else5 #include ...
分类:
其他好文 时间:
2015-09-11 12:37:14
阅读次数:
279
文件类型:-:普通文件d:目录c:字符设备,如显示器键盘鼠标等b:块设备,磁盘,U盘等l:软连接文件,类似于win中的快捷方式,只记录了一个文件的路径s:进程间通信的文件p:管道文件,将一个命令的输出作为另一个命令的输入第一个三个表示这个文件的所属主第二个三个表示这个..
分类:
系统相关 时间:
2015-09-09 14:55:07
阅读次数:
215