arm+linux+usb驱动开发,Linux+ARM下的USB驱动开发

驱动开发

嵌入式软件应用

文章编号:l帅8—0570(2∞8)08吨—∞86一m2

中文核心期刊‘微计算机信息)(嵌入式与soc)2008年第24卷第8-2期

Linux+ARM下的USB驱动开发

UsBDnverDeve|0pmentUnderLinuxandARM

(重庆邮电大学)周永光唐伦刘光明

ZHOU

Yong_guangTANG

Lun

UU

Guang—m^ng

摘要:本文介绍了嵌入式“n眦下设备驱动程序的编写原理,并阐述了在Lin呱下z228usB的驱动程序的具体实现。在开发成功的案例下。讨论了USB驱动的编写技术。中图分类号:TP311.1

关键词:嵌入式Li眦;驱动程序;uSB;ARM;嘞大容量存储设备类

文献标识码:A

A№ct:This

Key

in协讨uc∞tlIeprincipleofthede“cedrvierpmgmmminginembedded“n吐,coinstaIltaIleousexpoundtlleini-

plement0fZ228USBdiverinLinux,andintroduceh洲to州teaLin呱USB蕊哪baBed伽a鲫ccessfuldevel叩mentcase.

paper

。’

wor山:咖bedd酣Lin呱;d—ve倦;USB;ARM;USB

MASS

1引言

当工程技术人员还沉湎于RS一232及打印机并口设计时,一种新型的接口标准已经迅速发展成熟,这便是uSB。1994年,一个由4个行业伙伴(Compaq

Inter

的是,“n眦内核提供了一个称为USB核心(usBco婶)的子系统来详细处理大部分的复杂性。uSB设备的构成,包括配置、接口和端点。以及uSB驱动程序如何绑定到USB接口上.而不是整个UsB设备。

挂在“nux系统上的每个设备都被描述为设备驱动程序文件。一些与设备有关的设备参数文件被保存在/dev目录下。用户自己提供或编写设备驱动时.也需要在,dev目录下有一个设备文件。设备驱动程序可以分为三个主要组成部分:(1)自动配置和初始化子程序(2)服务于I,0请求的子程序(3)中断服务子程序。设备驱动程序是操作系统内核和机器硬件之间的接口,为应用应用程序屏蔽了硬件细节。应用程序可把硬件设备当普通文件看待,并对其进行操作。设备驱动程序是内核的一部分,它主要完成以下功能:对设备进行初始化;使设备投入运行和退出服务;把数据从内核传送给设备和从设备接受数据;检测和处理设备出现的错误。

Micr080fI和NEC)组成的联

盟开始制定usB协议。2004年4月,发表了uSB2.0版本,理论支持高达480Mbps的传输速率。

usB由于具有即插即用、数据传输速度快、易扩展等优点.因此被广泛的应用在PC机和嵌入式系统当中。usB设备端常见的开发模式有PhilipPDIul2芯片+8051单片机、然后使用EasyusB开发套件等等,但这些开发模式都是基于8位的微处

理器控制单元(MCu),而以J蛀m为开发基础的32位SoC近年

来发展迅速。

随着简单实用的uSB接口技术的不断发展成熟,在嵌入式系统中开发usB接口已成为大势所趋。本文着重研究讨论利用

上海Jade自主研发的芯片z228(ARM926EJ)自带的uSB一07陀

接口,采用Linux操作系统技术.用ARM+unll)【来开发并且实现UsB大容量存储设备类。

3Z228

USB—OTG硬件描述

z228是一款高度集成的低功耗的具有强大多媒体处理能

力的SOC芯片。它的特点是内置266MHz的ARM926EJ内核。片内集成usB?07rG控制模块,同时支持便携式usB主设备或USB外设相连.可用于与PDA、读卡器和打印机等设备直接相连,而无需Pc机介入。

采用多层的AHB总线系统,为01.G模块提供独立的总线。伽[1G子系统的主要硬件框图如图l所示,子系统中最主要的模块包括以下三部分:0TGMAc、0TG1LI、BIu。07rGMAc(Me.

diaAccesscontr01)是将传送或接收数据转换成usB数据格式

LiImx驱动程序的基本原理

【曲ux下开发设备驱动程序的原理较之windo啪系统来说结构层次简单明了。un瞰操作系统中定义了三种设备,即字符设备、块设备和网络设备。字符设备是指存取时没有缓存的设备。块设备的读写都有缓存来支持,并且块设备必须能够随机存取,字符设备则没有这个要求,usB设备主要通过快速串行通信来读写数据,一般把它作为字符设备处理。usB驱动程序存在于不同的内核子系统(块设备、网络设备、字符设备等)和USB硬件控制器之中。uSB核心为uSB驱动程序提供了一个用于访问和控制uSB硬件的接口.而不必考虑系统当前存在的各种不同类型的USB硬件控制器。USB设备是一个复杂的东西,幸运

的硬件模块。07rcTu(TmnsactionIJayerInte血ce)是MAc和应用程序之间的一个数据缓冲层,所有的MAc和应用层的交流都是通过Tu实现的。值得一提的是实现设备主从转换的芯片是Philip的IsPl301,在此不过多介绍它。z228内部通过AHB

从设备总线配置usB控制器,可工作在全速(12M矶)和低速

周永光:硕士

(1.5Mb,s)两种模式下。

一86—360元,年邮局订阅号:82-9伯

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值