以下内容源于朱有鹏《物联网大讲堂》课程的学习整理,如有侵权,请告知删除。

1、驱动是谁写的?

  • 驱动开发工程师(譬如厂商的驱动开发攻城狮们)
  • 内核维护者

2、驱动编程协作要求

  • 接口标准化
  • 内核开发者应该尽量降低驱动开发者难度;

3、到底什么是驱动框架?

(1)驱动框架

  • 内核中驱动部分维护者,针对每个种类(比如LED、LCD、蜂鸣器等等)的设备,都设计有一套成熟的、标准的、典型的驱动实现;
  • 他们把不同厂家的同类硬件驱动中相同的部分抽出来自己实现好,再把不同部分留出接口给具体的驱动开发工程师来实现。
  • 降低了难度,也标准化。

(2)内核维护者在内核中设计了一些(统一管控系统资源的)体系

  • 这些体系让内核能够(对资源在各个驱动之间的使用)统一协调和分配,保证整个内核的稳定健康运行。
  • 譬如系统中所有的GPIO就属于系统资源,每个驱动模块如果要使用某个GPIO就要先调用特殊的接口先申请,申请到后使用,使用完后要释放。
  • 又譬如中断号也是一种资源,驱动在使用前也必须去申请。
  • 这体系也是驱动框架的组成部分。

(3)驱动框架的直接表现

  • 一些特定的接口函数、一些特定的数据结构,这些是驱动框架的直接表现。

驱动框架1——什么是驱动框架?相关推荐

  1. linux i2c核心,总线与设备驱动,Linux2.6.37 I2C驱动框架分析(一)

    最近工作中又使用到了I2C,所以借S3C2440开发板GT2440为硬件平台温习一遍I2C驱动体系. linux内核中IIC驱动的体系框架 linux内核中IIC部分驱动代码位于:/drivers/i ...

  2. Linux驱动修炼之道-SPI驱动框架源码分析(上)

    Linux驱动修炼之道-SPI驱动框架源码分析(上)   SPI协议是一种同步的串行数据连接标准,由摩托罗拉公司命名,可工作于全双工模式.相关通讯设备可工作于m/s模式.主设备发起数据帧,允许多个从设 ...

  3. 嵌入式Linux驱动笔记(十八)------浅析V4L2框架之ioctl【转】

    转自:https://blog.csdn.net/Guet_Kite/article/details/78574781 权声明:本文为 风筝 博主原创文章,未经博主允许不得转载!!!!!!谢谢合作 h ...

  4. framebuffer驱动详解2——framebuffer驱动框架分析

    以下内容源于朱有鹏嵌入式课程的学习,如有侵权,请告知删除. 一.framebuffer驱动框架总览 1.驱动框架部分 (1)drivers/video/fbmem.c(主要的文件) 创建graphic ...

  5. 全志平台boot框架中增加设备驱动过程分析

    全志平台boot框架中增加设备驱动过程分析 在boot启动阶段,大家都知道他的主要目的就是引导uboot,uboot在引导内核,从而让整个系统运作起来.全志的boot阶段,对应平板这一块,它会驱动LC ...

  6. linux PWM驱动屏幕亮度及pwm子系统框架(Linux驱动开发篇)

    1.对象 imx6ull单片机,控制其下面的pwm3的外设.关于对象的详细介绍看裸机pwm控制屏幕亮度 在dtsi中的位置 /soc/aips1/pwm3 pwm3: pwm@02088000 { c ...

  7. 详细到吐血 —— 树莓派驱动开发入门:从读懂框架到自己写驱动

    师承陈立臣 目录 README 一.驱动初步认知 为什么要学会写驱动? 设备号的两个作用? 区分硬件 索引驱动在驱动链表中的位置 从open到设备,从上层到底层,经历了什么? 二.基于内核驱动框架编写 ...

  8. 驱动框架入门之LED-linux驱动开发第4部分-朱有鹏-专题视频课程

    驱动框架入门之LED-linux驱动开发第4部分-5199人已学习 课程介绍         本课程是linux驱动开发的第4个课程,主要内容是驱动框架的引入.通过led驱动框架和gpiolib的这两 ...

  9. 《Linux驱动:使用音频设备驱动框架-OSS构建音频设备驱动》

    文章目录 一,前言 二,框架 三,OSS实现 3.1 OSS初始化 3.2 向OSS注册音频设备 3.3 OSS管理音频设备 四,音频基本概念 4.1 采样频率 4.2 采样精度 4.3 左声道/右声 ...

  10. Linux驱动框架与杂项字符设备框架介绍

    1. Linux下驱动框架介绍 1.1 驱动框架分类 Linux下驱动框架分为3大类型: 字符设备 --------- 块设备 存储设备 SD 硬盘 网络设备 网卡 无线 有线 字符设备和块设备都会生 ...

最新文章

  1. 装linux系统时键盘用不了怎么办_图吧垃圾佬的LINUX体验
  2. hdu 4925 Apple Tree--2014 Multi-University Training Contest 6
  3. 详解使用VueJS开发项目中的兼容问题
  4. 3 linux禁用ssl_ESXI申请阿里云SSL证书并配置
  5. SVN trunk(主线) branch(分支) tag(标记) 用法详解和详细操作步骤
  6. Istio 中的多集群部署与管理
  7. 注解 @PostConstruct 与 @PreDestroy 详解及实例
  8. X11/XWINDOW GUI窗口应用在任务栏上没有显示的解决办法
  9. win98万能显卡驱动_win98/98系统 u盘万能驱动
  10. ncsi信号测试软件,模拟电路与数字电路的转换
  11. rust投递箱连接箱子_箱子、栈和堆
  12. FL Studio教程之扫弦器命令
  13. StateFlow-自动变速逻辑搭建
  14. c语言字典大全,c语言字典(C language dictionary).doc
  15. Linux下Nginx安装证书
  16. cmu 445 poject 2笔记
  17. 视频教程-Workerman入门到精通实战layIM聊天室-PHP
  18. 使用JMeter上传excel文件
  19. 好文分享班扎古鲁白玛的沉默
  20. Unity3d快速入门

热门文章

  1. Django:学习笔记(2)——创建第一个应用
  2. .12-浅析webpack源码之NodeWatchFileSystem模块总览
  3. Extjs 之 initComponent 和 constructor的区别(转)
  4. SqlSever分页查询,仅扫描一次表
  5. 大家狂欢吧,我的Google帐号悲剧了
  6. 关于更改当前公司(一)--ChangeCompany
  7. 卡巴绿杀6 By Moshow魔手
  8. 一起学并发编程 - 优雅关闭
  9. 理解浏览器是如何加载及渲染网页的
  10. java中可重入锁的学习总结