※ 真实的驱动程式利用中断和他们的设备同步
主设备号和次设备号
※ 主设备号标识设备对应的驱动程式;次设备号由内核使用,用于正确确定设备文档所指的设备。我们能够通过次设备号获得一个指向内核设备的直接指针,也可将次设备号当作设备本地数组的索引,不管用哪种方式,除了知道次设备号用来指向驱动程式所实现的设备之外,内核本身基本上不关心关于次设备号的任何其他消息。
※ 设备编号的内部表达
n 在内核中,dev_t类型(在<linux/types.h>中定义)用来保存设备编号——包括主设备号和次设备号。
n MAJOR(dev_t dev); MINOR(dev_t dev) MKDEV(int major, int minor)
※ 分配和释放设备编号
n <linux/fs.h>:
int register_chrdev_region(dev_t first, unsigned int count, char *name);
int alloc_chrdev_region(dev_t *dev, unsigned int firstminor,
unsigned int count, char *name);
void unregister_chrdev_region(dev_t first, unsigned int count);
驱动程式需要将设备编号和内部函数连接起来,这些内部函数用来实现设备的操作。
文章整理:西部数码--专业提供域名注册、虚拟主机服务
http://www.west263.com
以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!




