Linux 下的硬件驱动——USB 设备(上)(驱动配置部分) USB 设备越来越多,而Linux 在硬件配置上仍然没有做到完全即插即用,对于Linux 怎样配置和使用他们,也越来越成为困扰我们的一大问题
本文分两部分着力从Linux 系统下设备驱动的架构,去阐述怎样去使用和配置以及怎样编制USB 设备驱动
对于一般用户,可以使我们明晰Linux 设备驱动方式,为更好地配置和使用USB 设备提供了方便;而对于希望开发Linux 系统下USB 设备驱动的程序员,提供了初步学习USB 驱动架构的机会
前言 USB 是英文”Universal Serial Bus”的缩写,意为”通用串行总线”
是由Compaq(康柏)、DEC、 IBM、 Intel、 NEC、微软以及Northern Telecom(北方电讯)等公司于1994 年 11 月共同提出的,主要目的就是为了解决接口标准太多的弊端
USB 使用一个4 针插头作为标准插头,并通过这个标准接头,采用菊花瓣形式把所有外设连接起来,它采用串行方式传输数据,目前最大数据传输率为12Mbps, 支持多数据流和多个设备并行操作,允许外设热插拔
目前USB 接口虽然只发展了2 代 ( USB1
1, USB2
0), 但是USB 综合了一个多平台标准的所有优点 — 包括降低成本,增加兼容性,可连接大量的外部设备,融合先进的功能和品质
使其逐步成为PC 接口标准,进入了高速发展期
那么对于使用Linux 系统,正确支持和配置常见的USB 设备,就是其使用必不可少的关键一步
模块(驱动程序) 模块(module)是在内核空间运行的程序,实际上是一种目标对象文件,没有链接,不能独立运行,但是可以装载到系统中作为内核的一部分运行,从而可以动态扩充内核的功能
模块最主要的用处就是用来实现设备驱动程序
Linux 下对于一个硬件