来源:https://baike.baidu.com/item/%E5%9B%BA%E4%BB%B6/627829

固件

 
固件(Firmware)就是写入EPROM(可擦写可编程只读存储器)或EEPROM(电可擦可编程只读存储器)中的程序。
固件是指设备内部保存的设备“驱动程序”,通过固件,操作系统才能按照标准的设备驱动实现特定机器的运行动作,比如光驱、刻录机等都有内部固件。
固件是担任着一个系统最基础最底层工作的软件。而在硬件设备中,固件就是硬件设备的灵魂,因为一些硬件设备除了固件以外没有其它软件组成,因此固件也就决定着硬件设备的功能及性能。
 
中文名
固件
外文名
Firmware
属    于
计算机软件
应    用
硬件设备

固件工作原理

编辑

固件(firmware)一般存储于设备中的电可擦除只读存储器EEPROM(Electrically Erasable Programmable ROM)或FLASH芯片中,一般可由用户通过特定的刷新程序进行升级的程序。一般来说,担任着一个数码产品最基础、最底层工作的软件才可以称之为固件,比如计算机主板上的基本输入/输出系统BIOS(Basic Input/output System),在以前其实更多的专业人士叫它固件。
通常这些硬件内所保存的程序是无法被用户直接读出或修改的。在以前,一般情况下是没有必要对固件进行升级操作的,即使在固件内发现了严重的Bug也必须由专业人员带着写好程序的芯片把原来机器上的更换下来。早期固件芯片一般采用了ROM设计,它的Firmware代码是在生产过程中固化的,用任何手段都无法修改。随着技术的不断发展,修改固件以适应不断更新的硬件环境成了用户们的迫切要求,所以,可重复写入的可编程可擦除只读存储器EPROM(Erasable Programmable ROM),EEPROM和flash出现了。这些芯片是可以重复刷写的,让固件得以修改和升级。
 

固件技术性能

编辑

固件可以说是神经中枢,也可以称作COMBO的操作系统,它包括很多模块:驱动、控制、解码、传送、检测……,只有在它的控制下COMBO才能正常工作。同时,固件还带有许多附加功能,如纠错技术、安全刻录技术、播放控制技术等。   

固件(2张)

实际上,COMBO光驱固件中的关键技术就是对各种盘片的识别,而这是通过识别CD、CD-R(W)和DVD盘片在数据凹槽的密度与盘片的化学层的不同完成的。当把盘片放入光驱中,光驱收到操作命令后,含有固件的控制芯片会发出指令,激光头根据指令依次发出DVD读取、CD-ROM读取以及CD-R写入、CD-RW擦写的四种激光试探,如果收到反馈则判断它是何种类别的盘片。按照这一操作程序,一般DVD-ROM盘片需要一次识别,CD盘片需要两次识别,而CD-R和CD-RW则要经过三次。很显然,固件的制作水平决定着COMBO光驱的质量。

由COMBO光驱中可以看出,硬件设备的固件与它的硬件有着几乎相等的地位,而在某些程度上来说固件可能更重要一些。因为只有编写出出色的固件程序才可以更加充分、巧妙的发挥硬件的作用,而且优秀的固件还可以弥补一些硬件上的缺陷。

固件应用

编辑

哪些数码设备有固件
其实任何数码设备都有固件,只是我们有时忽略它的存在而已。
先举一些常见的例子:手机、数码相机、mp3、mp4路由器、电子书、交换机、猫、PSPPS3NDSXBOXU盘、主板、打印机的BIOS(BIOS就是一种固件)、显卡的BIOS。
以上产品的固件也许略有耳闻。但下面设备的固件很多人就没听说过了。
鼠标、显示器、光驱、硬盘、键盘、数码卫星接收器、GPS终端、精密的电子仪器(比如核磁共振仪)等等。
固件既然是软件,就有大小之分。大的可有几百兆,小的也许只有几K,甚至不足1K。
为什么很多设备都没听说过有固件的说法呢?因为有些设备,在硬件上会出问题,而在软件上(即固件)永远都不会出问题,而且这些固件对于普通用户是无法更新的(或者更新的技术难度比较大)。它距离我们太遥远,所以被我们忽略掉而已。
对于独立可操作的电子产品,固件一般指它的操作系统(“担任着一个数码产品最基础、最底层工作的软件才可以称之为固件”,这和操作系统的定义很一致)。比如PSP的固件,就是指PSP 的操作系统。同理,IPHONE的固件也是其操作系统,路由器的固件就是路由器的操作系统,MP4的固件就是MP4的操作系统等。
而对于非独立的电子产品,比如硬盘、鼠标、BIOS、光驱、U盘等设备,固件就是指其最底层的,让设备得以运行的程序代码。

固件产品升级

编辑

虽然以“固件”为名,但不管怎么说,它还是应当被我们理解为软件,并且由于目前集成电路的进步,升级固件也变得越来越简单,越来越没有危险,固件程序与我们通常所说的程序的区别已经越来越小。
在早期,升级固件主要是为了解决一些Bug及兼容性问题。而随着信息时代的来临,厂商的设计很难全面的满足客户需求,更多的厂商把升级固件提供更多更新的功能做为附加值来提供给用户。因此,我们可以对固件升级做以下总结:
1.在产品发布之后,厂家对Firmware作了进一步的优化和创新,使之能以更佳的状态工作。进行固件升级后,可以带来性能上的提升。
2.产品在生产出来之后,随着周围所使用的软、硬件环境的改变及更新,产品对于许多新的硬、软件将有可能出现不兼容现象。厂家通过更新Firmware文件,使硬件能兼容更多、更新的软、硬件,不断增强产品的兼容性。
3.在原有的硬件基础上,厂家开发出了新的功能,对于原有的产品,只须更新Firmware就可以增加新的功能。
4.对于任何已生产的软、硬件,都有可能存在一些缺陷,所以,厂家可以通过更新Firmware来修正以前版本中存在的错误、漏洞或不足。

固件方法步骤

固件升级,有时也称固件刷新,刷写,重写,烧录或刷机,是指把新的固件写入芯片中,代替原有的固件的过程。

固件一般流程

因为数码产品家族庞大,其固件的种类也是数不胜数的。每种数码产品的固件升级的方法都是不同的。因此没有固定的教程给大家。
这里只给出比较通用的思路。
1.从官网下载新的固件版本以及固件升级软件,保存至电脑。
2.把需要刷新的设备连接电脑。
4.用刷新工具载入新的固件,点击刷新,等待完成。
5.关闭刷新程序,刷新结束。

固件注意事项

虽然升级很简单,但是还是有些要点应该注意,因为毕竟升级固件是有一定风险性的,所以在升级前和升级中,要谨慎小心。
1.从设备的官网上阅读升级固件的教程。官网一般会有详细的说明。
2.固件文件和刷新固件的程序一定要从官方或者可信度高的论坛下载,不能从小网站下载,且一定要和待刷新的硬件型号完全吻合。
3.备份原有的固件,这可以防止在升级错误或者不满意新版固件时回退到原有版本。
4.保存新的固件文件,虽然多数产品都可以实现网络直接升级,但下载到计算机上再升级的可靠性要高得多。
5.关闭其他软件,为防止升级过程受到其它软件的干扰,最好暂时关闭不需要的软件,特别是杀毒软件。
6.在整个刷新过程中,绝对不可以断电,通常断电设备会损坏,需要送回原厂刷机。
7.在升级之前,禁用系统的屏幕保护及电源管理。
PS:本篇文字仅适用于一般情况。特殊情况除外。比如:PSP刷机,主要的目的是破解。破解固件的刷写不可能在官网上找到任何说明和下载。IPHONE的刷机也是如此。MOTO E680系的手机官网上是没有任何刷机说明的。另外刷机不一定要在WIN下刷。刷BIOS,在DOS下更为安全。有些设备本身有刷新工具,不需要额外在电脑上安装刷新工具。只要把高版本的固件下载好,设备会引导用户刷新。
词条图册 更多图册
词条图片(2)
固件(2)

固件(Firmware)的更多相关文章

  1. 在内核中异步请求设备固件firmware的测试代码

    在内核中异步请求设备固件firmware的测试代码 static void ghost_load_firmware_callback(const struct firmware *fw, void * ...

  2. 国产芯片任重道远 国科微SSD主控芯片的“追赶之路”(不能只提供一颗芯片,而是要将芯片、国密算法、固件Firmware、BIOS和操作系统紧密联系在一起,变成完整解决方案交给行业用户,才能真正体现自身的价值)

    集微网消息,“中国芯”战略之路道阻且长,踏入这个赛道的攻坚者们需要十年如一日的技术突破,需要集合产业势能,共同协作,方能建立中国核心技术真正的竞争力. 国产化之路任重道远,SSD芯片初见成效 信息时代 ...

  3. pixhawk 固件Firmware内执行make px4fmu-v2_default 编译报错解决办法

    执行下列指令报错 make px4fmu-v2_default /bin/sh: 1: Tools/check_cmake.sh: Permission denied Makefile:44: Not ...

  4. 让Linux下的打印机hp1020、hp p1008自动加载固件

    前言: 前段时间,处理公司打印机服务器Linux化工作.遇到问题如下:hp1020.hp1008断电后不能继续打印.而其他打印机在连接Linux打印机的情况下,断电后也能正常打印. 鉴于此情况,我搜寻 ...

  5. 嵌入式Linux驱动和固件有何区别?供应商是如何用固件压缩成本的?

    作为一个驱动开发者, 你可能发现你面对一个设备必须在它能支持工作前下载固件到它里面. 硬件市场的许多地方的竞争是如此得强烈, 以至于甚至一点用作设备控制固件的 EEPROM 的成本制造商都不愿意花费. ...

  6. Linux 设备驱动的固件载入

    作为一个驱动作者, 你可能发现你面对一个设备必须在它能支持工作前下载固件到它里面. 硬件市场的很多地方的竞争是如此得强烈, 以至于甚至一点用作设备控制固件的 EEPROM 的成本制造商都不愿意花费. ...

  7. Simotion CF卡 固件下载地址及制作方法

    SIMOTION D - Firmware (Kernel) 固件下载地址 支持中心ID:31045047 https://support.industry.siemens.com/cs/docume ...

  8. Linux 设备驱动的固件加载【转】

    转自:http://blog.csdn.net/zqixiao_09/article/details/51106663 版权声明:本文为博主原创文章,未经博主允许不得转载. 作为一个驱动作者, 你可能 ...

  9. Openwrt:mtd/mtd_write烧写固件

    文章目录 1 查看当前系统分区信息 2 备份固件firmware 3 恢复固件firmware 4 备份恢复Openwrt路由器配置 5 恢复Openwrt路由器默认设置 6 刷新路由器固件 比较简单 ...

随机推荐

  1. Sequence (矩阵快速幂+快速幂+费马小定理)

            Holion August will eat every thing he has found. Now there are many foods,but he does not wa ...

  2. 分数运算(gcd)

    时间限制 1000 ms 内存限制 32768 KB 代码长度限制 100 KB 判断程序 Standard (来自 小小) 题目描述 计算机中采用浮点数表示所有实数,但这意味着精度丢失.例如无法精确 ...

  3. 发送信息到邮箱的第三方扩展库PHPMailer使用方法

    一.下载 使用composer下载PHPMailer :composer require phpmailer/phpmailer 二.使用实例 use PHPMailer\PHPMailer\PHPM ...

  4. codewars贪吃蛇算法题目

    有这样一个题目: Given an n x n array, return the array elements arranged from outermost elements to the mid ...

  5. 05_Python的文件操作

    1.文件操作概述 # 文件是用于数据存储的单位通常用来长期存储设置,文件中的数据是以字节为单位进行顺序存储的     1.打开文件: f = open("xxx") 或 with ...

  6. [Java]取得当前代码所在函数的函数名

    要取得当前运行代码的函数名,可以用: Thread.currentThread().getStackTrace()[1].getMethodName(); 但是,这行代码有些过长,嵌入业务代码稍显突兀 ...

  7. JVM执行子程序

    Class文件结构 计算机只认识0和1,这个称之为本地机器NativeCode Jvm的无关性 与平台无关性是建立在操作系统上,虚拟机厂商提供了许多可以运行在各种不同平台的虚拟机,它们都可以载入和执行 ...

  8. python模块:excel的读和修改xlrd/xultils

    一.xlrd xlrd只能对excel进行读取,不可编辑修改.该模块属于第三方模块,需要安装模块包并引入.pip install xlrd 常用的方法: import xlrd book = xlrd ...

  9. python代码开发规范

    https://github.com/libo-sober/LearnPython/tree/master/day18 为什么要有模块? 拿来主义,提高开发效率. 便于管理维护. 什么是脚本呢? 脚本 ...

  10. 按正常步骤对github的仓库进行push自己本地的代码提示push rejected

    按正常步骤对github的仓库进行push自己本地的代码提示push rejected. 大概原因是:初始化项目时,远程仓库我建了README.md文件,而本地仓库与远程仓库尚未进行文件关联,因此需要 ...