1 / 3
文档名称:

Linuxlinux硬件驱动架构.doc

格式:doc   页数:3
下载后只包含 1 个 DOC 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

Linuxlinux硬件驱动架构.doc

上传人:xxj16588 2016/1/25 文件大小:0 KB

下载得到文件列表

Linuxlinux硬件驱动架构.doc

相关文档

文档介绍

文档介绍:Linuxlinux硬件驱动架构linux硬件驱动(usb)模块:模块用来装载到内核中,用来实现设备驱动程序。linux对于一个硬件的驱动,使用两种方式加载:  1.  直接加载到内核代码中,启动内核时就会驱动此硬件设备  2.  以模块方式加载,,当应用程序需要时加载进内核空间运行  so()设备文件(设备节点):设备文件(设备节点)指定(主设备号)&&(次设备号)主设备号:对应着确定的驱动程序。(声明设备所使用的驱动程序,设备号相当于硬件驱动程序的一个标识)次设备号:区分不同属性,不同使用方法,不同位置,不同操作设备号从/proc/drives中获取,so先有驱动程序在内核中,才有设备节点在目录中。SCSI(并口):通常使用的的usb存储设备,是模拟scsi硬盘而进行设计的。Linux硬件驱动架构:.o驱动模块文件--(如果需要使用这个驱动程序,首先要加载运行它)-->insmod*.o--(驱动程序根据字符设备类型或块设备类型(鼠标属于字符设备,硬盘属于块设备))向系统注册-->注册成功之后系统返回一个主设备号---(根据主设备号创建一个放置在/dev目录下的设备文件)-->(mknod用来创建设备文件需要用到设备号这个参数)----->我们访问硬件时,就可以对设备文件通过open,read,write等命令进行,而驱动就会接收到相应的read,write操作而根据自己模块中的相应函数进行。:1./lib/modules/.**目录,下面是针对当前内核版本的模块。(depmod设置)(modprobe),当kernel需要时直接去该文件中查找别名加载modprobe用于加载系统已经通过depmod登记过的模块,。USB骨架程序的设计:(Usb子系统提供一种方法去注册一个次设备号和file_operations函数指针)1.  USB驱动的注册和注销(注册时会发送一个消息usb_register)2.  插入时linux-hotplug自动装载程序MODULE_DEVICE_TABLE(设备节点,设备文件)3.  驱动程序将调用probe(探测)函数,函数参usb_device结构指针,接口号和接口ID都会被传递到函数中,成功返回一个含有设备驱动程序状态的指针,否则返回NULL4.  之后调用devfs_register函数注册5.  如