linux驱动笔记-字符设备驱动

struct cdev

linux中struct cdev来表示一个字符设备。cdev中包含几个重要成员,name、file_operations、dev_t。name用来表示字符设备名称,file_operations表示操作集向用户空间提供操作接口,dev_t代表设备号,前12位代表主设备号,后20位代表次设备号。

操作cdev的函数

cdev_init():用于初始化cdev,并将cdev与file_opeations绑定。
cdev_add():将cdev添加到系统。

分配设备号

register_chrdev_region():已知设备号的情况下申请设备号,用于指定设备号
alloc_chrdev_region():自动分配设备号

创建class、device

class_create():创建类
device_create():创建设备

__init函数中

  1. 分配设备号
  2. cdev_init():初始化cdev
  3. cdev_add():向系统添加cdev
  4. class_create:创建类
  5. device_create:创建设备

__exit函数中

cdev_del():删除cdev
unregister_chrdev_region():删除设备号
device_destroy():删除设备
class_destroy():删除类

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值