一般来说,嵌入式系统是“执行专用功能并被内部计算机控制的设备或者系统,嵌入式系统不能使用通用型计算机,而且运行的是固化的软件,用术语表示就是固件(firmware),终端用户很难或者不可能改变固件.”
有技术概念的人么理解上面的定义应该没有问题,但是对非技术领域的人们来说可能存在一些障碍,一个更简单的定义是:“嵌入式系统就是包含了用户所不知晓的计算机的设备.”
但是,甚至这个定义也需要某些解释,首先,大多数非IT人士对计算机的概念就是一个米色的贴着“Intel-Inside”标签的盒子,嵌入式计算机的发行量远远高于基于Intel-x86/Pentium的台式PC的发行量,Intel或许“inside”,但是嵌入式系统却是无处不在。
人们很少会意识到他们往往随身携带了好几个嵌入式系统――手机、手表或者智能卡都嵌有它们,而且他们在与汽车、电梯、厨房设备、电视、录像机以及娱乐系统的嵌入式系统交互时也往往对此毫无觉察。嵌入式系统在工业机器人、医药设备、电话系统、卫星、飞行系统等领域扮演了一个更为重要的角色。正是“看不见”这一个特性嵌入式计算机与通用PC计算机相区分。
嵌入式体系结构
作为一名技术人员,你可能想从体系的角度来定义嵌入式系统。尽管绝大多数嵌入式系统是用户针对特定任务而定制的,但它们一般都是由下面几个模块组成的:
一台计算机或者微控制器,字长可能是可怜的4位或者8位、16位、32位甚至是64位,用以保存固件的ROM(非挥发性只读存储器)。
用以存程序数据的RAM(挥发性的随机访问存储器)。
连接微控制器和开关、按钮、传感器、模数转化器、控制器、LED(发光二极管)和显示器的I/O端口。
一个轻量级的嵌入式操作系统,一般是自行编写的。
专门的单片微控制器是大多数嵌入式系统的核心。通过把若干个关键的系统组成部分集成到单个芯片上,系统设计者就可以得到小而便宜、可以操作较少外围电子设备的计算机。
嵌入式系统的一般模型并不足以定义嵌入式系统本身。例如,某些嵌入式系统常常比标准PC机箱小不了多少。这类设备有:
信息查询以及销售点终端。
某些工业控制系统。
游戏控制台(例如基于x86和Windows的Xbox)。
数字录像机(例如基于Linux的TiVo)。
这些设备可能使用硬盘驱动器来保存固件,并运行各种桌面操作系统如Windows、Linux或者DOS,这并不是典型的嵌入式系统的体系结构,但是按照我的较早前的定义,它们仍可以称为嵌入式系统.