嵌入式固件:从起源到发展的全面解析
1. 嵌入式系统设计与固件定义
早期嵌入式系统硬件与软件紧密耦合,这种模式逐渐成为硬件创新的瓶颈。后来引入的开放系统设计概念,定义了嵌入式系统的分层方法,将与硬件交互的层从操作系统中分离出来,使操作系统的设计更具通用性和硬件中立性。
目前,由于缺乏开放系统设计概念,对嵌入式设备的研究默认采用紧密耦合的系统设计。然而,对于大多数现代嵌入式设备来说并非如此。
固件定义常被误解。IEEE 610.12 - 1990 中流行的定义“硬件设备与驻留在该设备上的只读软件形式的计算机指令和数据的组合”,在早期电子设备中基本正确,但不适用于现代嵌入式设备。现代嵌入式设备中,固件的范围非常广泛,稳定性和安全性的基础平台高度依赖固件层的可信度。“微小”和“只读”这些术语在定义现代嵌入式系统中固件的实际范围时往往具有误导性。
更好的固件定义是:“固件:在将控制权交给操作系统之前,负责执行底层硬件初始化的重要代码。”美国国家标准与技术研究院(NIST)对计算机系统平台固件特别关注,并发布弹性指南,帮助组织更好地应对潜在的破坏性安全攻击,检测授权更改,并确保从攻击中安全恢复。
2. 吸引人才投身固件领域
防止固件在未来成为一门失传技艺的最佳方法是吸引有热情的工程师投身嵌入式领域。优秀的工程师总是寻求专业化和发展,嵌入式系统编程技能在计算机领域被认为是十大高薪工作之一。
固件自诞生以来的几十年里,对最终用户一直保持价值中立。固件工程师需维持这一状态,因为当固件难以使用、存在安全问题或性能不佳时,其价值可能变为负面;而当用户高度关注并依赖固件解决方案时,其价值为正,但过度依赖也并非好事。因此
超级会员免费看
订阅专栏 解锁全文
24

被折叠的 条评论
为什么被折叠?



