当前位置: 首页 > news >正文

misc_register、 register_chrdev 的区别总结

参考:

http://longer.spaces.eepw.com.cn/articles/article/item/60415

http://imganquan.org/blog/?p=350

 

网上找的,归纳一下:

 

杂项设备(misc device)
杂项设备也是在嵌入式系统中用得比较多的一种设备驱动。在 Linux 内核的include/linux目录下有Miscdevice.h文件,要把自己定义的misc device从设备定义在这里。其实是因为这些字符设备不符合预先确定的字符设备范畴,所有这些设备采用主编号10 ,一起归于misc device,其实misc_register就是用主标号10调用register_chrdev()的

也就是说,misc设备其实也就是特殊的字符设备,可自动生成设备节点。

 

字符设备(char device)

使用register_chrdev(LED_MAJOR,DEVICE_NAME,&dev_fops)注册字符设备驱动程序时,如果有多个设 备使用该函数注册驱动程序,LED_MAJOR不能相同,否则几个设备都无法注册(我已验证)。如果模块使用该方式注册并且 LED_MAJOR为0(自动分配主设备号 ),使用insmod命令加载模块时会在终端显示分配的主设备号和次设备号,在/dev目录下建立该节点,比如 设备leds,如果加载该模块时分配的主设备号和次设备号为253和0,(设备号到底有什么意义)则建立节点:mknod leds c 253 0。使用register_chrdev (LED_MAJOR,DEVICE_NAME,&dev_fops)注册字符设备驱动程序时都要手动建立节点 ,否则在应用程序无法打开该设备。

转载于:https://www.cnblogs.com/Ph-one/p/4676106.html

相关文章:

  • linux设备驱动那点事儿之平台设备理论篇
  • linux多线程驱动中调用udelay()对整个系统造成的影响(by liukun321咕唧咕唧)...
  • udelay、mdelay、ndelay、msleep使用比较说明
  • A8下超级终端调试问题
  • Linux多线程编程(不限Linux)转
  • Linux 线程优先级
  • 男儿当自强
  • JNI编程(一) —— 编写一个最简单的JNI程序
  • JNI编程(二) —— 让C++和Java相互调用(1)
  • JNI编程(二) —— 让C++和Java相互调用(2)
  • char*,const char*和string的相互转换
  • 请问什么是UTF字符串?
  • jni数据问题
  • sprintf
  • 锦上
  • 【前端学习】-粗谈选择器
  • android百种动画侧滑库、步骤视图、TextView效果、社交、搜房、K线图等源码
  • Fastjson的基本使用方法大全
  • leetcode386. Lexicographical Numbers
  • PHP变量
  • php的插入排序,通过双层for循环
  • Python socket服务器端、客户端传送信息
  • rc-form之最单纯情况
  • Vim Clutch | 面向脚踏板编程……
  • Vue UI框架库开发介绍
  • weex踩坑之旅第一弹 ~ 搭建具有入口文件的weex脚手架
  • 安装python包到指定虚拟环境
  • 从零开始在ubuntu上搭建node开发环境
  • 复习Javascript专题(四):js中的深浅拷贝
  • 模型微调
  • 源码之下无秘密 ── 做最好的 Netty 源码分析教程
  • 【干货分享】dos命令大全
  • Nginx实现动静分离
  • puppet连载22:define用法
  • ​【C语言】长篇详解,字符系列篇3-----strstr,strtok,strerror字符串函数的使用【图文详解​】
  • ​LeetCode解法汇总2304. 网格中的最小路径代价
  • ​软考-高级-系统架构设计师教程(清华第2版)【第15章 面向服务架构设计理论与实践(P527~554)-思维导图】​
  • # Maven错误Error executing Maven
  • # 透过事物看本质的能力怎么培养?
  • #Linux(权限管理)
  • #单片机(TB6600驱动42步进电机)
  • #考研#计算机文化知识1(局域网及网络互联)
  • (cljs/run-at (JSVM. :browser) 搭建刚好可用的开发环境!)
  • (ISPRS,2023)深度语义-视觉对齐用于zero-shot遥感图像场景分类
  • (ResultSet.TYPE_SCROLL_INSENSITIVE,ResultSet.CONCUR_READ_ONLY)讲解
  • (超详细)语音信号处理之特征提取
  • (二)hibernate配置管理
  • (附源码)ssm基于微信小程序的疫苗管理系统 毕业设计 092354
  • (附源码)计算机毕业设计SSM疫情下的学生出入管理系统
  • (规划)24届春招和25届暑假实习路线准备规划
  • (力扣)1314.矩阵区域和
  • (六) ES6 新特性 —— 迭代器(iterator)
  • (一)Thymeleaf用法——Thymeleaf简介
  • (转)Android学习系列(31)--App自动化之使用Ant编译项目多渠道打包
  • (转)树状数组