Firmware固件是什么,与硬件、软件的区别
·
从字面上来理解,固件(firmware)本质上是烧录、固化在硬件芯片内部存储器里的底层小程序,用来控制硬件本身的行为【即硬件的内置小脑】(也就是特殊的底层软件,但是我们习惯把硬件、固件、软件区分来看)
固件存储在ROM里(Flash、ROM、OTP、EERPOM里),断电程序不消失
通俗比喻:
| 硬件 | 身体 |
| 固件 | 身体天生的本能、基础运动控制,出场内置使得可以行动 |
| 软件 | 给身体下达的任务,如“倒水、扫地”等上层指令 |
精确:
- 硬件:看得见摸得到的物理实体,如ISP图像处理芯片、CPU、电路板、传感器、SSD硬盘、蓝牙模块等等。特点是物理器件,本身不会执行任何逻辑
- 固件:存在于硬件芯片内部,直接操控硬件寄存器的底层代码。一般我们成为xx固件,如路由器固件、SSD固件、蓝牙芯片固件等
- 软件:软件的概念很宽泛。其指运行在主处理器(CPU)上,向硬件发送任务的程序,也就是我们常说的相机APP、微信以及各种操作系统等
三者层级关系:
上层应用软件(相机APP)
↓
操作系统 + 设备驱动(软件层)
↓
固件 Firmware(芯片内置底层程序)
↓
硬件 Hardware(寄存器、电路、运算单元)
链路为 app下发指令->驱动->固件->硬件执行相应动作
软件和固件的关系:
软件需要经过驱动调用固件提供的接口才能去让硬件干活(驱动属于软件层、操作系统也属于软件层)
固件和硬件的关系:
没有固件芯片硬件就无法启动,固件也无法脱离对应的硬件单独运行
openEuler 是由开放原子开源基金会孵化的全场景开源操作系统项目,面向数字基础设施四大核心场景(服务器、云计算、边缘计算、嵌入式),全面支持 ARM、x86、RISC-V、loongArch、PowerPC、SW-64 等多样性计算架构
更多推荐


所有评论(0)