Fli*_*mzy 27
固件是软件运行在设备上。驱动程序是告诉操作系统如何与设备通信的软件。并非所有设备都有固件——只有具有某种程度智能的设备。
我不太确定你的意思......一般来说,固件与“启动”无关......我想也许你要问的是,带有固件的设备是否总是在设备上安装固件,或者它是在启动时间后加载的。如果这就是你要问的,答案是否定的...
最常见的是,带有固件的设备将固件编程到设备中(使用 ROM 芯片或可编程 ROM 芯片),但也有一些设备在初始化时将固件加载到设备中。我可以想到一些以这种方式运行的网卡和网络摄像头,但我相信还有其他的。
固件的现代定义或常见用法与特定软件功能无关。固件只是存储在非易失性半导体存储器(例如 PROM、EEPROM 或闪存)芯片中的软件,而不是诸如硬盘驱动器之类的大容量存储设备。存储的软件可以是一个整体链接的二进制文件,或者由加载程序、内核和应用程序模块组成。(OTOH 我见过一些用于 PC 的电视调谐卡,它们需要 Linux 内核加载“固件”才能完成初始化。)
该术语的起源与处理器控制逻辑与硬连线逻辑有关。存储在硬盘驱动器上的软件可以轻松修改和更新。硬连线逻辑的修订和更新需要电路板或模块的重新设计和更换。中间地带是处理器执行软件来控制硬件。该软件被称为公司洁具以反映之间的中间地带软洁具与硬接线逻辑。最初,固件存储在 ROM、PROM 或 EPROM 芯片中,以保持板卡模块化。EEPROM 和闪存芯片的进步允许固件的在线和板载更新。
随着处理器(和外围设备)变得更小、更便宜且耗电更少,将它们嵌入到各种设备/设备中的可能性不断扩大。为了使操作这些设备的软件坚固耐用,软件存储在闪存芯片而不是硬盘驱动器中;它还使设备更小,更便宜。术语固件已扩展为包含具有嵌入式处理器的设备/电器中的所有软件,即使存储代码的某些部分可能与替换硬连线逻辑无关。
最近有人发布了这个问题,说:
固件是持久内存、程序代码和存储在其中的数据的组合。包含固件的设备的典型示例是嵌入式系统,例如交通灯、消费电器、数字手表、计算机、计算机外围设备、移动电话和数码相机。这些设备中包含的固件为设备提供控制程序。
其实SuperUser的drivers
标签是这样定义的:
驱动程序,也称为设备驱动程序或软件驱动程序,是允许更高级别的计算机程序与硬件设备交互的软件。当计算机程序请求与某个硬件设备交互时,驱动程序将处理设备与调用驱动程序的计算机程序之间的指令和输出转换。
并且,firmware
标签定义为:
一般来说,软件和固件之间的区别在于它与硬件交互的级别。固件在硬件的极低级别进行交互,而软件在高级别进行交互。固件通常控制硬件的基本时序、控制和功能。
最初我认为它firmware
是直接安装到芯片或板上并住在那里的,这就是为什么它必须被“闪存”,而你会driver
在操作系统的顶部安装一个。
结论:
Firmware
允许硬件“做”事情,并drivers
允许软件与硬件交互。
归档时间: |
|
查看次数: |
52339 次 |
最近记录: |