当前位置: 网学 > 网学资源大全 > 计算机 > 正文

嵌入式Linux下USB驱动程序的研究与开发

来源:Http://myeducs.cn 联系QQ:点击这里给我发消息 作者: admin 发布时间: 13/09/05
【网学提醒】:本文主要为网上学习者提供嵌入式Linux下USB驱动程序的研究与开发,希望对需要嵌入式Linux下USB驱动程序的研究与开发网友有所帮助,学习一下吧!

资料包括: 论文(35页15119字) 任务书 开题报告 答辩稿 
说明:

摘 要:嵌入式是一个快速发展的领域,目前50%左右的项目选择源代码开放的Linux作为嵌入式操作系统。但嵌入式Linux操作系统仍然没有做到在硬件配置上的即插即用。 通用串行总线(USB)是一种高传输速率的串行接口总线, 综合了一个多平台标准,其低成本,兼容性强,可连接大量的外部设备,融合先进的功能等优点,使其在嵌入式系统领域得到了广泛的应用。因此,研究和开发嵌入式Linux系统下的USB设备驱动程序就具有很好的应用价值。
本文首先介绍了嵌入式开发的基础知识,包括Linux环境下的makefile程序编译,目标机与宿主机的交叉编译环境的建立以及交叉编译的步骤, USB的系统组成、传输方式以及嵌入式Linux下设备驱动程序的开发模式,最后针对JXARM-2410平台,具体实现了一个USB设备驱动程序, 通过模块加载,表明该USB设备驱动程序能够实现对U盘的挂接,读取U盘中的数据。

关键词:Linux; 源代码开放; 嵌入式; 即插即用; USB驱动

Research and development of USB drivers under Embedded Linux

Abstract :Embedded System is a rapidly developing area; currently about 50 percent of Embedded System projects choose the open-source Linux as the embedded operating system. However, Embedded Linux operating system hasn’t solved the problem on the hardware configuration of plug-and-play yet. Universal Serial Bus (USB) is a high-speed serial interface bus, a comprehension of multi-platform standards. Its low cost, compatibility,the ability of connecting a large number of external equipments simultaneously and the integration of advanced functions,made Linux widely used in Embedded System areas. Therefore, it is of good value to research and develop the USB device driver under Embedded Linux.
This paper introduces the knowledge of how to develop USB device drive under embedded Linux environment, including the compiler procedures using makefile tools, as well as the steps of establishing a cross-compiler environment. It also introduces USB transmission and the development model of embedded Linux device driver. Finally, a concrete realization of the USB device driver was made, which was loaded onto JXARM-2410 platform through module loading, showing that the USB device driver can achieve certain tasks such as articulated U, read U disk data.

Keyword: Linux;plug-and-play;Open-Source;Embedded;USB Driver

1 引言
1.1 嵌入式系统的发展
嵌入式系统最初的应用是基于单片机的。20世纪70年代单片机的出现,使得汽车、家电、工业机器人、通信装置以及成千上万种产品可以通过内嵌电子装置来获得更佳的使用性能、更易使用、速度更快、价格更低。这些装置已经初步具备了嵌入式的应用特点,但是这时的应用只是8位的芯片执行一些单线程的程序,还谈不上“系统”的概念。
20世纪80年代早期开始,嵌入式系统的程序员开始用商业级的“操作系统”编写嵌入式应用软件,这使得开发人员可以进一步缩短开发周期,降低开发成本并提高开发效率。1981年,Ready System开发出世界上第一个商业嵌入式实时内核 (VTRX32)。这个实时内核包含了许多传统操作系统的特征,包括任务管理、任务间通信、同步与互斥、中断支持、内存管理等功能。此后一些公司也纷纷推出了自己的嵌入式操作系统。这些嵌入式实时多任务操作系统的出现,使得应用开发人员从小范围的开发中解放出来,同时也促使嵌入式有了更为广阔的应用空间。20世纪90年代以后,随着对实时性要求的提高,软件规模的不断上升,实时内核的实时多任务操作系统 (RTOS),作为一种软件平台逐步成为目前国际嵌入式系统的主流。这时有更多的公司开始大力发展自己的嵌入式操作系统。如
Plam OS, Windows CE、嵌入式Linux, Lynx, Nucleus以及国内的Hopen, Delta OS等嵌入式操作系统。各个嵌入式操作系统的应用领域各异,如应用于航空、通讯领域的VXWORKS,应用于掌上电脑的Windows CE,应用于移动通讯设备的Nucleus等等。

目录:
1引言1
1.1 嵌入式系统的发展1
1.2 国内外研究状况1
1.3 课题背景及目的2
2基础知识3
2.1 ARM简介3
2.2 LINUX下程序的编译:Makefile3
2.2.1 Makefile的书写规则4
2.2.2 Makefile的自动推导4
2.2.3清空目标文件的规则5
2.3 交叉编译环境5
2.3.1开发环境的建立5
2.3.2 交叉编译步骤6
3USB系统组成8
3.1 USB的物理层8
3.2 USB设备8
3.3 HUB10
3.4即插即用10
3.5设备的挂起11
3.6 USB数据流模型11
3.7 USB 传输类型12
3.7.1 控制传送12
3.7.2 批量传输13
3.7.3 同步传输14
3.7.4 中断传输14
4嵌入式LINUX下的设备驱动15
4.1 设备类型分类15
4.2 USB系统软件17
4.3 USB驱动程序开发18
4.4 调度对象 URB19
4.5 类URB 队列20
5在JXARM-2410下配置USB设备23
5.1 配置LINUX内核以支持USB接口及U盘23
5.2 编译LINUX内核23
5.3 运行内核并加载模块24
5.4 在JXARM9-2410下使用U盘24
总 结26
致 谢27
参 考 文 献28
参考文献:
孙天泽. 嵌入式设计及Linux驱动开发指南——基于ARM9处理器[M]. 北京:机械工业出版社,2005:35-123.
李玉波,朱自强,郭军. Linux C编程[M]. 北京:清华大学出版社,2005:18-99,154-155.
ALESSANDRO R. Linux设备驱动程序[M]. 北京:中国电力出版社, 2000:9-73.
赵 明. Linux下的硬件驱动———USB 设备[EB/OL].
http://www-128.IBM.Com/developerworks/cn/Linux/l-usb/index1.html,2005-08-16/2007-05-09.
周巍松. Linux系统分析与高级编程技术[M]. 北京:清华大学出版社,2003:197-199.
C. Chat.Windows WDM设备驱动程序开发指南[M]. 北京:机械工业出版社, 2000:115-179.
A. Rubini.Linux Device Drivers,2nd Edition[M].美:O’Reilly,2001:77-93.
R. Micheal. Programing Guide for Linux USB Device Driversl[EB/OL].
http://usb.CS.turn.edu,2002-07-05/2007-05-01.
R. Ounstan.USB Mobile System Design Guidelines[EB/OL].
http://developer.inte1.ru/design/usb/designex/usbgllO.pdf,2002-09-13/2007-4-28.
邵高平. 通用串行总线(USB)及其开发方法[J].微计算机信息,1999,16(8B) :1823-1857.
张宏伟. Linux下 USB设备驱动程序的编写[J].计算机应用研究,2001,21:1625-1881.
刘少锋, 韦克平.USB软件 系统的开发[J].计算机应用研究,2002,11(8A) :701-771.
李善平, 刘文峰,王焕龙等编著. Linux与嵌入式系统[M]. 北京:清华大学出版社,2003:97-120.
Labrosse Jean J,邵贝贝译. 嵌入式实时操作系统μC/OS-II, 第2版. 北京:中国电力出版社,2003:3-4.
[15] 贾明,严世贤.Linux下的C编程.北京:人民教育出版社,2001:71-77.
[16] MiniGUI 编程指南[EB/OL]
http://www.minigui.com/download/cindex.S. html,2002/11/10.
[17] Miller Freeman UKLtd. Embedded Linux for Motorlola –Brief Article.
http://findarticle.com/p/articles/mi-m0wui/is-2000-Oct-2ai-65810484,1999/10/21.
[18] Jim Huang . RT-nanokernel for Embedded Linux [EB/OL].
http://blog.linux.org.tw/jserv/archives/001897.html.2003/07/15.
[19] Loc Truong, Brijesh Singh Building a Small embedded Linux Kernel Example [EB/OL]. http://www.techonline.com/learning/techpaper/197004510,2001/10/21.

作者点评:
通过本次毕业设计,我系统地学习了基于嵌入式Linux的软件开发的过程,并强化了我一直以来的薄弱环节:C/C++编程能力,实践了嵌入式驱动开发的流程,并在其中体会到了程序开发的乐趣。我在设计初期,很多概念对我来说都是全新的,因此我花了相当多的时间阅读资料,也在其中学到了许多新的东西,加深了对嵌入式Linux体系架构的了解。
在程序的开发过程中,我认为主要主要有如下的不足:
1.C/C++编程能力比较薄弱,导致设计进度缓慢。
2. 对嵌入式硬件不太了解,对交叉编译不太了解。
3. 对Linux开发环境(Red Hat Linux 9)尚不能做到向Windows一样的熟知和了解。
4. 参考的文献资料不足。
在下一步的学习中,我会再接再厉,继续加强目前还不尽人意的地方,强化在Linux下的C\C++编程能力,加深对嵌入式硬件的了解。
  • 上一篇资讯: 图书库存管理系统
  • 下一篇资讯: 博客网站的设计与开发
  • 相关资讯

    网学推荐

    免费论文

    原创论文

    文章排行榜

    设为首页 | 加入收藏 | 论文首页 | 论文专题 | 设计下载 | 网学软件 | 论文模板 | 论文资源 | 程序设计 | 关于网学 | 站内搜索 | 网学留言 | 友情链接 | 资料中心
    版权所有 QQ:3710167 邮箱:3710167@qq.com 网学网 [Myeducs.cn] 您电脑的分辨率是 像素
    Copyright 2008-2015 myeducs.Cn www.myeducs.Cn All Rights Reserved 湘ICP备09003080号