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

09 platfrom 设备驱动

platform 设备驱动,也叫做平台设备驱动。请各位重点学习!

[图片]

1、驱动的分离与分层

1)驱动的分隔与分离

Linux 操作系统,代码的重用性非常重要。驱动程序占用了 Linux 内核代码量的大头,如果不对驱动程序加以管理,用不了多久 Linux 内核的文件数量就庞大到无法接受的地步。

假如现在有三个平台 A、B 和 C,这三个平台上都有 MPU6050 这个 I2C 接口的六轴传感器,按照我们写裸机 I2C 驱动的时候的思路,每个平台都有一个 MPU6050 的驱动,因此编写出来的最简单的驱动框架如图所示:
[图片]

从图可以看出,每种平台下都有一个主机驱动和设备驱动,主机驱动肯定是必须要的,毕竟不同的平台其 I2C 控制器不同。但是右侧的设备驱动就没必要每个平台都写一个,因为不管对于那个 SOC 来说,MPU6050 都是一样,通过 I2C 接口读写数据就行了,只需要一个 MPU6050 的驱动程序即可。

如果再来几个 I2C 设备,比如 AT24C02、FT5206(电容触摸屏)等,如果按照图中的写法,那么设备端的驱动将会重复的编写好几次。显然在 Linux 驱动程序中这种写法是不推荐的,最好的做法就是每个平台的 I2C 控制器都提供一个统一的接口(也叫

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

相关文章:

  • 【C#】C#读写Excel文件
  • 数据流图(DFD)绘制规范
  • 有待挖掘的金矿:大模型的幻觉之境
  • 常见八大排序(纯C语言版)
  • vue2学习(06)----vuex
  • webflux 拦截器验证token
  • C++中的继承方式
  • Vue进阶之Vue无代码可视化项目(四)
  • day40--Redis(二)实战篇
  • 使用Ollama+OpenWebUI本地部署Gemma谷歌AI开放大模型完整指南
  • react的自定义组件
  • 海宁代理记账公司-专业的会计服务
  • matlab 计算三维空间点到直线的距离
  • YOLOv5车流量监测系统研究
  • 单元测试覆盖率
  • 逻辑这回事(三)----时序分析与时序优化
  • [JAVASE] 类和对象(二) -- 封装
  • 开发网站,如何给上传图片的服务器目录授权
  • 特别名词Test Paper2
  • 数据结构-AVL树
  • 数字科技如何助力博物馆设计,强化文物故事表现力?
  • 德克萨斯大学奥斯汀分校自然语言处理硕士课程汉化版(第七周) - 结构化预测
  • 5-Maven-setttings和pom.xml常用配置一览
  • input输入框设置样式
  • 平稳交付 20+ 医院,卓健科技基于 OpenCloudOS 的落地实践
  • Python下载库
  • SAP HCM OPT函数作用
  • Tensorflow音频分类
  • mqtt-emqx:keepAlive机制测试
  • C++基础7:STL六大组件