总数:6415 | 当前第474/642 首页 上一页 ... 469 470 471 472 473 474 475 476 477 478 ... 下一页 尾页
[第47讲]USB驱动编程(2)
数据传输时序:在USB总线上,所有的数据传输都是由USB HOST发起的。每个USB设备通过地址过滤出自己要接受的数据包,并根据数据包请求的类型与USB HOST进行数据传输。
  1. 2009/11/4
  2. 人气(5118)
  3. 星级(10)
  4. 评论(1)
[第46讲]USB驱动编程(1)
Linux下USB系统文件节点:同其他外设一样,上层应用软件对连接在系统地USB设备访问是通过文件系统的形式进行的。每个连接到系统总线上的USB设备可以同时对应有一个或者多个驱动程序。
  1. 2009/11/4
  2. 人气(5546)
  3. 星级(10)
  4. 评论(1)
[第45讲]网络驱动编程(6)
与用户模式下的malloc()不同,kmalloc()申请空间有大小限制。长度是2的整次方。可以申请的最大长度也有限制。另外kmalloc()有priority参数,通常使用 时可以为GFP_KERNEL,如果在中断里调用用GFP_ATOMIC参数,因为使用GFP_KERNEL
  1. 2009/11/4
  2. 人气(4605)
  3. 星级(10)
  4. 评论(1)
[第44讲]网络驱动编程(5)
与用户模式下的malloc()不同,kmalloc()申请空间有大小限制。长度是2的整次方。可以申请的最大长度也有限制。另外kmalloc()有priority参数,通常使用 时可以为GFP_KERNEL,如果在中断里调用用GFP_ATOMIC参数,因为使用GFP_KERNEL
  1. 2009/11/4
  2. 人气(4663)
  3. 星级(10)
  4. 评论(0)
[第43讲]网络驱动编程(4)
驱动程序必须有一个初始化方法。在把驱动程序载入系统的时候会调用这个初 始化程序。它做以下几方面的工作。检测设备。在初始化程序里你可以根据硬件的特征检查硬件是否存在,然后决定是否启动这个驱动程序。配置和初始化硬件。
  1. 2009/11/4
  2. 人气(4595)
  3. 星级(10)
  4. 评论(0)
[第42讲]网络驱动编程(3)
为了屏蔽网络环境中物理网络设备的多样性,Linux对所有的物理网络设备进行抽象并定义了一个统一的概念, 称之为接口(Interface)。每个接口在内部都表现为一个这样的结构体。
  1. 2009/11/4
  2. 人气(4411)
  3. 星级(10)
  4. 评论(0)
[第41讲]网络驱动编程(2)
任意一个网络接口均可看成一个发送和接收数据包的实体。在 linux 中这个统一的接口就是 device 结构,它操作的数据对象-数据包是通过结构 sk_buff来封装的。
  1. 2009/11/4
  2. 人气(4542)
  3. 星级(10)
  4. 评论(0)
[第41讲]网络驱动编程(2)
在 Linux/uclinux中,整个网络接口驱动程序的框架可分为四层,从上到下分别为协议接口层、网络设备接口层、提供实际功能的设备驱动功能层、以及网络设备和网络媒介层。
  1. 2009/11/4
  2. 人气(4441)
  3. 星级(10)
  4. 评论(0)
[第40讲]网络驱动编程(1)
linux网络子系统可以分为硬件层、设备驱动层、网络协议层和应用层。可以看出,它的实现也采用了分层的思想。其中网络协议层得到的数据包通过设备驱动的发送函数被发送到具体的通信设备上,通信设备传来的数据也在设备驱动程序的接收函数中被解析并组成相应的数据包传给网络协议层。
  1. 2009/11/4
  2. 人气(4247)
  3. 星级(10)
  4. 评论(0)
[第39讲]RTC驱动
这个结构的每一个成员的名字都对应着一个系统调用。用户进程利用系统调用在对设备文件进行诸如read/write操作时,系统调用通过设备文件的主设备号找到相应的设备驱动程序,然后读取这个数据结构相应的函数指针,接着把控制权交给该函数。这是linux的设备驱动程序工作的基本原理。既然是这样,则编写设备驱动程序的主要工作就是编写子函数,并填充file_operations的函数指针。
  1. 2009/11/4
  2. 人气(3946)
  3. 星级(10)
  4. 评论(0)
总数:6415 | 当前第474/642 首页 上一页 ... 469 470 471 472 473 474 475 476 477 478 ... 下一页 尾页