
usb
xu1fei2
珍惜时间,热爱生活!
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
linux EHCI DRIVER之中断处理函数ehci_irq()分析(一)
EHCI的interrupt在HCD中被分为了6种类型,如下宏定义:/* these STS_* flags are also intr_enable bits (USBINTR) */#define STS_IAA (1#define STS_FATAL (1#define STS_FLR (1#define STS_PCD (1#define S转载 2016-11-16 11:57:25 · 1264 阅读 · 0 评论 -
linux ehci hcd之qh_urb_transaction()分析(二)
接下来从qtd_fill()中返回到qh_urb_transaction()中,再贴一下返回处的代码,如下1. if (usb_pipecontrol (urb->pipe)) {2. /* SETUP pid */3. qtd_fill(ehci, qtd, urb->setup_dma,4. sizeof (struct usb_ctrlrequest),转载 2016-11-15 11:25:36 · 557 阅读 · 0 评论 -
linux ehci ehci_urb_enqueue之qh_urb_transaction()分析(一)
以下文字会对linux usb hcd driver中的ehci_urb_enqueue函数做一些说明。先把该函数罗列一下。1. /*2. * non-error returns are a promise to giveback() the urb later3. * we drop ownership so next owner (or urb unlink转载 2016-11-15 11:19:29 · 855 阅读 · 0 评论 -
USB协议架构及驱动架构
转自:http://blog.youkuaiyun.com/myarrow/article/details/82791561. USB协议1.1 USB主机系统 在USB主机系统中,通过根集线器与外部USB从机设备相连的处理芯片,称为USB主机控制器。USB主机控制器包含硬件、软件和固件一部分。1.2 USB设备系统转载 2016-11-14 15:56:14 · 518 阅读 · 0 评论 -
USB主机控制器(Host Controller)--深入理解
1. 主机控制器(Host Controller) • UHCI: Universal Host Controller Interface (通用主机控制接口, USB1.0/1.1) • OHCI: Open Host Controller Interface (开放主机控制接口,USB1.0/1.1) • EHCI: Enhanced Host C转载 2016-11-14 15:55:10 · 5498 阅读 · 0 评论 -
USB协通讯议--深入理解
0. 基本概念 一个【传输】(控制、批量、中断、等时):由多个【事务】组成; 一个【事务】(IN、OUT、SETUP):由一多个【Packet】组成。 USB数据在【主机软件】与【USB设备特定的端点】间被传输。【主机软件】与【USB设备特定的端点】间的关联叫做【pipes】。一个USB设备可以有多个管道(pipes)。1.转载 2016-11-14 15:54:09 · 542 阅读 · 0 评论 -
understanding linux usb ehci device driver(3)
3. 主要场景分析3.1. ehc如何发现设备的插拔3.2. 如何完成提交的urb3.3. unlink urb3.4. ehci如何支持fs/ls设备1. 主要场景分析1.1.ehc如何发现设备的插拔ehci_hub_status_data()会返回port的”change status”信息,hub driver会通过ehci_hub_statu转载 2016-11-14 15:53:18 · 478 阅读 · 0 评论 -
understanding linux usb ehci device driver(2)
2. linux ehci device driver(ehci hcd)2.1. linux usb subsystem arch overview(host)2.2. ehci_hcd2.3. ehci 实现的接口2.3.1. ehci_pci_setup() (hc_driver->reset)2.3.2. ehci_run() (hc_driver->start)2转载 2016-11-14 15:51:56 · 970 阅读 · 0 评论 -
understanding linux usb ehci device driver(1)
目录(?)[-] ehci specification overview 11 ehci architectual overview11 ehci定义的寄存器接口2 ehci定义的schedule interface3 ehci operational model31 Periodic schedule32 Managing Isochrono转载 2016-11-14 15:46:13 · 1769 阅读 · 0 评论 -
linux EHCI DRIVER之中断处理函数ehci_irq()分析(二)
先上代码,1. static void scan_async (struct ehci_hcd *ehci)2. {3. struct ehci_qh *qh;4. bool check_unlinks_later = false;5. 6. ehci->qh_scan_next = ehci->async->qh_next.qh;7.转载 2016-11-16 11:59:18 · 1134 阅读 · 0 评论 -
linux usb ehci controller driver
1 数据结构这里描述的所有结构的第一个word的结构都是相同的:Next Link Pointer + Type+T,即都是由指向下个结构体的物理地址+结构体类型指示+Terminate来构成。这样构成有个好处,用c++的基类和派生类来类比非常贴切,这里的第一个word就相当于基类,而这些结构体的其余部分就相当于不同的派生类(在这里就是qtd,itd,qh,sitd...)。诚如c++那样转载 2016-11-15 14:46:30 · 3762 阅读 · 0 评论