基于Linux的USB主机设备驱动程序的开发

合集下载

基于Linux的USB设备管理器的设计与实现

基于Linux的USB设备管理器的设计与实现
姚 振 国
( 电子科技 大学, 1 9) 1成都 60 5 ) 10 4 摘 要 : 究目前 Ln x U B设备软件 U B i 研 i 下 S u S v w与 l s , e s b 通过对比其优缺点 , u 设计并 实现一种 图形界 面的 U B设 备管理 S
软件 :S U B设 备 管 理 器 。 它 基 于 l ub库 与 Ss 虚 拟 文 件 系统 , 用 G K + . is b yf s 使 T 2 0来 作 为 图 形界 面库 , 运 行 在 所 有 安 装 能
Ab t a t a e n a ay i g t e a v n a e n ia v n a e fUS i w a d lu b r n ig o i u ,T i a e e in n sr c :B s d o n lzn d a tg s a d d s d a t g so Bve n s s u n n n Ln x h sp p rd sg s a d h r aie e US e i e ma a e ot r : B d vc n g r I i b s d o i u b a d S ssvr a ls se ,u i g GK e z s a n w B d vc n g rs f l wa e US e ie ma a e . t s a e n lb s n y f i u lf e y tm t i sn T
0 引 言
Ln x 作 系统 以 其 开 源 高 效 的 优 点 广 泛 地 应 iu 操 用 在嵌 入 式 领 域 以及 桌 面 计 算 机 领 域 。 随 着 Ln x iu 的发 展 , iu Ln x占有 了 越 来 越 多 的 桌 面 计 算 机 操 作 系统 市 场 份 额 , 在 很 多 计 算 机 生 产 厂 商 采 用 现 Ln x作 为 其 预 装 操 作 系 统 。 目前 常 见 的 Ln x发 iu iu 行 版 主要 有 R d a、 b nu D b n等 。 随 着 Ln x e H tU u t 、 e i a iu 系统 的广 泛 应 用 , 于 Ln x系 统 应 用 软 件 的 开 发 基 iu 也越 来 越 重 要 。 目前 图 形 界 面 已 经 成 为 应 用 软 件 的 主 流 , iu Ln x系 统 主 要 的 图 形 界 面 系 统 主 要 有 GO N ME与 K E G O D 。 N ME是 基 于 G K+库 开 发 , T 采 用 C语 言 , 于 G U工 程 , 属 N 并且 遵 循 L P G L许 可证 , 它是 真 正 免 费 的 工 业 级 图形 界 面 开 发 工 具 … 。基 于 G K+开 发 的 应 用 程 序 , 以 方 便 地 运 行 在 以 T 可 G O N ME为 图 形 界 面 的 Lnx系 统 上 和 其 他 安 装 iu

基于Linux的USB主机设备驱动程序的开发

基于Linux的USB主机设备驱动程序的开发



开发 Ln x下 的设备驱动程序是 一项 比较繁琐 的工作 。从具体 的 U B设备驱动 的开发 流程 出发 , iu S 描述 了Lnx系统 iu U B驱动程序 S Lnx iu
下 U B设备驱 动程序 的几个主要开发细节和注意点。 以能够提供给大家 一个开发 Ln x下 U B设备驱 动程序 的向导。 S iu S 关键 词
1 1 2 U B O C 标 准 . . S H I
在软 件层 面上 看 , S U B主机 控 制 器 是一 个 比较 复杂 的接 口, 需要按 照 U B标 准 管理 所 有 与 之相 它 S 连 的外 设 。 19 95年 底 , o pq Mi oot 公 司推 C m a , c sf等 r 出了 U B O C ( 放式 主控 制器 接 口) 准 。这 是 S H I开 标
D A的方式直接与这块存储器空间交换数据 , M 即利
用这种共享内存的通信方式实现 U B的数据通信。 S
维普资讯
1 2期

萍 ,等 :通过缩放字符 比例在 wod文档 中隐藏信息 的算法研 究 r
驱 动 程序 , 照 O C 标 准 的 U B主机 控 制 器 就 可 按 H I S
以在 系统上 得 以应 用 。这 就 相 当 简 化 了 U B软 硬 S 件 设计 过程 。处理 器 和 U BO C 主机 控制 器 之 间 S H I
U B是通 用 串行 总 线 ( nvra Sr u ) S U i sl ei B s 的 e a l
器空 间 的指 针 ( 址 )处 理 器允 许 O C 控 制 器 用 地 , HI
第一作 者简介 : 赵
明, , 男 现为 中科 院研究 生院信号 与信息处理

基于Linux系统的USB HOST驱动程序设计与实现

基于Linux系统的USB HOST驱动程序设计与实现

1 引言
随着 嵌入式 系 统应用 的 日益广 泛 ,iu Lnx系统 凭
模块 , 它为 U B驱动 ( ei 和 H 提供了一个用 S dv e c C)
于访 问和 控制 U B硬 件 的统一 接 口。如 图 1 S 所示 :
应用程序发出的 U B请求块 ( r ) S ub 经过 U B设备 S
维普资讯
基于 L x系统的 i n u US B HOS T驱动程序设计与实现
张卓 亮
摘要 : 本文 介 绍 了基 于 Ln x系统 的 U B 制 器驱 动设 计 的一般 方 法 。首先 介 绍 UB控 制 器驱 动 的 总 iu S控 S

UB S



CO

L we AP 0 l r l

f l 状沿 H C Di  ̄ r e v l J f l

U BH S C Di r re v I J
给出了 U B控制器驱动程序 的总体结构 , S 并通过作 者编写 的 I 16 的实 际程序说 明各模块的设计要 S 1 P1
驱 动 和 U Ber 后 到 达 U B主机控 制 器 ( C) 主 S oe S H ,
借其强大 、 稳定 、 免费以及对设备的广泛支持等特 使其在嵌入式系统领域迅速得到了应用。 i x Ln 系统 u
对 设备 的友 好支 持 由来 已久 , 随着 U B接 口的广泛 S 使 用 ,iu 统 的 U B子系 统也 得 到不 断 的发 展 。 Lnx系 S 尽 管 Lnx系 统 为 U B设 备 ( ei ) 主 机 ( , iu S dv e 和 c HC Hot ot l) sC n o 提供 统 一 的 编 程 接 口 , r1 但相 对 于 U B S 设备 , 主机 结构 更复 杂 , 发难 度更 大 。本 文 通过 分 开 析 Lnx系 统 的 U B主机 控 制 器 ( C) 程 框 架 , iu S H 编

Linux系统下USB设备驱动的实现

Linux系统下USB设备驱动的实现

I plm e fUS d v c ie n Li x m e nto B e iedrv r i nu
Z n h ii g Xu Fe g e gS u pn n
( ol e fE g neig, rhC ia U ies yo eh oo y , Oig1 O 4 ) C l g n iern Not hn nvri f T cn lg Be n O O 1 e o t
定义设备的描述符, 图 1 如 所示 。
图 2 Ln x的 US iu B子 系统结 构
di rU B ” r e/ S / 目录下 , v 根据功能可分成 以下 4 个部
分: 文件系统、 B 主机控制器 驱动程序 和客户 US D、
述 I l 符 l 述 f述 I述 l 符 符 述 l 符 符 符 I I I 述
dv . 为用户空间提供设备的函数调用接 口。 ei e o i d. 主要完成为设备创建节点, n eC o 维护计算机 上的 U B系统等操作 。 S
2 2 U B驱 动程序 ( S D) . S UB L n x下 US D 主要 由文 件 US . iu B B C和 US . Bh
s a i t u t US d ie k ld ie t tc s r c B rv rs e rv r一 {
_ —
n m e a : p o e rb :
” k lt n” s e eo , s e p o e k l rb ,

ds o n c : ic n e t
s e d so n c , k l ic n e t
L n x系统 下 U B设 备 驱 动 的 实现 iu S
曾水 平 徐 峰

Linux下的硬件驱动——USB设备

Linux下的硬件驱动——USB设备

Linux下的硬件驱动——USB设备什么是USB设备?USB即Universal Serial Bus,翻译过来就是通用串行总线。

它是一种规范化的、快速的、热插拔的串行输入/输出接口。

USB接口常被用于连接鼠标、键盘、打印机、扫描仪、音频设备、存储设备等外围设备。

Linux下的USB驱动在Linux系统中,每个USB设备都需要一个相应的驱动程序来驱动。

从Linux 2.4开始,内核提供了完整的USB设备支持。

对于每个USB设备,内核都会自动加载对应的驱动程序。

Linux下的USB设备驱动程序主要分为以下几个部分:USB核心驱动程序USB核心驱动程序是操作系统内核中处理USB设备的核心模块,负责与各种类型的USB设备进行通信,包括主机控制器、USB总线、USB设备等。

它与驱动程序和应用程序之间起到了桥梁的作用,为驱动程序提供了USB设备的基础支持。

USB设备驱动程序USB设备驱动程序是与特定USB设备相对应的驱动程序,为USB设备提供具体的读写功能和其他控制功能。

USB核心驱动程序和USB设备驱动程序之间的接口USB核心驱动程序和USB设备驱动程序之间的接口是指USB层和应用程序层之间的接口,负责传递各种USB操作的命令和数据。

如何编译一个USB设备驱动编译一个USB设备驱动程序需要按照以下步骤进行:步骤一:安装必要的软件包首先需要安装编译和调试USB设备驱动所需的软件包,包括编译工具链、内核源代码、内核头文件等。

sudo apt-get install build-essential linux-source linux-headers-`una me -r`步骤二:编写代码现在可以编写USB设备驱动程序的代码,此处不做详细介绍。

步骤三:编译代码在终端窗口中进入USB设备驱动程序所在的目录下,输入以下命令进行编译:make此命令将会编译USB设备驱动程序,并生成一个将驱动程序与内核进行连接的模块文件。

基于Linux的USB设备驱动程序实现

基于Linux的USB设备驱动程序实现

!+ 123 设备驱动程序设计
123 设备开发包括硬件电路设计和 软件设计两部分 内容, 其中软件设计部分又包括 123 芯片驱动 程序设计 和应 用程 序设 计; 123 设 备在 硬件 上 通过 123 芯 片实 现。 123 芯片负责管理和实现 123 物理层 差分信 号, 通 过配置和管理寄存器来初始化设 备, 提供连接的端点, 管 理电源和通过寄存器管理端点。 123 芯片提供多个 标准的端 点, 每个端 点都 支持单 一的总线传输方式。 端点 " 支 持控制 传输, 其它 端点支 持同步传输、 批量传输 或者中断 传输中 的一种。 管理和 使用这些端点, 实际上是通过操作相应的控制寄存器、 状 态寄存器、 中断寄存器和数据寄存器来实现的。其中, 控 制寄存器用 于设 置端 点的 工作 模式 和启 用端 点的 功能 等; 状态寄存器用于查询端点的当前状态; 中 断寄存器用 于设置 端点的中 断触发和响 应功能; 数据寄 存器则是设 备与主机交换 用的缓冲区。
收稿日期: !""#$"%$&# 作者简介: 刘 永祥 (&’() * + ) , 男, 湖北钟祥人, 昆明理工大学信自学院 硕士研究生。
!4
Байду номын сангаас
第 \ 卷$
! " # $ 电路设计原理
无 锡 职 业 技 术 学 院 学 报 引脚连接 +,-//20> 外部中断引脚 %>?3@0 , 对应的中断 向量为 0 。初始化 1+2 中 断的步 骤如 下: 初 始化 中断控 制器的 ?3@-93 及 中 断 方式 寄 存器 ?3@79:, 使 %?3@0 中断使能; 安装 1+2 中断程 序入 口到 中断 向量 中; 初始 化 ? A 9 端口 Q 组控制器 <-93Q, <1<Q 指 明 %>?@0 是作 为中断输入引脚 使用; 设置外 部中断 寄存器 %>@?3@, 指 明触发中断方式。 初始化 1+2 需要 使用 1+2 读 A 写 函 数对 1+2 控制 器内部的控制寄存器进行设置, 步骤如下: 设置主控制寄 存器 7-3@RS 的软 件复 位位 ( +R+@) , 以复 位 1+2 控制 器; 设置主控制器 7-3@RS 的 ; 电 压调 整位 ( .Q% ) 及中 断输出 ( ?3@9- ) 位, 以 禁 止 中 断 输 出; 写时钟寄存器 --93T , 设置 1+2 控制 器的 工作 频率; 初 始化 功能 地址 寄存器 ( T;R) , 及 %<-0 寄存器。端点号 0 为双向 端点, 用作控制使用; 设置中断屏蔽寄存器, 包括 主屏蔽寄存器 7;7+=、 无应答事件 寄存器 3;=7+=、 发送时 间寄 存器 @>7+=、 接收事 件寄 存器 R>7+= 和 ;O*(FIM*( 事 件寄存 器 ;S@7+=; 允许 1+2 控制 器中 信 号输 出, 使 控制 器附 加到 1+2 总线上。 1+2 中断服务例程: 中断服务例程 处理 1+2 控制器 产生的中断, 它将数据从 1+2 内部 T?T9 读出, 并建立正 确的事件标志, 以通知主循环程序进行处理, 其基本步骤 如下: 从 主事件 寄存 器 7;%. 中 读出 产生中 断的 事件; 根据 主事件寄存 器某位的状 态判别事 件, 接 着读取相应 的事件寄存器, 接收事件寄存器 R>%., 或发 送事件寄存 器 @>%., 或无 应答 事件 寄存 器 3;=%., 或 ;O*(FIM*( 事 件寄存器 ;S@%.; 进一 步判 别事 件寄 存器 某位 的状 态, 根据具体事件分别作出相应的 操作。 中断初始化, 安装 1+2 中断服务函数: NBCD ?)FG?IC* ( NBCD) { $ F?3@-93 U P 0V# ; $ A A 中断控制寄存器设置 $ F?3@79:W P X 0V# ; A A ?RY 模式 $ ( " ( NBOM*CO( $ ( " ( NBOM*CO( HI)CJI(D HI)CJI(D KLMF KLMF ") ") 引脚 $ F<1<Q P F<1<QW0V[(; $ A A Q<Q9 上拉电阻有 效 $ F%>@?3@ P 0V00 ; $ A A 低电平触发 $ F?3@7+= P F?3@7+= U 2?@G%?3@0 ;A A 关外部中断 } 通道 0 用 于控 制传 输, 在驱 动程 序中 调 用 FV(N(I*0 () 和 *V(N(I*0 () 处理端点 0 的事件, 通道 # 中 由 *V(N(I*# () 处理端点 # ( 单向 发送) 的 事件, 由 FV(N(I*# () 处理端 点! ( 单向接收) 的事件, 通道 ! 中由 *V(N(I*! () 处理端点 $ F(*HFI ( "( NBOM*CO( HI)CJI(D KLMF " ) ( 单向发送) , 的事 件, 由 FV(N(I*! () 处理 端点 / ( 单 向接 收) 的事件。通道 , 中由 *V(N(I*, () 处理 端点 \ 的 事件, 由 FV(N(I*, () 处理端点 5 的事件。 $ Z?+RG%?3@0 P ( CI* ) GG%CI*0?)F; $ F<-93Q P F<-93Q U 0V000, ; $ A A Q<Q0 设 为 中断

嵌入式Linux系统下的USB驱动程序开发

嵌入式Linux系统下的USB驱动程序开发
支持 也 非常 完善 。 本文从 U S B驱 动 开发 的 实例 出发 , 介绍 了U S B设备 驱动 的基 本 架构 , 以及驱 动开发 过
程 中 的关键技 术 。
关键 词 : 嵌入 式 ; L i n u x ; U S B ; 驱动 开发 中图分 类号 : T P 3 1 6 文献标 识码 : A
De v e l o p me n t o f US B Dr i v e r Ba s e d o n Em b e d d e d Li n u x S y s t e m
L I C h u n - b o , C HE N We i - f e n g , L A I X u e - j i n
( C h e n g d u U n i v e r s i t y o f T e c h n o l o g y , C h e n g d u 6 1 0 0 5 9 , C h i n a )
Abs t r a c t : The a p pl i c a t i o n s o f Emb e d de d L i n ux s y s t e m a r e mo r e a n d mo r e wi de l y , i t s f u n c t i o ns a r e a l s o mo r e a n d mo r e
H O S T) 、 U S B设 备 ( U S B D E V I C E) 、 U S B 集 线 器
哑 I … ● I _ l C 【 l h 】 i n 国 a I n 集 t e g r 成 a t e d 电 C i r 路 c u i t
————— 珏 斗 。 ]I
嵌入式 L i n u x系统下的 US B驱动程序开发

嵌入式linux下基于libusb的USB驱动开发

嵌入式linux下基于libusb的USB驱动开发

种通 信 协 议 , 支 持 主 系 统 (ot和 U B 的 外 围 设 备 ( e 他 hs ) S d.
v e之 间 的数 据 传 输 . 前 流 行 的 U BH s规 范 有 : H IU i) c 当 S ot O C 、H— c 和 E C。嵌 入式 系统 主要 是 使 用 O C 规 范 。 I HI HI U B驱 动程 序 分 为 U B主 机 端 驱 动 程序 和 U B设 备 端 驱 S S S 动 程 序 , 文 重 点 分 析 U B主 机 端 驱 动 程 序 的 开 发 过程 。U B 本 S S
U B U i r l ea B s是 用 于 将 适 用 U B的 外 围设 备 连 S ( n e aSr l u) v 线 结 构 。 目 前 U B接 口 规 范 主 要 有 : S
U B .( 速 15 b s全 速 1M / ) U B .( 速 40 b S 11低 .M / , 2 b s 和 S2 0 高 8M / s , 够 满 足 大 部 分 外 围 设 备 的 传 输 速 度 要 求 。 U B 同时 又 是 )能 S
Lnx 台下 使 用 lub 基 于 ub文件 系统 的驱 动 开 发 , i 平 u i s库 b s 并将 其 应 用 到 嵌 入 式 系统 中 , 显 著 降低 开 发 难 度 , 高 工 可 提
作效 率 。
关 键 词 : 用 串行 总 线 通
l ub库 is b
嵌 入 式 lu U B文件 系统 ix S n
A N D M A R K E T
嵌入式 lu i x下基 于 l ub的 U B驱 动开 发 n is b S
彭定军 陈 安 高 健
华 南理 工大 学 自动化 科 学与 工程 学院 广 州 504 16 0
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

第7卷 第12期 2007年6月167121819(2007)1222994203科 学 技 术 与 工 程ScieTechnol ogy and EngineeringVol17 No112 June20072007 Sci1Tech1Engng.基于L i n ux的USB主机设备驱动程序的开发赵 明1,2 马健康1(中国科学院西安光学精密机械研究所1,西安 710119;中国科学院研究生院2,北京 100039)摘 要 开发L inux下的设备驱动程序是一项比较繁琐的工作。

从具体的US B设备驱动的开发流程出发,描述了L inux系统下US B设备驱动程序的几个主要开发细节和注意点。

以能够提供给大家一个开发L inux下US B设备驱动程序的向导。

关键词 US B驱动程序 L inux中图法分类号 TP311.1;文献标识码 A设备驱动程序是介于硬件和L inux内核之间的软件接口,是一种低级的,专用于某一硬件的软件组件。

L inux有两种方式使用设备驱动程序:直接编译到内核中;在运行时加载(即内核模块)。

在L inux 中一般把设备分为3类:字符设备,块设备和网络接口。

字符设备是指存取时没有缓存的设备。

可象文件一样访问字符设备,字符设备驱动程序负责实现这些行为。

块设备是文件系统的宿主,块设备驱动程序和内核的接口与字符设备驱动程序的接口是一样的,也通过一个传统的面向块的接口与内核通信,但这个接口对用户来说是不可见的。

网络接口设备是由内核网络子系统驱动的,它负责发送和接收数据包,而且无须了解每次事务是如何映射到实际被发送的数据包的。

现介绍的usb主机设备驱动程序是运行时加载的块设备驱动程序。

1 USB接口介绍及其主机工作过程111 USB接口介绍11111 US B概况US B是通用串行总线(Universal Serial Bus)的缩写,它是一种快速,灵活的总线接口。

与其他通信接口比较,US B接口的最大特点是易于使用,这也是 2006年2月1日收到第一作者简介:赵 明,男,现为中科院研究生院信号与信息处理专业在读硕士,研究方向:嵌入式系统开发。

E-mail: zhao1980m ing@ US B的主要设计目标。

US B是典型的主/从结构的总线标准,即只有US B Host才能与US B device连接,两个主机端口或设备端口是不能通信的。

US B 接口定义了低速,全速和高速的数据传输。

其中,前两种传输速率被定义在US B1.1标准中,后一种则是US B2.0新引入的传输速率。

US B主机在US B总线中是一个起协调作用的实体,它控制所有对US B 总线的访问。

一个US B设备想要访问总线,必须由主机给予它使用权。

11112 US B OHC I标准在软件层面上看,US B主机控制器是一个比较复杂的接口,它需要按照US B标准管理所有与之相连的外设。

1995年底,Compaq,M icr os oft等公司推出了US B OHC I(开放式主控制器接口)标准。

这是一个完全开放的标准,它定义了一系列寄存器和相关的数据结构,以统一US B主控制器和驱动程序接口。

也就是说,操作系统只需有US B OHC I标准的驱动程序,按照OHC I标准的US B主机控制器就可以在系统上得以应用。

这就相当简化了US B软硬件设计过程。

处理器和US B OHC I主机控制器之间有2种通信方式:●通过OHC I映射在处理器内存空间的一组固定偏移量的寄存器(OHC I寄存器)通信;●在OHC I寄存器中,设置了指向处理器存储器空间的指针(地址),处理器允许OHC I控制器用DMA的方式直接与这块存储器空间交换数据,即利用这种共享内存的通信方式实现US B的数据通信。

 12期陈 萍,等:通过缩放字符比例在Word文档中隐藏信息的算法研究按照OHC I标准,共享内存中定义了2个基本的数据通信结构:端点描述符和传输描述符。

主控设备要为每个US B端点分配端点描述符。

它包括了此端点的相关信息:最大包的长度,端点地址,端点速度以及数据流的方向等。

端点描述符在内存中用链表结构存储。

传输描述符连接在端点描述符上,它记录了要通过此端点传输包的信息,包括传输数据在内存中的地址和传输状态。

112 USB主机工作过程US B主机负责管理所有的US B从设备的数据传输以及US B设备四种状态(运行,挂起,唤醒,复位)的切换。

当US B设备连接到US B集线器的下行端口时,该集线器将报告端口的当前状态发生改变,并指示有设备连接,同时集线器还要报告当前连接的设备是全速还是低速;当设备从US B总线移走时,集线器也会报告主机当前状态发生改变,并指示设备已断开连接。

当US B主机检测到有新设备连接到总线时,会做如下操作:①主机会向设备发送一个总线复位信号,使设备处于默认状态;②主机发送一个get_descri p t or请求,来获取默认管道的最大传输子节数;③主机为设备分配一个地址;④主机了解设备的能力;⑤主机通过分析获取到的描述符,确定当前主机驱动是否有能力支持该设备。

2 L i n ux的USB O HC I驱动程序接口分析因为有OHC I定义的寄存器标准,L inux下也提供相应的驱动程序,所以只要符合OHC I标准的US B主机接口,很容易在L inux下被驱动起来。

下面给出针对Lpc2210的US B HOST驱动程序。

I nt__devinitHc_add_ohci(struct pci_dev3dev,int irq,void3me mbase, unsigned l ong flags,ohci_t33ohci,const char3na me,const char3sl ot_na me);Extern void hc_re move_ohci(ohci_t3ohci);Static ohci_t3l pc2210_ohci;Static void__init l pc2210_ohci_configure(void){//关闭US B总线时钟CLKCON&=~CLKCON_US BH; I F CONF I G_MAX_ROOT_P ORTS<2//1个主控设备端口,1个从设备端口M I SCCR&=~M I SCCR_US BP AD; ELSE//2个主控设备端口M I SCCR|=M I SCCR_US BP AD; endif//配置US B总线的锁频环UP LLCON=Finsert(0x78,Fp ll_MD I V)|Finsert(0x02,Fp ll_ P D I V)|Finsert(0x03,Fp ll_S D I V)//开启US B总线时钟CLK|=CLKCON_US BH;Delay(10);}Static int_init l pc2210_ohci_init(void){I nt ret;Lpc2210_ohci_configure();//添加OHC I设备Ret=hc_add_ohci((struct pci_dev31,I RQ_US BH,(void3)(i o_p2v(US BHOST_CT L_BASE)),0,&l pc2210_ohci,“usb-ohci”,“l pc2210”);Return ret;}Static void__exit l pc2210_ohci_exit(void){Hc_re move_ohci(l pc2210_ohci);//关闭US B总线时钟CLKCON&=~CLKCON_US BH;}Module_init(l pc2210_ohci_init);Module_exit(l pc2210_ohci_exit);函数l pc2210_ohci_configure负责l pc2210处理器上US B接口的初始化,主要负责配置US B接口的锁频环和接口状态。

驱动程序的核心是hc_add_ ohci函数。

它负责向系统注册一个OHC I标准的US B设备,这是linux系统US B OHC I驱动程序的底层接口。

3 USB HO ST驱动的验证常用的US B设备主要有U盘,US B摄像头等,它们在L inux内核中都有相应的驱动程序。

可通过配置L inux内核时在US B support菜单中添加对各5992科 学 技 术 与 工 程 7卷种US B设备的支持。

系统启动后通过命令: Mount∃t usbdevfs none/p r oc/bus/usb加载US B设备文件系统。

当U盘等设备插入后,可通过命令:Mount∃t vfat/dev/scsi/host0/bus0/target0/ lun0/part1/mnt/udisk把U盘挂载到/mnt/udisk目录下。

观察U盘是否挂接成功,即可判断驱动是否正常工作。

4 结束语本驱动已在某航天项目中的AR M跟踪系统板中成功应用,系统工作可靠,效果令人满意。

应用此种开发模式还可针对组件快捷准确的开发出支持其驱动的程序。

参 考 文 献1 周立功,等. ar m嵌入式系统软件开发实例(二).北京:北航出版社,20062 周立功,等. ar m嵌入式系统实验教程(二).3 毛德操,胡希明. 嵌入式系统.杭州浙大出版社20034 刘 淼. 嵌入式系统接口设计与L inux驱动程序开发.北京:北航出版社,2006Programm i n g Gu i de for L i n ux USB D ev i ce D r i versZ HAO M ing1,2,MA J ian-kang1(Xiπan I nstitute of Op tics and Precisi on Mechanics1of CAS,Xi’an710119;Graduate School2of CAS,Beijing100039,P.R.China)[Abstract] Pr ogra mm ing f or L inux US B device drivers is a comp lex j ob1fr om the material fl ow of p r ogra mm ing US B device drivers,the main details of devel op ing p r ocess and i m portant attenti on are given1Hope that this can supp ly a p r ogra mm ing guide f or L inux US B device drivers.[Key words] US B(the universal serial bus) device drivers L inux(上接第2990页)3 Cachin C,poritz J A.Secure I ntrusi on2t olerant rep licati on on the internet,Pr oceddings of the I nternati onal Conference on Dependable System s and Net w orks,20024 Tanenbau m A S,van Steen M.Distributed Syste ms Princi ples andParadig ms.杨剑锋,常晓波,李 敏,译.北京:清华大学出版社,2004 5 Felber P,Schi per A.Op ti m istic active rep licati on.D istributed Computing syste m,2001,21st I nternati onal Conference on Ap ril 2001Research of Repli ca ti on Technology i n I n trusi on-tolerance SystemSH I J i-ying,CAO M ing-zeng3,L I U J ian-hua,L I Hong-yan(School of Electrical and Aut omati on Engineering,Tianjin University,Tianjin300072,P.R.China)[Abstract] An i m p r ove ment on passive rep licati on technol ogy is p r oposed because traditi onal passive rep licati on can not t olerant Byzantine fault.The model can p ri m ary t olerant Byzantine fault.Based on adding hard ware check method,overco me shortcom ings of passive rep licati on,and taking in advantage of l ow cost and easy realizati on of passive rep licati on technol ogy are p resented.The credible of gr oup co mmunicati on al w ays is i m port and difficult.It is communicati on message is t oo large.Base of tradati on gr oup co mmunicat on model,design a credible gr oup communicati on model,the advantage is co mmunicati on message l o wer and guarantee that all rep licas are consistent at last.[Key words] intrusi on-t olerance passive rep licati on gr ou Pcommunicati on Byzantine fault 6992。

相关文档
最新文档