学习笔记:固件和驱动的区别?
驱动和固件是经常会看到的字眼,尤其是在IoT设备的使用、安装过程中有时很容易搞糊涂,本文根据自己的理解对https://www.zhihu.com/question/22175660 驱动与固件的区别是什么? 进行了部分整理而成,如有误导,请见谅。
驱动和固件(firmware)本质上都是代码形式,前者侧重于为软件服务,后者侧重于为硬件服务;
驱动是操作系统和硬件的接口,固件是告诉硬件如何完成自己的工作;
驱动是调用硬件接口的一段程序,固件是初始化基本硬件的一段程序;所以驱动通常是固件功能上的一个子集;
驱动一般运行在操作系统上,由操作系统进行管理,而固件往往直接"固定"在硬件上,直接控制硬件;
eg1:利用打印机打印东西时:
驱动的作用就是告诉打印机,要打印什么。
固件则告诉打印机,要怎么执行操作(把纸弄上打印区,然后喷墨,从哪里出纸等)。
eg2. BIOS即为主板上的固件,功能 :上电 - 进入BIOS - 自检(检查设备是否正常等) - 初始化各个模块(内存以及加载其他必要的固件等) - 转移控制到系统启动程序。
学习笔记:固件和驱动的区别?相关推荐
- spring学习笔记01-BeanFactory和ApplicationContext的区别
spring学习笔记01-BeanFactory和ApplicationContext的区别 BeanFactory 和 ApplicationContext 的区别 BeanFa ...
- ASP.Net学习笔记006--Get和Post的区别
以前写的课程都没有附上源码,很抱歉! 课程中的源码可以加qq索要:1606841559 技术交流qq1群:251572072 技术交流qq2群:170933152 也可以自己下载: ASP.Net学习 ...
- 树莓派学习笔记——Linux I2C驱动说明
1.前言 [linux内核说明] 通常情况下,I2C设备由内核驱动控制,但是某些情况下I2C设备也可由用户空间控制.如果在用户空间控制I2C设备,需要访问/dev目录中所提供的接口,在使用I2C设备之 ...
- 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 ...
- linux2.6驱动学习笔记之字符驱动
1.字符驱动组成 1.1字符驱动的模块加载与卸载 //设备结构体模板 struct xxx_dev_t { struct cdev cdev; ...... }xxx_dev; 在字符驱动模块加载函数 ...
- Linux内核学习笔记之网卡驱动的详细分析:RTL8139
学习应该是一个先把问题简单化,在把问题复杂化的过程.一开始就着手处理复杂的问题,难免让 人有心惊胆颤,捉襟见肘的感觉.读Linux网卡驱动也是一样.那长长的源码夹杂着那些我们陌生的变量和符号,望而生畏 ...
- AM335x(TQ335x)学习笔记——GPIO关键驱动移植
或按照S5PV210学习秩序.我们首先解决的关键问题.TQ335x有六个用户按钮,每个上.下.剩下.对.Enter和ESC. 我想开始学习S5PV210当同一,写输入子系统驱动器的关键问题要解决,但浏 ...
- 【嵌入式Linux学习笔记】Linux驱动开发
Linux系统构建完成后,就可以基于该环境方便地进行开发了,相关的开发流程与MCU类似,但是引入了设备树的概念,编写应用代码要相对复杂一点.但是省去了很多配置工作. 学习视频地址:[正点原子]STM3 ...
- TI OMAP平台BSP学习笔记之 - LCD 驱动(3)
通过前面两个系列的学习,我们已经了解DSS系统,LCD基本原理,DSS设备树的配置等基本知识.本文简单学习和梳理LCD设备驱动的代码,方便项目中快速bring up和debug. 此系列文章基于TI的 ...
最新文章
- Print all attributes and values in a Javascript Object
- 工作流程怎么安排?用Edraw Max轻松创建工作流程图!
- QT学习-核心类列表-33、QtTest 34、QtUiTools
- 得到Js文件的绝对路径或相对路径的两法
- 大家注意:升级 win8.1 火狐浏览器 谷歌浏览器 搜狗五笔输入法 都不能用啦
- 宝贝,我帮你清了购物车哦!
- java哈希映射干什么的_java – 为什么在哈希映射中有空值或空键是有用的?
- 基于JAVA+SpringMVC+Mybatis+MYSQL的甜品店商城
- Java中实现对象的比较
- 华为鸿蒙os升级怎么升,华为鸿蒙OS2.0系统怎么升级
- IP通信基础 3.21
- 最新资源《机器学习图像算法与建模优化》免费开放下载!(含代码数据)
- 【OpenCV学习】准确定位帧
- 正商职业学校预付费云平台系统 的设计与应用
- java程序设计基础陈国君_Java程序设计基础(第6版)
- 深度linux软件中心 qq,ubuntu上安装QQ(包括多个软件安装方法)
- 路由协议Ⅰ(RIP、OSPF、IS-IS、IGP、BGP等)
- 第十五章 Caché WebSocket
- 【技美百人计划】图形 4.4 抗锯齿概论
- html+div+动画效果,html+css3太阳系行星运转动画效果的实现代码
热门文章
- Windows和Linux定时文件传输
- Win7设置WIFI后自动断开的解决方法
- 基于C语言的最优HSM状态机架构实现
- 使用some和any来表面数量_27
- 小程序+Java开发实现的健身器材预订系统
- php 小程序轮播图,微信小程序swiper组件构建轮播图代码分享
- 32导联 博睿康_直接脑控多机器人协作任务研究.PDF
- keil 结构体引用_结构体 自引用
- linux两个内核切换,用kexec迅速切换内核 | LinuxSir.Org
- android手机收不到彩信,小米4手机收不到彩信是什么原因?小米4彩信设置教程