当前位置: 首页 > 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 控制器都提供一个统一的接口(也叫

相关文章:

  • 【Linux】信号(二)
  • 光伏电站绘制软件的基本方法
  • html标签
  • Swift 序列(Sequence)排序面面俱到 - 从过去到现在(三)
  • 【全部更新完毕】2024全国大学生数据统计与分析竞赛B题思路代码文章教学数学建模-电信银行卡诈骗的数据分析
  • K8s Pod的QoS类
  • 拼接sql字符串工具类
  • AB测试实战
  • Qt5学习笔记
  • HCL模拟器下做M-LAG测试(以及和华为配置对比)-二层架构
  • k8s更改master节点IP
  • Pycharm创建Conda虚拟环境时显示CondaHTTPErOT
  • SpringBoot高手之路-springboot原理篇
  • 【深度学习基础】模型文件介绍
  • Tomcat 配置:一文掌握所有要点
  • 【跃迁之路】【444天】程序员高效学习方法论探索系列(实验阶段201-2018.04.25)...
  • 【知识碎片】第三方登录弹窗效果
  • 0基础学习移动端适配
  • Git初体验
  • IIS 10 PHP CGI 设置 PHP_INI_SCAN_DIR
  • spring + angular 实现导出excel
  • Work@Alibaba 阿里巴巴的企业应用构建之路
  • 笨办法学C 练习34:动态数组
  • 从输入URL到页面加载发生了什么
  • 复习Javascript专题(四):js中的深浅拷贝
  • 可能是历史上最全的CC0版权可以免费商用的图片网站
  • 面试遇到的一些题
  • 前端知识点整理(待续)
  • 山寨一个 Promise
  • 思否第一天
  • 微信小程序:实现悬浮返回和分享按钮
  • 字符串匹配基础上
  • MiKTeX could not find the script engine ‘perl.exe‘ which is required to execute ‘latexmk‘.
  • #565. 查找之大编号
  • #NOIP 2014# day.1 T2 联合权值
  • (6)设计一个TimeMap
  • (八)Spring源码解析:Spring MVC
  • (附源码)python旅游推荐系统 毕业设计 250623
  • (附源码)springboot 个人网页的网站 毕业设计031623
  • (附源码)基于ssm的模具配件账单管理系统 毕业设计 081848
  • (论文阅读30/100)Convolutional Pose Machines
  • (免费领源码)python#django#mysql公交线路查询系统85021- 计算机毕业设计项目选题推荐
  • (十)c52学习之旅-定时器实验
  • (转)Groupon前传:从10个月的失败作品修改,1个月找到成功
  • (轉貼) UML中文FAQ (OO) (UML)
  • ***php进行支付宝开发中return_url和notify_url的区别分析
  • .mat 文件的加载与创建 矩阵变图像? ∈ Matlab 使用笔记
  • .NET 给NuGet包添加Readme
  • .NET开源项目介绍及资源推荐:数据持久层
  • /usr/bin/perl:bad interpreter:No such file or directory 的解决办法
  • @基于大模型的旅游路线推荐方案
  • [ 隧道技术 ] 反弹shell的集中常见方式(二)bash反弹shell
  • [2021ICPC济南 L] Strange Series (Bell 数 多项式exp)
  • [8481302]博弈论 斯坦福game theory stanford week 1
  • [Asp.net mvc]国际化