总数:7753 | 当前第663/776 首页 上一页 ... 658 659 660 661 662 663 664 665 666 667 ... 下一页 尾页
[第49讲]USB驱动编程(4)
应用程序首先通过文件系统(POSIX)接口来访问相应的USB设备类驱动程序和USBD;USB设备类驱动程序则通过USBD提供的相关接口将数据请求包传递给USBD;USBD通过HCD提供的接口,进一步将数据包传递给HCD;HCD最终将数据发送到USB总线上。
  1. 2009/11/4
  2. 人气(5875)
  3. 星级(10)
  4. 评论(1)
[第48讲]USB驱动编程(3)
数据传输时序:在USB总线上,所有的数据传输都是由USB HOST发起的。每个USB设备通过地址过滤出自己要接受的数据包,并根据数据包请求的类型与USB HOST进行数据传输。
  1. 2009/11/4
  2. 人气(5158)
  3. 星级(10)
  4. 评论(0)
[第47讲]USB驱动编程(2)
数据传输时序:在USB总线上,所有的数据传输都是由USB HOST发起的。每个USB设备通过地址过滤出自己要接受的数据包,并根据数据包请求的类型与USB HOST进行数据传输。
  1. 2009/11/4
  2. 人气(5117)
  3. 星级(10)
  4. 评论(1)
[第46讲]USB驱动编程(1)
Linux下USB系统文件节点:同其他外设一样,上层应用软件对连接在系统地USB设备访问是通过文件系统的形式进行的。每个连接到系统总线上的USB设备可以同时对应有一个或者多个驱动程序。
  1. 2009/11/4
  2. 人气(5545)
  3. 星级(10)
  4. 评论(1)
[第45讲]网络驱动编程(6)
与用户模式下的malloc()不同,kmalloc()申请空间有大小限制。长度是2的整次方。可以申请的最大长度也有限制。另外kmalloc()有priority参数,通常使用 时可以为GFP_KERNEL,如果在中断里调用用GFP_ATOMIC参数,因为使用GFP_KERNEL
  1. 2009/11/4
  2. 人气(4603)
  3. 星级(10)
  4. 评论(1)
[第44讲]网络驱动编程(5)
与用户模式下的malloc()不同,kmalloc()申请空间有大小限制。长度是2的整次方。可以申请的最大长度也有限制。另外kmalloc()有priority参数,通常使用 时可以为GFP_KERNEL,如果在中断里调用用GFP_ATOMIC参数,因为使用GFP_KERNEL
  1. 2009/11/4
  2. 人气(4662)
  3. 星级(10)
  4. 评论(0)
[第42讲]网络驱动编程(3)
为了屏蔽网络环境中物理网络设备的多样性,Linux对所有的物理网络设备进行抽象并定义了一个统一的概念, 称之为接口(Interface)。每个接口在内部都表现为一个这样的结构体。
  1. 2009/11/4
  2. 人气(4410)
  3. 星级(10)
  4. 评论(0)
[第41讲]网络驱动编程(2)
任意一个网络接口均可看成一个发送和接收数据包的实体。在 linux 中这个统一的接口就是 device 结构,它操作的数据对象-数据包是通过结构 sk_buff来封装的。
  1. 2009/11/4
  2. 人气(4540)
  3. 星级(10)
  4. 评论(0)
[第41讲]网络驱动编程(2)
在 Linux/uclinux中,整个网络接口驱动程序的框架可分为四层,从上到下分别为协议接口层、网络设备接口层、提供实际功能的设备驱动功能层、以及网络设备和网络媒介层。
  1. 2009/11/4
  2. 人气(4440)
  3. 星级(10)
  4. 评论(0)
[第40讲]网络驱动编程(1)
linux网络子系统可以分为硬件层、设备驱动层、网络协议层和应用层。可以看出,它的实现也采用了分层的思想。其中网络协议层得到的数据包通过设备驱动的发送函数被发送到具体的通信设备上,通信设备传来的数据也在设备驱动程序的接收函数中被解析并组成相应的数据包传给网络协议层。
  1. 2009/11/4
  2. 人气(4245)
  3. 星级(10)
  4. 评论(0)
总数:7753 | 当前第663/776 首页 上一页 ... 658 659 660 661 662 663 664 665 666 667 ... 下一页 尾页