嵌入式系统是一个应用计算机系统,有别于其他类型的计算机系统,如个人计算机(PC)或超级计算机。然而,你会发现"嵌入式系统"的定义是易变的,很难明确,这是因为随着技术的进步以及实现各种硬件与软件组件的成本显著降低,嵌入式系统在不断地发展演化。近年来,嵌入式系统领域已经超出了许多对其的传统描述。因为读者很可能会见到某些传统的描述和定义,所以重要的是理解这些描述和定义背后的道理,以及为什么它们在今天可能仍然是准确的或者可能不再是准确的,并且能够有见识地讨论它们。以下是嵌入式系统的一些较为常见的描述。3 V% k# x# A' Q& D) f7 v
9 \5 u" R: f5 Z% [1 v j+ ^4 i% T嵌入式系统设计 ; n. }8 D* X7 y! ]& v当从系统工程的观点着手嵌入式系统体系结构设计时,可以应用若干个模型来描述嵌入式系统设计的周期。这些模型的大多数基于如下开发模型中一个或几个的组合【1-5】∶ 5 J6 e7 h4 q; |' l0 _" A1.宇宙大爆炸(big-bang)模型,在这一模型中,在开发一个系统之前或者在开发过程中,基本上没有安排好的规划或工作程序。& i: j8 p) x3 s
2.编码与改错(code-and-fix)模型,在这一模型中,定义了产品需求,但是在开始开发之前没有安排好正式的工作程序。 ) N( O3 a& a8 W4 s3.瀑布 (wateRFall)模型,在这一模型中,存在一个按步骤开发系统的工作程序,其中一个步骤的结果流入下一个步骤。6 ^2 X; M3 W* H" N: u* n
4.螺旋(spiral)模型,在这一模型中,存在一个按步骤开发系统的工作程序,并且贯穿各个步骤获取反馈并加入到工作程序之中。 2 `9 |9 i% w# K0 w+ @' m& `( g& F0 B6 J- b. V5 \1 p
嵌入式系统体系结构简介 ) c2 Z* I- E o) @+ X9 _0 l嵌入式系统的体系结构(architecture)是对嵌入式设备的一种抽 象(abstraction),这意味着体系结构是系统的泛化,它通常不体现具体的实现信息,例如软件源代码或硬件电路设计。在体系结构层次中,一个嵌入式系统的硬件和软件组件表示为相互作用的要素(element)的某种组合。要素是硬件或软件的表示,它们的实现细节被抽象掉了,只留下行为和相互关系的信息。体系结构的要素可以集成于嵌入式设备内部,或者存在于嵌入式系统外部并且与内部的要素相互作用。简而言之,嵌入式体系结构包括嵌入式系统的要素、与嵌入式系统相互作用的要素、每个要素的属性以及要素之间相互作用的关系。- @( a. W# y* k
体系结构层次的信息在物理上表示为结构(structure)形式。结构是体系结构的一种可能的表示,包含它自己的一组被表示的要素、属性和相互关系的信息。因此结构是在设计时或者在运行时,在给定一个特殊的环境和给定一组要素的条件下,系统的硬件和软件的一个"快照"。由于一个"快照"很难捕获系统的全部复杂状态,所以体系结构通常由多个结构组成。一个体系结构内部的所有结构内在地相互联系,并且所有这些结构的总和就是一个设备的嵌入式体系结构。表1-2总结了可以构成嵌入式体系结构的一些最常见的结构,并且一般性地显示了一个特殊结构的要素表示的是什么以及这些要素如何相互联系。表1-2引【入了后面将要定义和讨论的概念,同时还演示了各种体系结构性结构(architectural structure),它们可以用来表示一个嵌入式系统。体系结构以及它们的结构将在第11章详细讨论,包括它们如何相互联系,如何创建一个体系结构,等等。1 `, S1 j8 w c! J A