驱动和固件是经常会看到的字眼,尤其是在IoT设备的使用、安装过程中有时很容易搞糊涂,本文根据自己的理解对https://www.zhihu.com/question/22175660 驱动与固件的区别是什么? 进行了部分整理而成,如有误导,请见谅。

驱动和固件(firmware)本质上都是代码形式,前者侧重于为软件服务,后者侧重于为硬件服务;

驱动是操作系统和硬件的接口,固件是告诉硬件如何完成自己的工作;

驱动是调用硬件接口的一段程序,固件是初始化基本硬件的一段程序;所以驱动通常是固件功能上的一个子集;

驱动一般运行在操作系统上,由操作系统进行管理,而固件往往直接"固定"在硬件上,直接控制硬件;

eg1:利用打印机打印东西时:
驱动的作用就是告诉打印机,要打印什么。
固件则告诉打印机,要怎么执行操作(把纸弄上打印区,然后喷墨,从哪里出纸等)。

eg2. BIOS即为主板上的固件,功能 :上电 - 进入BIOS - 自检(检查设备是否正常等) - 初始化各个模块(内存以及加载其他必要的固件等) - 转移控制到系统启动程序。

学习笔记:固件和驱动的区别?相关推荐

  1. spring学习笔记01-BeanFactory和ApplicationContext的区别

    spring学习笔记01-BeanFactory和ApplicationContext的区别 BeanFactory 和 ApplicationContext 的区别           BeanFa ...

  2. ASP.Net学习笔记006--Get和Post的区别

    以前写的课程都没有附上源码,很抱歉! 课程中的源码可以加qq索要:1606841559 技术交流qq1群:251572072 技术交流qq2群:170933152 也可以自己下载: ASP.Net学习 ...

  3. 树莓派学习笔记——Linux I2C驱动说明

    1.前言 [linux内核说明] 通常情况下,I2C设备由内核驱动控制,但是某些情况下I2C设备也可由用户空间控制.如果在用户空间控制I2C设备,需要访问/dev目录中所提供的接口,在使用I2C设备之 ...

  4. 2020-09-21C++学习笔记之与C语言区别和加强——四种const意义(const int a; int const b; const int *c; int * const d)

    2020-09-21C++学习笔记(const int a; int const b; const int *c; int * const d) 这两天在上课更新晚了. 1.C/C++中的const ...

  5. linux2.6驱动学习笔记之字符驱动

    1.字符驱动组成 1.1字符驱动的模块加载与卸载 //设备结构体模板 struct xxx_dev_t { struct cdev cdev; ...... }xxx_dev; 在字符驱动模块加载函数 ...

  6. Linux内核学习笔记之网卡驱动的详细分析:RTL8139

    学习应该是一个先把问题简单化,在把问题复杂化的过程.一开始就着手处理复杂的问题,难免让 人有心惊胆颤,捉襟见肘的感觉.读Linux网卡驱动也是一样.那长长的源码夹杂着那些我们陌生的变量和符号,望而生畏 ...

  7. AM335x(TQ335x)学习笔记——GPIO关键驱动移植

    或按照S5PV210学习秩序.我们首先解决的关键问题.TQ335x有六个用户按钮,每个上.下.剩下.对.Enter和ESC. 我想开始学习S5PV210当同一,写输入子系统驱动器的关键问题要解决,但浏 ...

  8. 【嵌入式Linux学习笔记】Linux驱动开发

    Linux系统构建完成后,就可以基于该环境方便地进行开发了,相关的开发流程与MCU类似,但是引入了设备树的概念,编写应用代码要相对复杂一点.但是省去了很多配置工作. 学习视频地址:[正点原子]STM3 ...

  9. TI OMAP平台BSP学习笔记之 - LCD 驱动(3)

    通过前面两个系列的学习,我们已经了解DSS系统,LCD基本原理,DSS设备树的配置等基本知识.本文简单学习和梳理LCD设备驱动的代码,方便项目中快速bring up和debug. 此系列文章基于TI的 ...

最新文章

  1. Print all attributes and values in a Javascript Object
  2. 工作流程怎么安排?用Edraw Max轻松创建工作流程图!
  3. QT学习-核心类列表-33、QtTest 34、QtUiTools
  4. 得到Js文件的绝对路径或相对路径的两法
  5. 大家注意:升级 win8.1 火狐浏览器 谷歌浏览器 搜狗五笔输入法 都不能用啦
  6. 宝贝,我帮你清了购物车哦!
  7. java哈希映射干什么的_java – 为什么在哈希映射中有空值或空键是有用的?
  8. 基于JAVA+SpringMVC+Mybatis+MYSQL的甜品店商城
  9. Java中实现对象的比较
  10. 华为鸿蒙os升级怎么升,华为鸿蒙OS2.0系统怎么升级
  11. IP通信基础 3.21
  12. 最新资源《机器学习图像算法与建模优化》免费开放下载!(含代码数据)
  13. 【OpenCV学习】准确定位帧
  14. 正商职业学校预付费云平台系统 的设计与应用
  15. java程序设计基础陈国君_Java程序设计基础(第6版)
  16. 深度linux软件中心 qq,ubuntu上安装QQ(包括多个软件安装方法)
  17. 路由协议Ⅰ(RIP、OSPF、IS-IS、IGP、BGP等)
  18. 第十五章 Caché WebSocket
  19. 【技美百人计划】图形 4.4 抗锯齿概论
  20. html+div+动画效果,html+css3太阳系行星运转动画效果的实现代码

热门文章

  1. Windows和Linux定时文件传输
  2. Win7设置WIFI后自动断开的解决方法
  3. 基于C语言的最优HSM状态机架构实现
  4. 使用some和any来表面数量_27
  5. 小程序+Java开发实现的健身器材预订系统
  6. php 小程序轮播图,微信小程序swiper组件构建轮播图代码分享
  7. 32导联 博睿康_直接脑控多机器人协作任务研究.PDF
  8. keil 结构体引用_结构体 自引用
  9. linux两个内核切换,用kexec迅速切换内核 | LinuxSir.Org
  10. android手机收不到彩信,小米4手机收不到彩信是什么原因?小米4彩信设置教程