Linux+ARM下的USB驱动开发

Linux+ARM下的USB驱动开发

ID:46885528

大小:325.51 KB

页数:4页

时间:2019-11-28

Linux+ARM下的USB驱动开发_第1页
Linux+ARM下的USB驱动开发_第2页
Linux+ARM下的USB驱动开发_第3页
Linux+ARM下的USB驱动开发_第4页
资源描述:

《Linux+ARM下的USB驱动开发》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库

1、万方数据嵌入式软件应用中文核心期刊‘微计算机信息)(嵌入式与soc)2008年第24卷第8-2期文章编号:l帅8—0570(2∞8)08吨—∞86一m2Linux+ARM下的USB驱动开发UsBDnverDeve

2、0pmentUnderLinuxandARM(重庆邮电大学)周永光唐伦刘光明ZHOUYong_guangTANGLunUUGuang—m^ng摘要:本文介绍了嵌入式“n眦下设备驱动程序的编写原理,并阐述了在Lin呱下z228usB的驱动程序的具体实现。在开发成功的案例下。讨论了USB驱动的编写技术。关键词:嵌入式Li眦;驱动程序;uSB;ARM;嘞大容

3、量存储设备类。中图分类号:TP311.1文献标识码:AA№ct:Thispaperin协讨uc∞tlIeprincipleofthede“cedrvierpmgmmminginembedded“n吐,coinstaIltaIleousexpoundtlleini-plement0fZ228USBdiverinLinux,andintroduceh洲to州teaLin呱USB蕊哪baBed伽a鲫ccessfuldevel叩mentcase.。’Keywor山:咖bedd酣Lin呱;d—ve倦;USB;ARM;USBMASS1引言当工程技术人员还沉湎于RS一232及

4、打印机并口设计时,一种新型的接口标准已经迅速发展成熟,这便是uSB。1994年,一个由4个行业伙伴(CompaqInterMicr080fI和NEC)组成的联盟开始制定usB协议。2004年4月,发表了uSB2.0版本,理论支持高达480Mbps的传输速率。usB由于具有即插即用、数据传输速度快、易扩展等优点.因此被广泛的应用在PC机和嵌入式系统当中。usB设备端常见的开发模式有PhilipPDIul2芯片+8051单片机、然后使用EasyusB开发套件等等,但这些开发模式都是基于8位的微处理器控制单元(MCu),而以J蛀m为开发基础的32位SoC近年来发展迅速

5、。随着简单实用的uSB接口技术的不断发展成熟,在嵌入式系统中开发usB接口已成为大势所趋。本文着重研究讨论利用上海Jade自主研发的芯片z228(ARM926EJ)自带的uSB一07陀接口,采用Linux操作系统技术.用ARM+unll)【来开发并且实现UsB大容量存储设备类。2LiImx驱动程序的基本原理【曲ux下开发设备驱动程序的原理较之windo啪系统来说结构层次简单明了。un瞰操作系统中定义了三种设备,即字符设备、块设备和网络设备。字符设备是指存取时没有缓存的设备。块设备的读写都有缓存来支持,并且块设备必须能够随机存取,字符设备则没有这个要求,usB设备

6、主要通过快速串行通信来读写数据,一般把它作为字符设备处理。usB驱动程序存在于不同的内核子系统(块设备、网络设备、字符设备等)和USB硬件控制器之中。uSB核心为uSB驱动程序提供了一个用于访问和控制uSB硬件的接口.而不必考虑系统当前存在的各种不同类型的USB硬件控制器。USB设备是一个复杂的东西,幸运周永光:硕士的是,“n眦内核提供了一个称为USB核心(usBco婶)的子系统来详细处理大部分的复杂性。uSB设备的构成,包括配置、接口和端点。以及uSB驱动程序如何绑定到USB接口上.而不是整个UsB设备。挂在“nux系统上的每个设备都被描述为设备驱动程序文件。

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

8、一款高度集成的低功耗的具有强大多媒体处理能力的SOC芯片。它的特点是内置266MHz的ARM926EJ内核。片内集成usB?07rG控制模块,同时支持便携式usB主设备或USB外设相连.可用于与PDA、读卡器和打印机等设备直接相连,而无需Pc机介入。采用多层的AHB总线系统,为01.G模块提供独立的总线。伽[1G子系统的主要硬件框图如图l所示,子系统中最主要的模块包括以下三部分:0TGMAc、0TG1LI、BIu。07rGMAc(Me.diaAccesscontr01)是将传送或接收数据转换成usB数据格式的硬件模块。07rcTu(TmnsactionIJaye

9、rInte血ce)是MA

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。