总数:205 | 当前第15/21 首页 上一页 ... 12 13 14 15 16 17 18 19 20 21 下一页 尾页
[第46讲]USB驱动编程(1)
Linux下USB系统文件节点:同其他外设一样,上层应用软件对连接在系统地USB设备访问是通过文件系统的形式进行的。每个连接到系统总线上的USB设备可以同时对应有一个或者多个驱动程序。
  1. 2009/11/4
  2. 人气(5544)
  3. 星级(10)
  4. 评论(1)
[第45讲]网络驱动编程(6)
与用户模式下的malloc()不同,kmalloc()申请空间有大小限制。长度是2的整次方。可以申请的最大长度也有限制。另外kmalloc()有priority参数,通常使用 时可以为GFP_KERNEL,如果在中断里调用用GFP_ATOMIC参数,因为使用GFP_KERNEL
  1. 2009/11/4
  2. 人气(4599)
  3. 星级(10)
  4. 评论(1)
[第44讲]网络驱动编程(5)
与用户模式下的malloc()不同,kmalloc()申请空间有大小限制。长度是2的整次方。可以申请的最大长度也有限制。另外kmalloc()有priority参数,通常使用 时可以为GFP_KERNEL,如果在中断里调用用GFP_ATOMIC参数,因为使用GFP_KERNEL
  1. 2009/11/4
  2. 人气(4660)
  3. 星级(10)
  4. 评论(0)
[第42讲]网络驱动编程(3)
为了屏蔽网络环境中物理网络设备的多样性,Linux对所有的物理网络设备进行抽象并定义了一个统一的概念, 称之为接口(Interface)。每个接口在内部都表现为一个这样的结构体。
  1. 2009/11/4
  2. 人气(4404)
  3. 星级(10)
  4. 评论(0)
[第41讲]网络驱动编程(2)
任意一个网络接口均可看成一个发送和接收数据包的实体。在 linux 中这个统一的接口就是 device 结构,它操作的数据对象-数据包是通过结构 sk_buff来封装的。
  1. 2009/11/4
  2. 人气(4537)
  3. 星级(10)
  4. 评论(0)
[第41讲]网络驱动编程(2)
在 Linux/uclinux中,整个网络接口驱动程序的框架可分为四层,从上到下分别为协议接口层、网络设备接口层、提供实际功能的设备驱动功能层、以及网络设备和网络媒介层。
  1. 2009/11/4
  2. 人气(4439)
  3. 星级(10)
  4. 评论(0)
[第40讲]网络驱动编程(1)
linux网络子系统可以分为硬件层、设备驱动层、网络协议层和应用层。可以看出,它的实现也采用了分层的思想。其中网络协议层得到的数据包通过设备驱动的发送函数被发送到具体的通信设备上,通信设备传来的数据也在设备驱动程序的接收函数中被解析并组成相应的数据包传给网络协议层。
  1. 2009/11/4
  2. 人气(4243)
  3. 星级(10)
  4. 评论(0)
[第39讲]RTC驱动
这个结构的每一个成员的名字都对应着一个系统调用。用户进程利用系统调用在对设备文件进行诸如read/write操作时,系统调用通过设备文件的主设备号找到相应的设备驱动程序,然后读取这个数据结构相应的函数指针,接着把控制权交给该函数。这是linux的设备驱动程序工作的基本原理。既然是这样,则编写设备驱动程序的主要工作就是编写子函数,并填充file_operations的函数指针。
  1. 2009/11/4
  2. 人气(3944)
  3. 星级(10)
  4. 评论(0)
[第38讲]ADC驱动
这个结构的每一个成员的名字都对应着一个系统调用。用户进程利用系统调用在对设备文件进行诸如read/write操作时,系统调用通过设备文件的主设备号找到相应的设备驱动程序,然后读取这个数据结构相应的函数指针,接着把控制权交给该函数。这是linux的设备驱动程序工作的基本原理。既然是这样,则编写设备驱动程序的主要工作就是编写子函数,并填充file_operations的函数指针。
  1. 2009/11/4
  2. 人气(3842)
  3. 星级(10)
  4. 评论(0)
[第37讲]驱动程序中断(2)
字符设备的驱动程序通过在device_struct数据结构的chrdevs向量中增加一项的方法来向内核注册自己。然后对这个设备的所有调用都用这个设备号来实现。
  1. 2009/11/4
  2. 人气(3948)
  3. 星级(10)
  4. 评论(0)
总数:205 | 当前第15/21 首页 上一页 ... 12 13 14 15 16 17 18 19 20 21 下一页 尾页