添加dev设备节点

查看/proc/devices 文件可以获知系统中注册的设备,第 1 列为主设备号,第 2 列为设备名,cat /dev/ 可以查看到所有的设备节点

手动创建设备名

mknod /dev/设备名 设备类型(字符:c,块:b) 主设备号 从设备号

自动创建

在驱动初始化代码里调用class_create为该设备创建一个class,再为每个设备调用device_create创建对应的设备。

  • 驱动加载:分配设备号----注册字符设备------------动态创建设备节点。
  • 驱动卸载:删除设备节点----取消字符设备的注册-----------删除设备号。

1、定义一个class,和一个设备的结构指针

  • static struct class *class
  • static struct device *class_dev

2、创建字符设备

3、调用 test_class = class_create(THIS_MODULE,“test_class”)
会在sys/class目录下生成test_class文件夹,test_class可以随意命名

4、调用test_class_dev = device_create(test_class, parent->dev, MKDEV(major, 0), drver_data(驱动的数据), “xxx”)
会在/dev目录下生成xxx的设备文件,major是主设备号

5、注销顺序

  • device_destroy() 删除设备节点
  • class_destroy() 删除class
  • unregister_chrdev()
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • feisky云计算、虚拟化与Linux技术笔记posts - 1014, comments - 298, trac...
    不排版阅读 3,921评论 0 5
  • 一、Python简介和环境搭建以及pip的安装 4课时实验课主要内容 【Python简介】: Python 是一个...
    _小老虎_阅读 5,818评论 0 10
  • mean to add the formatted="false" attribute?.[ 46% 47325/...
    ProZoom阅读 2,724评论 0 3
  • 本文开启 linux 内核 V4L2 框架部分的学习之旅,本文仅先对 V4L2 的框架做一个综述性的概括介绍,然后...
    yellowmax阅读 7,643评论 0 13
  • make menuconfig过程解析作者 codercjg 在 28 九月 2015, 5:27 下午 make...
    codercjg阅读 992评论 0 1