linux驱动:(13)杂项设备和字符设备总结

杂项设备

  • 是字符设备里面的一种
  • 主设备号固定为10,只需要分配次设备号
  • 步骤
    • 构建文件操作集
      • 其中write/read中应用与内核层传输需要用到两个函数
        • copy_from_user
        • copy_to_user
    • 构建杂项设备结构体
      • struct miscdevice misc = {}
    • 注册杂项设备
      • misc_register(&misc);
    • 卸载杂项设备
      • misc_deregister(&misc);

字符设备

  • 驱动初始化
    • 分配设备号
      • 静态分配设备号
        • register_chrdev_region
      • 动态分配设备号
        • alloc_chrdev_region
      • 操作设备号dev_t
        • 用宏来获取设备号和组合设备号
    • 初始化cdev
      • cdev_init
    • 注册cdev
      • cdev_add
    • 初始化硬件
  • 构建文件操作集
  • 生成设备节点
    • 自动生成设备节点
      • 创建一个class
        • class_create
      • 创建一个设备
        • device_create
    • 手动生成设备节点
      • mknod命令
  • 驱动卸载
    • 释放设备号
      • unregister_chrdev_region
    • 卸载cdev
      • cdev_del
    • 卸载设备
      • device_destroy
    • 卸载class
      • class_destroy

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

码农小白

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值