通用芯片和嵌入式芯片有什么区别( 二 )


举个简单例子:一个手持的mp3是否可以叫做是嵌入式系统呢?答案肯定是“是” 。另外一个PC104的微型工业控制计算机你会认为它是嵌入式系统吗?当然,也是,工业控制是嵌入式系统技术的一个典型应用领域 。然而比较两者,你也许会发现二者几乎完全不同,除了其中都嵌入有微处理器 。那是否可以说嵌入着微处理器的设备就是嵌入式系统?那鼠标中也有单片机,能叫嵌入式系统嘛?
那到底什么是嵌入式系统?莫非嵌入式系统只是一个难以定义的抽象概念?
1.嵌入式系统的历史
虽然嵌入式系统是近几年才风靡起来的,但是这个概念并非新近才出现 。从20世纪七十年代单片机的出现到今天各式各样的嵌入式微处理器,微控制器的大规模应用,嵌入式系统已经有了近30年的发展历史 。
作为一个系统,往往是在硬件和软件交替发展的双螺旋的支撑下逐渐趋于稳定和成熟,嵌入式系统也不例外 。
嵌入式系统的出现最初是基于单片机的 。70年代单片机的出现,使得汽车、家电、工业机器、通信装置以及成千上万种产品可以通过内嵌电子装置来获得更佳的使用性能:更容易使用、更快、更便宜 。这些装置已经初步具备了嵌入式的应用特点,但是这时的应用只是使用8位的芯片,执行一些单线程的程序,还谈不上“系统”的概念 。
提示:最早的单片机是Intel公司的 8048,它出现在1976年 。Motorola同时推出了68HC05,Zilog公司推出了Z80系列,这些早期的单片机均含有256字节的RAM、4K的ROM、4 个8位并口、1个全双工串行口、两个16位定 时 器 。之后在80年代初,Intel又进一步完善了8048,在它的基础上研制成功了8051,这在单片机的历史上是值得纪念的一页,迄今为止,51系列的单片机仍然是最为成功的单片机芯片,在各种产品中有着非常广泛的应用 。
从80年代早期开始,嵌入式系统的程序员开始用商业级的“操作系统”编写嵌入式应用软件,这使得可以获取更短的开发周期,更低的开发资金和更高的开发效率,“嵌入式系统”真正出现了 。确切点说,这个时候的操作系统是一个实时核,这个实时核包含了许多传统操作系统的特征,包括任务管理、任务间通讯、同步与相互排斥、中断支持、内存管理等功能 。其中比较著名的有Ready System 公司的VRTX、Integrated System Incorporation (ISI)的PSOS和IMG的VxWorks、QNX公司的QNX 等 。这些嵌入式操作系统都具有嵌入式的典型特点:它们均采用占先式的调度,响应的时间很短,任务执行的时间可以确定;系统内核很小,具有可裁剪,可扩充和可移植性,可以移植到各种处理器上;较强的实时和可靠性,适合嵌入式应用 。这些嵌入式实时多任务操作系统的出现,使得应用开发人员得以从小范围的开发解放出来,同时也促使嵌入式有了更为广阔的应用空间 。
90年代以后,随着对实时性要求的提高,软件规模不断上升,实时核逐渐发展为实时多任务操作系统(RTOS),并作为一种软件平台逐步成为目前国际嵌入式系统的主流 。这时候更多的公司看到了嵌入式系统的广阔发展前景,开始大力发展自己的嵌入式操作系统 。除了上面的几家老牌公司以外,还出现了Palm OS,WinCE,嵌入式Linux,Lynx,Nucleux,以及国内的Hopen,Delta Os等嵌入式操作系统 。随着嵌入式技术的发展前景日益广阔,相信会有更多的嵌入式操作系统软件出现 。
在中国嵌入式系统领域,比较认同的嵌入式系统概念是:嵌入式系统是以应用为中心,以计算机技术为基础,并且软硬件可裁剪,适用于应用系统对功能、可靠性、成本、体积、功耗有严格要求的专用计算机系统 。它一般由嵌入式微处理器、外围硬件设备、嵌入式操作系统以及用户的应用程序等四个部分组成,用于实现对其他设备的控制、监视或管理等功能 。
通俗一点讲什么是嵌入式嵌入式是那种需要把程序烧写到芯片中,通过芯片控制硬件实现特定功能的系统 。
实际上,现实中我们经常会遇到嵌入式系统,像是手环、智能单车锁等 。拆开这些产品,你会发现有一块电路板,在电路板上有一个甚至好几个芯片,一般产品会有一个主要的芯片(称为主控芯片),用来整个产品的数据处理、硬件控制等 。
嵌入式软件工程师所做的事情便是在芯片上进行程序编写,根据产品的需求编写逻辑及数据采集和处理以及输出等 。嵌入式软件一般采用的编程语言为C语言,有些地方会要求有汇编语言 。为什么需要用C语言,因为C语言是接近底层的语言,当然汇编是更加接近的语言 。