嵌入式系统的硬件必须根据具体的应用任务,以功耗,成本,体积, 可靠性,处理能力等
为指标来选择。嵌入式系统的核心是系统软件和应用软件,由于存储空间有限,因而要求
软件代码紧凑,可靠,大多对实时性有严格要求。
早期的嵌入式系统设计方法,通常是采用“硬件优先”原则。即在只粗略估计软件任
务需求的情况下,首先进行硬件设计与实现。然后,在此硬件平台之上,再进行软件设计。
因而很难达到充分利用硬件软件资源,取得最佳性能的效果。同时,一旦在测试时发现问
题,需要对设计进行修改时,整个设计流程将重新进行,对成本和设计周期的影响很大。
这种传统的设计方法只能改善硬件/软件各自的性能,在有限的设计空间不可能对系统做出
较好的性能综合优化,在很大程度上依赖于设计者的经验和反复实验。
90 年代以来随着电子系统功能的日益强大和微型化,系统设计所涉及的问题越来越
多,难度也越来越大。同时硬件和软件也不再是截然分开的两个概念,而是紧密结合、相
互影响的。因而出现了软硬件协同(codesign)设计方法,即使用统一的方法和工具对软件
和硬件进行描述、综合、和验证。在系统目标要求的指导下,通过综合分析系统软硬件
功能及现有资源,协同设计软硬件体系结构,以最大限度地挖掘系统软硬件能力,避免由
于独立设计软硬件体系结构而带来的种种弊病,得到高性能低代价的优化设计方案。
为指标来选择。嵌入式系统的核心是系统软件和应用软件,由于存储空间有限,因而要求
软件代码紧凑,可靠,大多对实时性有严格要求。
早期的嵌入式系统设计方法,通常是采用“硬件优先”原则。即在只粗略估计软件任
务需求的情况下,首先进行硬件设计与实现。然后,在此硬件平台之上,再进行软件设计。
因而很难达到充分利用硬件软件资源,取得最佳性能的效果。同时,一旦在测试时发现问
题,需要对设计进行修改时,整个设计流程将重新进行,对成本和设计周期的影响很大。
这种传统的设计方法只能改善硬件/软件各自的性能,在有限的设计空间不可能对系统做出
较好的性能综合优化,在很大程度上依赖于设计者的经验和反复实验。
90 年代以来随着电子系统功能的日益强大和微型化,系统设计所涉及的问题越来越
多,难度也越来越大。同时硬件和软件也不再是截然分开的两个概念,而是紧密结合、相
互影响的。因而出现了软硬件协同(codesign)设计方法,即使用统一的方法和工具对软件
和硬件进行描述、综合、和验证。在系统目标要求的指导下,通过综合分析系统软硬件
功能及现有资源,协同设计软硬件体系结构,以最大限度地挖掘系统软硬件能力,避免由
于独立设计软硬件体系结构而带来的种种弊病,得到高性能低代价的优化设计方案。