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

06 Linux 设备驱动模型

1、Overview

Linux-2.6 引入的新的设备管理机制 - kobject

  • 降低设备多样性带来的 Linux 驱动开发的复杂度,以及设备热拔插处理、电源管理等
  • 将硬件设备归纳、分类,然后抽象出一套标准的数据结构和接口
  • 驱动的开发,就简化为对内核所规定的数据结构的填充和实现
  • 驱动模型是 Linux 内核引入面向对象思想的一次完美尝试

Bus、class、device、device_driver

[图片]

上面这个图要表达的最重要的点,是所有的设备都要挂在 bus 上,没有所谓的单独的设备,这一点是 Linux kernel 统一设备驱动模型最关键的点,也是和单片机开发不一样的地方。

硬件拓扑描述 Linux 设备模型中四个重要概念中三个:Bus,Class 和 Device(第四个为 Device Driver)。

  • Bus(总线):Linux 认为总线是 CPU 和一个或多个设备之间信息交互的通道。而为了方便设备模型的抽象,所有的设备都应连接到总线上(无论是 CPU 内部总线、虚拟的总线还是“platform Bus”)。

  • Class(分类):在 Linux 设备模型中,Class 的概念非常类似面向对象程序设计中的 Class(类),它主要是集合具有【相似功能或属性】的设备,这样就可以【抽象出一套可以在多个设备之

http://www.lryc.cn/news/367536.html

相关文章:

  • 检测五个数是否一样的算法
  • java 原生http服务器 测试JS前端ajax访问实现跨域传post数据
  • 【机器学习】消息传递神经网络(MPNN)在分子预测领域的医学应用
  • Python Flask实现蓝图Blueprint配置和模块渲染
  • Vue10-事件修饰符
  • oracle中如何查询特定日期?
  • Python使用rosbag使用getattr只能获取一层的数据,不能直接获取多层数据例如 a.b.c.d。使用for range写一个递归用来获取多层数据
  • LNWT--篇章三小测
  • 【NoSQL】Redis练习
  • Git 和 Github 的使用
  • 学习分享-断路器Hystrix与Sentinel的区别
  • 社区物资交易互助平台的设计
  • 19-Nacos-服务实例的权重设置
  • R语言数据探索和分析23-公共物品问卷分析
  • Webix前端界面框架:深度解析与应用实践
  • Qt基于SQLite数据库的增删查改demo
  • 新书推荐:2.2.4 第11练:消息循环
  • MASA:匹配一切、分割一切、跟踪一切
  • Websocket前端传参:深度解析与实战应用
  • 造假高手——faker
  • 前端工程化工具系列(十二)—— PostCSS(v8.4.38):CSS 转换工具
  • Scanpy(3)单细胞数据分析常规流程
  • 【Stable Diffusion】(基础篇二)—— Stable Diffusion图形界面介绍和基本使用流程
  • OpenCv之简单的人脸识别项目(动态处理页面)
  • 【Linux】进程间通信
  • UI与前端:揭秘两者的微妙差异
  • idea如何根据路径快速在项目中快速打卡该页面
  • 探索成功者的特质——俞敏洪的观点启示
  • MCU的环形FIFO
  • 使用proteus仿真51单片机的流水灯实现