字符设备驱动程序
看LDD3,针对字符设备驱动的一些简单的笔记。
主次设备号
建立一个字符设备,首先要做的是获取设备编号。包括主设备号和次设备号。
一般,主设备号标识驱动程序,此设备号用于确定设备。
表示
在内核中,dev_t类型(<linux/types.h>)用来保存设备编号,包括主次设备号。
获取dev_t的主设备号或次设备号,使用下面的宏:
#include <linux/kdev_t.h>
MAJOR(dev_t dev);
MINOR(dev_t dev);
将主次设备号转换成dev_t类型,使用:
MKDEV(int major, int minor);
获取
通过下面这个函数获取设备号:
#include <linux/fs.h>
int register_chrdev_region(dev_t first, unsigned int count, char *name);
参数说明:
first:是要分配的设备编号范围的起始值;
count:是所请求的连续设备编号的个数;
name:是和该编号范围关联的设备名称;
返回值:
正常操作返回0,错误情况下返回一个负数。
自动获取
使用下面这个函数获取设备号:
<