LINUX下USB的自动识别和驱动程序及其相关内核代码的分析.doc_第1页
LINUX下USB的自动识别和驱动程序及其相关内核代码的分析.doc_第2页
LINUX下USB的自动识别和驱动程序及其相关内核代码的分析.doc_第3页
全文预览已结束

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

linux下usb的自动识别和驱动程序及其相关内核代码的分析 目  录1  前言12  基于linux下usb设备识别技术22.1必要说明23  mad器件及其pcb43.1器件43.2布线53.3跳线配置53.4开关53.5 leds54  mad固件源代码及其分析64.1  硬件抽象层64.2  d12命令接口94.3中断服务例程94.4 usb标准请求114.5厂商请求114.6主循环125  mad设备驱动程序及所涉之内核代码的分析145.1概念中的驱动程序145.2  linux内核模块(lkm)与驱动模块以及1个范例模块155.31个范例性应用程序165.4 mad的驱动程序185.5第1次跟踪内核及运行结果235.6更多内核设施和机制295.71些讨论306结论31参考文献32致    谢33摘  要  本文介绍了1个事实上的usb设备miniangeldaemon(mad或简称mn)。理想中的mad具有1些标准的输入接口,如温度探头、光探头、湿度探头等,以及标准输出接口,如各类电器的控制等。这正是mad命名的由来。这个版本的mad尚未实现如此丰富的功能。目前她的固件和驱动程序可以完成usb的标准请求,作为usb设备这是必须的。在应用程序的控制下,她还能够控制其上的两个led(如果换用合适的继电器,可以控制直接启动的电器,如台灯)。本文力图通过硬件和编程来实现usb在linux下像windows中1样实现完全”即插即用”。    整个项目包括:硬件设计:芯片的选择、制作pcb( 印刷电路板)以及调试;固件设计:整体构架、规划、调试;驱动程序:构架、调试以及几个测试用的应用程序。关键词: usb ;单片机 ;linux。abstracthere we introduce a defacto usb device named as miniangeldaemon (short for mad or mn). maybe as a mature product, at last mad will have some standard input port such as temperature-sensor/photosenstive -sensor/humidity-sensor; and some standard output port, such as kinds of controller for equipments. this is the reason for the name of “ miniangeldaemon “.    but now, there is a lack of those function. at this moment her firmware and driver can work out usb standard request like all usb devices. and under a application, you can turn on or off the leds on mad (of course, choose suitable relay, mad can control switch-type equipm like desk lamp). this text try to make it realization which is completely “plug and play”(pnp)of carrying out the equipments of usb to be under the linux as windows by hardware and programming.    the whole project includes: hardware design: make sure which chip(s) should be installed and make pcb (printed circuit board) and test; firmware design: make sure the whole architecture and the layout of some data structure and test/debug; driver design: study the main frame of linux usb driver and some kernel knowledge and test it and some demo applications.keywords: usb ;mcu ;linux.1前言linux操作系统是1个源码公开、结构清晰、功能强大,且已成为1个稳定可靠功能完善的系统,其开发群体的有效组织和高效工作,使得linux系统稳定发展并得到良好维护。usb是英文”universal serial bus”的缩写,意为”通用串行总线”,是由compaq(康柏)、dec、ibm、intel、nec、微软以及northern telecom(北方电讯)等公司于1994年11月共同提出的,其主要目的就是为了解决接口标准太多的弊端。usb使用1个4针插头作为标准插头,并通过这个标准接头,采用菊花瓣形式把所有外设连接起来,它采用串行方式传输数据,目前最大数据传输率为12mbps, 支持多数据流和多个设备并行操作,允许外设热插拔。目前,usb接口虽然只发展了2代(usb1.0/1.1,usb2.0),但是usb综合了1个多平台标准的所有优点 - 包括降低成本,增加兼容性,可连接大量的外部设备,融合先进的功能和品质,使其逐步成为pc接口标准,进入了高速发展期。    usb设备越来越多,而linux在硬件配置上仍然没有做到完全即插即用,对于linux怎样配置和使用他们,也越来越成为困扰我们的1大问题,正确支持和配置常见的usb设备,就是其使用必不可少的关键1步,我将着力从

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论