设备复用的步骤:
1:注册时连续注册多个设备,首先获得起始设备的设备号
#define MAJOR 100
dev_t devno = MKDEV(MAJOR,0)//起始设备的主设备号100,从设备号0
2:注册字符设备函数:int register_chrdev_region(dev_t from,unsigned count,const char *name)
表示:从设备号from开始,连续注册count个设备。公用设备名称name
3:初始化字符设备:声明一个字符设备:struct cdev c_dev;
初始化字符设备的接口函数是:void cdev_init(struct cdev *cdev,const struct fileoperation *fops)
作用是:将设备操作方法,与字符设备绑定
4:添加字符设备:
添加字符设备的接口函数是:int cdev_add(struct cdev *p,dev_t dev,unsigned count)
从取得的设备号开始,连续添加count 个设备
5:创建设备文件:mknod /dev/XXX0 c 100 0
mknod /dev/xxx1 c 100 1
......
mknod /dev/xxxcount c 100 count
6:应用程序打开设备文件:Fd0 = open(/dev/xxx0,0666);
Fd1 = open(/dev/xxx1,0666);
Fd2 = open(/dev/xxxcount,0666);