12.按键驱动程序设计(1)-混杂设备驱动模型

    xiaoxiao2021-03-26  36

    1 混杂设备描述

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

    Linux中 中 使用struct miscdevice来 来 描 述 一 个混杂设备

    struct miscdevice  {

    int minor;/* 次设备号*/ const char *name;/*  设备名*/ const struct file_operations *fops;/* 文 件 操作*/

    struct list_head list; struct device *parent; struct device *this_device; const char *nodename; umode_t mode; };

    2 混杂驱动注册

    Linux中 中 使用misc_register 函数 来注 册一 个混杂设备驱动。 int misc_register(struct miscdevice * misc) 3 范例驱动分析

    #include <linux/module.h> #include <linux/init.h> #include <linux/miscdevice.h> int key_open(struct inode *node,sturct file *filp) { return 0 ; } struct file_operations key_fops = { .open = key_open; }; struct miscdevice key_miscdev =  { .minor = 200; .name = "key"; .fops = &key_fops; }; static int key_init() { misc_register(&key_miscdev); } static int key_exit() { misc_deregister(&key_miscdev); } module_init(key_init); module_exit(key_exit);
    转载请注明原文地址: https://ju.6miu.com/read-450087.html

    最新回复(0)