这一章介绍了一个不依赖硬件的scull(Simple Character Utility for Loading Localities)字符设备驱动程序的编写,scull可以为我们编写真正的linux内核设备驱动程序提供样板。
(一) 设备编号
1.设备编号的表示
主编号标识设备相连的驱动,次编号被内核用来决定引用哪个设备。
内核用dev_t类型()来保存设备编号,dev_t是一个32位的数,12位表示主设备号,20为表示次设备号。
用在 中的一套宏定义来进行转换:
MAJOR(dev_t dev); MINOR(dev_t dev); MKDEV(int major, int minor);
|
2.分配和释放设备编号
建立一个字符驱动时,驱动需要做的第一件事是获取一个或多个设备编号来使用,主要函数在中声明:
int register_chrdev_region(dev_t first, unsigned int count
|
阅读(485) | 评论(0) | 转发(0) |