这些小活动你都参加了吗?快来围观一下吧!>>
电子产品世界 » 论坛首页 » 嵌入式开发 » STM32 » linux字符设备驱动之设备节点的自动创建

共1条 1/1 1 跳转至

linux字符设备驱动之设备节点的自动创建

高工
2018-12-02 12:48:41     打赏

设备节点的自动创建

在写Linux设备驱动程序的时候,很多时候都是利用mknod命令手动创建设备节点,

实际上Linux内核为我们提供了一组函数,可以用来在模块加载的时候自动在/dev目录下创建相应设备节点,

并在卸载模块时删除该节点,当然前提条件是用户空间移植了udev。

内核中定义了struct class结构体,顾名思义,一个struct class结构体类型变量对应一个类,

内核同时提供了class_create(…)函数,可以用它来创建一个类,这个类存放于sysfs下面,

一旦创建好了这个类,再调用device_create(…)函数来在/dev目录下创建相应的设备节点。

这样,加载模块的时候,用户空间中的udev会自动响应device_create(…)函数,去/sysfs下寻找对应的类从而创建设备节点。

通过device_destroy();class_destroy();来注销类和节点





共1条 1/1 1 跳转至

回复

匿名不能发帖!请先 [ 登陆 注册 ]