首页|嵌入式系统|显示技术|模拟IC/电源|元件与制造|其他IC/制程|消费类电子|无线/通信|汽车电子|工业控制|医疗电子|测试测量
首页 > 分享下载 > 消费类电子 > LINUX系统,及驱动学习文档

LINUX系统,及驱动学习文档

资料介绍
linux设备驱动之USB主机控制器驱动分析

linux设备驱动之USB主机控制器驱动分析

------------------------------------------
本文系本站原创,欢迎转载!
转载请注明出处:http://ericxiao.cublog.cn/
------------------------------------------
一:前言
Usb是一个很复杂的系统.在usb2.0规范中,将其定义成了一个分层模型.linux中的代码也
是按照这个分层模型来设计的.具体的分为
usb设备,hub和主机控制器三部份.在阅读代码的时候,必须要参考相应的规范.最基本的
就是USB2.0的spec.它定义了USB协议.另外的一个
是USB控制器的规范.有UHCI,EHCI,OHCI三种.其中UHCI是Intel推出的一种USB控制器标准
.它将很多功能交给软件处理.相比之
下,它也是最为复杂的.因此,本文档以UHCI为例分析.另外,在分析的过程中参考了情景分
析和fudan_abc的< 之我是UHCI>>.正是因为踩在许多牛人的肩膀上,才使USB这个复杂的工程在我们面前变得
越来越清晰.
本文的代码分析是基于linux kernel 2.6.25.涉及到的代码主要位于linux-
2.6.25/drivers/usb目录下.
二:UHCI的初始化
UHCI主机控制器的代码位于linux-
2.6.25/drivers/usb/host下面.在配置kernel的时候可以选择将其编译进内核或者编译
成模块.模块的入口函数为: uhci_hcd_init().代码如下:
static int __init uhci_hcd_init(void)
{
    int retval = -ENOMEM;
 
     printk(KERN_INFO DRIVER_
LINUX系统,及驱动学习文档
本地下载

评论