【发布时间】:2020-04-03 07:07:04
【问题描述】:
我正在寻找固件和嵌入式软件之间的真正区别。
在互联网上,它是为固件编写的,固件是一种嵌入式软件,反之亦然。除了经典的 BIOS 示例之外,它非常古老。
它们都在非易失性内存中运行。一个区别是嵌入式软件,例如具有 rtos 和文件系统并且可以在 RAM 上运行的应用程序编程。
如果我不使用 rtos 和 RAM,而只使用闪存,这意味着我的嵌入式软件是固件,这是真的吗?
真正影响内存布局的是什么。
网上的回答都是缺乏技术解释,不满意。
非常感谢。
【问题讨论】:
-
这些术语没有正式的定义。固件通常只是意味着存储在 NVM 中的东西,使其“牢固”。
-
是的,你是对的,但是包括固件在内的所有嵌入式软件都使用 NVM,有些使用 eeprom,有些使用闪存。真的很难理解它们是这样的层次结构:Hardware->Firmware->Embedded Software
-
我认为不同的术语出现在有多层的项目中。例如,一部手机将有应用程序 + 操作系统,但也有大量的固件驱动程序来处理无线电传输、记忆、屏幕 + 触摸等。
-
谢谢这是具体的例子,那么我可以说嵌入式系统由固件和高级软件组成。从固件的角度来看,它被认为是非常低级的任务,比如它的微型 eeprom 中的信号处理处理器?好吧,通过您的示例,固件具有联合结构或集成结构的一部分。
-
不,嵌入式系统不一定包含两者。它可能只是固件,即裸机。像这样的术语并不重要。
标签: language-agnostic embedded firmware flash-memory eeprom