资料介绍
Linux字符设备驱动程序的设计杭州应用工程技术学院学报 ,第 12 卷第 4 期 ,2000 年 12 月
Journal of Hangzhou Institute of Applied Engineering Vol. 12 No. 4 , Dec. 2000
Linux 字符设备驱动程序的设计
潘俊强 刘 莉
( 杭州应用工程技术学院 计算机系 杭州 310012)
摘 要 介绍了 Linux 字符设备驱动程序中建立设备 , 初始化设备 、 设备的资源分配和如 何访问设备的方法及相关函数的实现 . 关键词 Linux 字符设备 设备驱动程序 中图分类号 TP316181 设备驱动程序实质上是一组完成不同任务的函数的集合 ,通过这些函数所提供的功能可以使 得从设备接受输入和将输出送到设备就象读写文件一样 , 因此 ,Linux 中的每一个设备都具有文件 的外在特征 ,都能使用 open () ,close () ,read () ,write () 等系统调用 .
Linux 设备驱动程序的主要功能有 : a 初始化设备 ;b 提供各类设备服务 ;c 负责内核和设备之间的数据交换 ; d 检测和处理设备工
作过程中出现的错误 .
1 命名规则 [1 ]
每个设备的驱动程序都有一组实质上相同的函数 ,并且都需添加至内核原码中以重新生成内 核 ,因此为了防止不同驱动程序之间函数名的冲突 ,必须确保名称的唯一性 ,最好的方法是在各驱 动程序的函数前加一以设备名为字符串的前缀 . 本文约定要开发驱动程序的设备名为 “mydev” .
2 设备文件的建立
为了使对设备的读写操作象文件的存取一样处理 ,Linux 所有的设备在目录树中的适当位置都 有相对应的文件名称 ,这样才能对它们进行 open () 、 close () 等系统调用 ; 这些文件称为字符设备特 殊