开发环境:
主机:Ubuntu14.04
开发板:Exynos4412-4412
7.1杂项设备的编写
杂项设备可以说是对一部分字符设备的封装,还有一部分不好归类驱动也归到杂项设备。
为什么会引入杂项设备?
第一、节省主设备号
如果所有的驱动都是用字符设备,那么所有的设备号很快就用完了,总共就255个主设备号。
第二、驱动写起来相对简单
如果直接使用封装好的杂项设备,那么就可以减少一步注册主设备号的过程。
- 杂项设备初始化文件
杂项设备初始化部分源文件“drivers/char/misc.c”,这一部分通过Makefile可知,是强制编译的。而且是Linux官方(不是三星官方)出来的时候就带的,为了一些简单的驱动更容易实现。
【注】杂项设备是强制编译进入内核的。
- 杂项设备注册头文件
在include/linux/miscdevice.h文件中结构体miscdevice以及注册函数如下所示。