首页 | 新闻 | 新品 | 文库 | 方案 | 视频 | 下载 | 商城 | 开发板 | 数据中心 | 座谈新版 | 培训 | 工具 | 博客 | 论坛 | 百科 | GEC | 活动 | 主题月 | 电子展
返回列表 回复 发帖

基于AT91RM9200的USB主机端Linux驱动之一

基于AT91RM9200的USB主机端Linux驱动之一

通用串行总线(USB)是一种新兴的计算机外围串行通信接口标准,它克服传统计算机串/并口的缺陷,具有热插拔、即插即用、数据传输可靠、扩展方便、低成本等优点,已成为当前计算机必备的接口之一,同时也被广泛地应用与嵌入式系统设计中。本文着重介绍嵌入式Linux中的USB主机端驱动。其硬件平台是AT91RM9200处理器系统,软件平台是Linux-2.6.19.2内核。

1 AT91RM9200 USB主机端接口硬件构成

         AT91RM9200处理器是Atmel公司一款比较流行的微型处理器,它具有ARM920T内核(带有MMU),主时钟频率可达240 MHz,很适合嵌入式系统应用,它同时具有USB主机端和设备端,其中主机端处理开HCI协议(OHCI)及USB v2.0全速与低速协议,还给ASB提供简单的读/写协议,USB主机端口还集成1个根集线器,硬件结构如图1所示。


2 Linux USB主机端驱动

        Linux在1999年就在其核心内嵌入了USB驱动程序。理解Linux的USB主机端驱动结构和原理,对在Linux系统上开发USB设备端驱动程序,以及进一步理解USB协议有着很重要的意义。下面基于内核版本2.6.19.2分析Linux USB的主机端驱动。

        Linux USB主机端驱动主要分为:主机控制器驱动、USB核心驱动和USB设备端驱动3个部分,它们之间的层次关系如图2所示。




记录学习中的点点滴滴,让每一天过的更加有意义!
返回列表