Chinaunix首页 | 论坛 | 博客
  • 博客访问: 475670
  • 博文数量: 56
  • 博客积分: 0
  • 博客等级: 民兵
  • 技术积分: 1957
  • 用 户 组: 普通用户
  • 注册时间: 2013-06-07 23:02
文章分类

全部博文(56)

文章存档

2016年(1)

2014年(7)

2013年(48)

分类: 嵌入式

2013-07-25 22:00:44

原创文章,转发请注明出处。

6.2.4 函数库usrUsbHcdOhciInit

HCD层主要用于HC的管理控制,并为USBD层提供了统一的函数控制接口。

从硬件结构来数,HC是一种PCI设备,类似于PCI网卡。与PCI网卡相比,除了USB接口与网线的区别之外,还存在一个区别:PCI网卡的硬件接口都随着生产商的不同而不同,而HC设备的生产商生产的产品都必须严格遵照OHCI或者UHCI规范,因此从软件上来说只需要提供了OHCIUHCI规范的软件接口,就可以为所有的HC提供驱动。本章将以OHCI为例对HCD层详细加以分析。

因此HCD主要包括以下几个部分:PCI配置部分、OHCI实现部分以及为USBD层提供的标准接口部分。

PCI接口的配置主要有函数库usrUsbHcdOhciInit来完成,函数库usrUsbHcdOhciInit中只有一个函数usrUsbHcdOhciAttach,这个函数库比较简单:首先在所有以经探测到的PCI设备中检查有没有OHCI类型的设备(OHCI_CLASSOHCI_SUBCLASSOHCI_PGMIF),一旦找到符合的设备就会调用usbPciConfigHeaderGet函数读取该设备的配置头以获取该设备的内存映射等信息,并调用函数usbdHcdAttach加载HC层的驱动。

阅读(2151) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~