固件定义:
固件(Firmware)就是写入EROM(可擦写只读存储器)或EEPROM(电可擦可编程只读存储器)中的程序。
固件是指设备内部保存的设备“驱动程序”,通过固件,操作系统才能按照标准的设备驱动实现特定机器的运行动作,比如光驱、刻录机等都有内部固件。
固件担任着一个系统最基础最底层工作的软件。而在硬件设备中,固件就是硬件设备的灵魂,因为一些硬件设备除了固件以外没有其它软件组成,因此固件也就决定着硬件设备的功能及性能。
驱动定义:
驱动程序即添加到操作系统中的一小块代码,其中包含有关硬件设备的信息。有了此信息,计算机就可以与设备进行通信。驱动程序是硬件厂商根据操作系统编写的配置文件,可以说没有驱动程序,计算机中的硬件就无法工作。
驱动和固件(firmware)都是代码,前者为软件服务,后者为硬件服务。
Hardware: 硬件
Firmware: 固化到硬件中的程序
Software: 一般指驱动和应用软件,不用固化到硬件中的
******************************************************************************************************************************************
hardware一般是硬件电路板
Firmware是固化在了硬件(ROM、FLASH)中的软件, Firmware功能上有点类似于主板上BIOS,同样在开机过程中,系统会先读取其内部的硬件设备初始化信息,使 操作系统 能够正确识别硬件,并为其他软件的运行提供最基本的依据,有些USB等设备上,也固化有软件
******************************************************************************************************************************************
三者关系结构图如下:
----------------------------------
applications
----------------------------------middleware
OS(driver/kernel/utility)
----------------------------------firmware
Hardware
----------------------------------
设备
驱动
程序是一种特定形式的
软件
程序,旨在实现与硬件设备的交互。没有所需的设备
驱动
程序,相应的硬件设备将无法工作。
驱动
程序通常通过与硬件连接的通信子系统或计算机总线与硬件通信。设备
驱动
程序是与操作系统和硬件相关的。设备
驱动
程序充当硬件设备与使用它的程序或操作系统之间的转换器。
固件
是一种永久蚀刻在硬件设备(如键盘,硬盘
驱动
器,BIOS或视频卡)中的
软件
程序。它被编程为提供永久指令来与其他设...
驱动
和
固件
是经常会看到的字眼,尤其是在IoT设备的使用、安装过程中有时很容易搞糊涂,本文根据自己的理解对https://www.zhihu.com/question/22175660
驱动
与
固件
的
区别
是什么? 进行了部分整理而成,如有误导,请见谅。
嵌入式开发与传统单片机开发
区别
?如果面试遇到这样的问题:
三个问题的答案一致。
答:我认为嵌入式
软件
与非嵌入式
软件
(设备
驱动
开发与裸机
驱动
开发/嵌入式开发与传统单片机开发)的最大的
区别
就是有无操作系统。对于无操作系统的开发:
应用
软件
与
驱动
的耦合度过高,一旦硬件发生变化那么相对应的
驱动
也会发生变化,紧接着应用程序也需要
做硬件形式化验证调研时,发现有从Firmware、Hardware和Software角度考虑芯片建模和验证的。之前只是听说过Firmware的叫法,这次想着查一下资料,完全弄明白它和hardware的
区别
。
目录
驱动
driver
固件
firmwarefirmware 出现的背景为什么还需要
驱动
什么是 firmware如何将
固件
写入到硬件
区别
与联系参考
驱动
driver
Driver是控制被操作系统管理的外部设备(Device)的代码段。很多时候Driver会被实现为LKM,但这不是必要条件。
driver通过driver_register()注册到总线(bus_type)上,代表系统具备了
驱动
某种设备(device)的能力。当某个device被注册到同样的总线的时候(通常是总线枚举的时候发现了这个设备),总线
驱动
链接:https://www.zhihu.com/question/22175660/answer/20547502
来源:知乎
驱动
和
固件
(firmware)都是代码,前者为
软件
服务,后者为硬件服务。在操作系统概念还不明确的时代,二者是没有明显
区别
的。但是随着计算机体系结构的发展,硬件的种类开始变多,操作系统的种类也变多了。这个时候,因为各种技术的、商业的原因,硬件厂商希望自己的硬件能被更多的
软件
厂商使用,所以就需要在硬件之上做一些封装,让自己的硬件操纵起来更容易,这个时候就要有firmwa
大家好,我是良许。
不管我们使用什么操作系统,无论是 Windows、macOS 还是 Linux ,里面都安装了许多
软件
、
驱动
程序和
固件
。但是,这三者概念有
区别
呢?
我在朋友圈做了个小调查,发现居然很多人不清楚他们的关系,因此写下此文来给大家做个简单的科普。
文字描述太抽象了,我们直接来看漫画吧。
固件
(firmware)是一种写入硬件设备的
软件
,作用是对应用和各项系统功能实时控制。
固件
中包含底层代码,这些代码能实现
软件
对硬件的操作。运行
固件
的设备称为嵌入式系统,嵌入式系统的硬件资源在存储能力以及内存等方面往往具有诸多限制。举例来说,智能手机、智能终端、交通信号灯、无人机、机顶盒都是运行
固件
的嵌入式设备。
固件
通常由bootloader、内核、根文件系统及其他资源组成。根据嵌入式linux、嵌入式windows(WinCE)、windowsIOT内核及各种实时操作系统(RTOS)的
区别
,
固件
图形界面风格依发布版本不同而不同,可能互不兼容。GNU/Linux的终端机是从UNIX传承下来的,基本命令和操作方法也几乎一致
界面统一,外壳程序固定所有Windows程序菜单几乎一致,快捷键也几乎相同
由志愿者开发,由Linux核心开发小组发布,很多硬件厂商基于版权考虑并未提供
驱动
...
来源知乎:http://www.zhihu.com/question/22175660
驱动
和
固件
(firmware)都是代码,前者为
软件
服务,后者为硬件服务。在操作系统概念还不明确的时代,二者是没有明显
区别
的。但是随着计算机体系结构的发展,硬件的种类开始变多,操作系统的种类也变多了。这个时候,因为各种技术的、商业的原因,硬件厂商希望自己的硬件能被更多的
软件
厂商使用,所以就需要在硬件之上做一些封装,让