易截截图软件、单文件、免安装、纯绿色、仅160KB

understanding linux usb ehci device driver(2)

understanding linux usb ehci device driver(2)
understanding linux usb ehci device driver(2)
lm_tom@163.com
2. linux ehci device driver(ehci hcd)
2.1. linux usb subsystem arch overview(host)
2.2. ehci_hcd
2.3. ehci 实现的接口
2.3.1. ehci_pci_setup() (hc_driver->reset)
2.3.2. ehci_run() (hc_driver->start)
2.3.3. ehci_stop() (hc_driver->stop)
2.3.4. ehci_get_frame()(hc_driver-> get_frame_number)
2.3.5. ehci_urb_enqueue()(hc_driver->urb_enqueue)*
2.3.6. ehci_urb_dequeue()(hc_driver->urb_dequeue)
2.3.7. ehci_endpoint_disable()(hc_driver-> endpoint_disable)
2.3.8. ehci_irq()(hc_driver->irq)*
2.3.9. ehci_hub_control()(hc_driver->hub_control)
2.3.10. ehci_hub_status_data(hc_driver->hub_status_data)


1.   linux ehci device driver(ehci hcd)
1.1.linux usb subsystem arch overview(host)
            
Fig 2-1 linux usb subsystem block diagram
Fig 2-1中, 绿色线代表调用关系,绿线起点(非箭头)连接服务提供者,绿线终点(箭头)指向调用方; 红色线代表实现关系,
红线终点(箭头)指向接口定义者,红线起点(非箭头)连接接口实现方.

Usb Interface driver 指操作usb function的驱动,负责实现function层的协议(mass-storage,
usb video class,HID…),比如usb-storage/uvc/hid等模块,一般每个(类)Interface使用一种驱动.
用户可自己开发一些标准class的驱动或者一些非标准的function驱动,系统中支持function的数目由usb 2.0
spec确定,一般来说不同(类)的function均有一个对应的Usb Interface driver, usb
subsystem可以同时支持多个usb Interface driver(usb function)的运行. 一般来说,该层比较薄,
class的协议都不是很复杂.

Linux usbcore模块是对整个linux usb subsytem的抽象, 在整个subsystem中起着承上启下的作用, 实现usb
2.0部分协议. 提供了大量的API供外部模块调用, 这些API 对应linux usbcore
module中通过EXPORT_SYMBOL()导出的函数和变量; 同时,linux usbcore 也定义了接口类型, 这些接口需要usb
interface driver以及usb host controller driver来实现. usbcore模块一般不需要用户改动.
该层比较厚,内容较为丰富.

Linux usb host


相关文档:

Linux 汇编代码

在linux内核的源代码中,以汇编语言编写的程序或程序段,有两种不同的形式。
第一种事完全的汇编代码,这样的代码采用.s作为文件的后缀。事实上,尽管是完全的汇编代码,现代的汇编工具也吸收了C语言的长处,也在汇编之前加上了一趟预处理,而预处理之前的文件则以.s为后缀。此类(.s)文件也和C程序一样,可以使用#includ ......

通过ssh转发X访问Linux无头工作站

无论微软如何专注于桌面,X的设计还是能让他们汗颜。比较一下Windows远程桌面(2008Server终于有所改进)和X转发的效果就可以理解,为什么*nix的世界里显示GUI环境依靠的竟然是Server-Client架构。
在Windows下,只要实现两个要素就可以实现X的转发:1.X Server服务;2.ssh客户端。前者可以用Xming,后者可以用putty或openS ......

linux 常用命令整理

tar 文件与目录压缩命令
tar [-cxtzjvfpPN] 文件与目录 ....
参数:
-c :建立一个压缩文件的参数指令(create 的意思);
-x :解开一个压缩文件的参数指令!
-t :查看 tarfile 里面的文件!
特别注意,在参数的下达中, c/x/t 仅能存在一个!不可同时存在!因为不可能同时压缩与解压缩。
-z :是否同时具有 gzip 的 ......

Linux系统调用 sigaction函数详解(一)

功能描述: 
处理信号。既可用于设定对任意信号的处理方式,也可用于检验该信号的目前预设处置方式。
 
  
用法: 
#include <signal.h>
int sigaction(int signum, const struct sigaction *act, struct sigaction *oldact);
       
 &n ......

嵌入式Linux操作系统学习规划

ARM+LINUX路线,主攻嵌入式Linux操作系统及其上应用软件开发目标: 
(1)掌握主流嵌入式微处理器的结构与原理(初步定为arm9) 
(2)必须掌握一个嵌入式操作系统(初步定为uclinux或linux,版本待定) 
(3)必须熟悉嵌入式软件开发流程并至少做一个嵌入式软件项目。 
从事嵌入式软件开发的好处是 ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号