字符设备集中编程模型

Posted Mr_ox

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了字符设备集中编程模型相关的知识,希望对你有一定的参考价值。

1.重要数据结构

  - struct file_operaions

  - struct inode

  - struct file

2.杂设备驱动模板:struct miscdevice

  - 注册:int misc_register(struct miscdevice *misc)

  - 注销:int misc_deregister(struct miscdevice *misc)

3.早期标准字符设备驱动模板:

  - 注册:int register_chrdev(unsigned int major, const char *name, const struct file_operations *fops)

  - 注销:void unregister_chrdev(unsigned int major, const char *name)

4.Linux2.6标准字符设备驱动模型

  - 核心数据结构:struct cdev

  - 注册:int register_chrdev_region(dev_t first, unsigned int count, char *name)

  - 注销:void unregister_chrdev_region(dev_t first, unsigned int count)

5.自动创建设备文件

  - 核心数据:struct class:设备类对象

  - struct class* class_create

  - struct device *device

6.ioctl控制接口

  - 定义命令:_IO(type, nr), _IOR(type, nr, datatype), _IOW(type, nr, datatype), _IOWR(type, nr, datatype)

以上是关于字符设备集中编程模型的主要内容,如果未能解决你的问题,请参考以下文章

字符设备驱动模型

字符设备驱动模型

字符设备驱动编程

Linux驱动开发-混杂字符设备驱动模型笔记 4

Linux驱动开发-混杂字符设备驱动模型笔记 4

字符设备驱动平台设备驱动设备驱动模型sysfs的比较和关联