首页 > 其他 > 详细

创建一个字符设备的基本流程

时间:2020-04-05 22:02:23      阅读:84      评论:0      收藏:0      [点我收藏+]

步骤1.创建设备号

  定义了设备号

    直接使用MKDEV创建设备号

  没有定义设备号  

    使用alloc_chrdev_region向内核申请设备号

  使用register_chrdev_region 向内核注册设备号

步骤2.初始化字符设备

  使用cdev_init 初始化字符设备

步骤3.添加设备

  使用向cdev_add 向内核添加字符设备

步骤4.创建类

  使用class_create创建类

步骤5.创建设备

  使用 device_create 创建设备
注意:

  1.在创建过程中注意创建失败的处理,需要释放已经申请的设备号、类、设备

  2.注意各函数返回值的处理

  3.模块退出函数需要释放掉已经申请的字符设备

模块退出时注销设备:

  1.使用cdev_del删除字符设备

  2.使用 unregister_chrdev_region 注销设备号
  3.使用device_destroy释放设备

  4.使用 class_destroy 释放类

注意:必须先释放设备在释放类,否则释放设备会失败(找不到正确的类)





  

创建一个字符设备的基本流程

原文:https://www.cnblogs.com/qingyunboke/p/12638839.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!