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

【Linux】【驱动】杂项设备驱动

【Linux】【驱动】杂项设备驱动

    • Linux三大设备驱动
      • 1. 我们这节课要讲的杂项设备驱动是属于我们这三大设备驱动里面的哪个呢?
      • 2.杂项设备除了比字符设备代码简单,还有别的区别吗?
      • 3.主设备号和次设备号是什么?
    • 挂载驱动

杂项设备驱动是字符设备驱动的一种,他相对完整的字符驱动来说信息会稍微减少一点

Linux三大设备驱动

字符设备:IO 的传输过程是以字符为单位的,没有缓冲。比如2C,SPI 都是字符设备
块设备:I0 的传输过程是以块为单位的。根存储相关的,都属于块设备,比如,tf 卡
网络设备: 与前俩个不一样,是以 socket 套接字来访问的。

1. 我们这节课要讲的杂项设备驱动是属于我们这三大设备驱动里面的哪个呢?

杂项设备是字符设备的一种。可以自动生成设备节点
我们的系统里面有很多杂项设备。我们可以输入 cat /pro/misc 命令来查看

2.杂项设备除了比字符设备代码简单,还有别的区别吗?

杂项设备的主设备号是相同的,均为 10,次设备号是不同的。主设设备号相同就可以节省内核的资源

3.主设备号和次设备号是什么?

设备号包含主设备号和次设备号,主设备号在 Linux 系统里面是唯一的,次设备号不一定唯一
设备号是计算机识别设备的一种方式,主设备相同的就被视为同一类设备
主设备号可以比做成电话号码的区号。比如北京的区号是 010次设备号可以比作成电话号码。
主设备号可以通过命令 cat /proc/devices 来查看。

下面是代码

#include <linux/init.h>
#include <linux/module.h>
#include <linux/miscdevice.h>
#include <linux/fs.h>	struct file_operations misc_fops = {.owner	= THIS_MODULE};struct miscdevice misc_dev = 
{.minor = MISC_DYNAMIC_MINOR,.name = "hello_misc",.fops = &misc_fops
};//drivers for init
static int misc_init(void)
{int ret = 0;ret = misc_register(&misc_dev);if(ret<0) {printk("misc_register is failed\n");return -1;}printk("misc registe is succeed \n");return 0;
}//drivers for exit 
static void misc_exit(void)
{
//misc_deregister(&misc_dev);printk("misc exit \n");}module_init(misc_init);
module_exit(misc_exit);MODULE_LICENSE("GPL");

挂载驱动

在这里插入图片描述

ret = misc_register(&misc_dev);//挂载驱动misc_deregister(&misc_dev);//移除驱动
http://www.lryc.cn/news/133499.html

相关文章:

  • 【HCIP】10.路由策略
  • 【腾讯云Cloud Studio实战训练营】使用Cloud Studio社区版快速构建React完成点餐H5页面还原
  • 测试开发工程必备技能之一:Mock的使用
  • Qbytearray:从十六进制字符串转字节一些注意事项
  • 【Docker】Docker的使用案例以及未来发展、Docker Hub 服务、环境安全的详细讲解
  • Redis有哪几种内存淘汰策略?
  • 操作系统练习:在Linux上创建进程,及查看进程状态
  • Java虚拟机(JVM):垃圾收集算法
  • 【爬虫】Requests库的使用
  • 了解生成对抗网络 (GAN)
  • opencv-人脸关键点定位
  • 言语理解与表达 郭熙(一)
  • 【stable-diffusion使用扩展+插件和模型资源(上】
  • 面试之快速学习STL-无序关联式容器
  • C++线程库
  • 一文看懂群晖 NAS 安装 Mysql 远程访问连接
  • 永久设置pip指定国内镜像源(windows内)
  • 【SA8295P 源码分析】27 - QNX Ethernet MAC 驱动 之 emac_tx_thread_handler 数据发送线程 源码分析
  • 爬虫抓取数据时显示超时,是代理IP质量不行?
  • 【管理运筹学】第 5 章 | 整数规划 (2,割平面法及 0-1 变量的特性)
  • Vscode详细安装教程
  • 法线矩阵推导
  • 对容器、虚拟机和 Docker 的初学者友好介绍
  • linux部署clickhouse(单机)
  • vue组件注册
  • day20 飞机大战射击游戏
  • iOS设计规范是什么?都有哪些具体规范
  • 动手学深度学习-pytorch版本(二):线性神经网络
  • Spark 图计算ONEID 进阶版
  • Comparable和Comparator区别