Linux内核混杂设备

来源:互联网 发布:阿里云华北2 编辑:程序博客网 时间:2024/06/05 07:47

1.混杂设备:主设备号已经被内核注册进行自动分配,主设备号为10,通过此设备号区分的一类字符设备! 特点:还是字符设备,主设备号10,通过次设备号来区分设备个体.

2.linux内核如何描述混杂设备:

Struct misdevice{

       Intminor; const char * name; const struct file_operations * fops; struct list_headlist;

       Structdevice * parent; struct device * this_device; const char * nodename; mode_tmode;

};

Minor:次设备号,用于区分各个混杂设备,如果让内核帮你分配一个次设备号,可以指定为MISC_DYNAMIC_MINOR; name:设备文件名,内核会自动创建 fops:给混杂设备提供的访问硬件的方法,并且将这些方法提供给用户使用。

3.实现一个混杂设备驱动。

分配初始化一个混杂设备对象:Struct file_operationsled_fops = {…}

Struct miscdevice led_misc = {

                     .minor= MISC_DYNAMIC_MINOR, //动态分配

                     .name= “myled”, //dev/myled

                     .fops= &led_fops

};

注册混杂设备:misc_register(&led_misc)

卸载混杂设备:misc_deregister(&led_misc);

 

原创粉丝点击