博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
混杂设备驱动模型
阅读量:4285 次
发布时间:2019-05-27

本文共 668 字,大约阅读时间需要 2 分钟。

在Linux系统中,存在一类字符设备,它们拥有相同的主设备号10,但次设备号不同,我们称这类设备为混杂设备(miscdevice)。所有的混杂设备形成一个链表,对设备访问时内核根据次设备号查找到相应的混杂设备。如果一个字符设备驱动要驱动多个设备,则它不应该选用混杂设备来实现。

Linux中使用struct miscdevice来描述一个混杂设备,该结构定义在<linux/miscdevice.h>,因此使用时需要添加头文件<linux/miscdevice.h>

struct miscdevice {    int minor; /* 次设备号*/    const char *name; /* 设备名*/    const struct file_operations *fops; /*文件操作*/*    struct list_head list;    struct device *parent;    struct device *this_device;};

其中次设备号、设备名、文件操作需要程序员在设备驱动程序中初始化,list、parent、this_device由内核初始化。

一个混杂设备驱动的编程模型为:

①初始化结构miscdevice
②根据初始化的miscdevice 来注册混杂设备
③硬件初始化
④编程实现设备方法
⑤注销
Linux系统使用misc_register函数来注册一个混杂设备驱动。
原型:int misc_register(struct miscdevice *misc)

转载地址:http://trigi.baihongyu.com/

你可能感兴趣的文章
贝叶斯学习--极大后验假设学习
查看>>
朴素贝叶斯分类器
查看>>
贝叶斯学习举例--学习分类文本
查看>>
hadoop HDFS原理基础知识
查看>>
数据挖掘十大算法----EM算法(最大期望算法)
查看>>
android StrictMode应用
查看>>
TabHost的两种使用方法
查看>>
Android---TextView属性详解
查看>>
K近邻算法基础:KD树的操作
查看>>
数据挖掘十大算法--K近邻算法
查看>>
android对话框(Dialog)的用法
查看>>
Android使用Application总结
查看>>
android启动第一个界面时即闪屏的核心代码(两种方式)
查看>>
数据挖掘十大经典算法(详解)
查看>>
数据挖掘十大算法--K-均值聚类算法
查看>>
java中常用的日期格式化(全)
查看>>
POI操作Excel导入和导出
查看>>
java的md5加密算法代码
查看>>
jdbc连接数据库
查看>>
Android开发四大组件概述
查看>>