基于Linux的最小USB驱动程序框架设计
2012-07-25倪远平
微处理机 2012年3期
关键词:设备
方 骞,倪远平
(昆明理工大学,昆明650051)
1 引言
随着电脑软件和硬件的快速发展,传统的接口如串口、并口等通讯方式已经不能满足现有系统或者设备的数据传输需求。在这个背景下,以Intel为首的七家公司于1994年推出了USB(Universal Serial Bus)通用串行总线协议概念,主要是为了解决接口标准太多、传输速率偏低的弊端。每个USB设备都有专门的驱动程序来支持,研究所有USB驱动程序共同的部分,为快速开发不同USB设备的驱动程序提供了一个参考框架,节省了开发周期。
通过介绍Linux驱动程序的相关知识,以及对USB系统的深入理解,试图构造一个Linux下最小的USB驱动程序框架。
2 Linux驱动程序
在Linux内核中,任何设备都是以相对应的文件方式存在的,对设备的任何操作实际上都是通过对这个设备文件的操作完成的。读写设备文件就相当于操作设备的输入和输出。由于各个设备文件所对应的接口不同,设备驱动程序在Linux内核中就起着这样一个特殊的作用,它们像一个个黑盒子一样,使某个特定的硬件响应一个定义良好的内部编程接口,而这些接口完全隐藏了设备的工作细节,它们对用户来说是完全透明的,甚至感觉不到它们的存在。实际上,当用户进行操作时,内核将这种操作转换成一组标准化的调用再继续执行,而设备驱动程序的任务就是将这些调用映射到作用于实际硬件设备的特有操作上。
Linux系统设备有三种,一般分为字符设备、块设备和网络设备。字符设备是能够像字节流一样被访问的设备,没有缓存,对它的读写是以字节为单位的。……
登录APP查看全文
