首页 理论教育 嵌入式架构和内核的区别

嵌入式架构和内核的区别

时间:2022-02-12 理论教育 版权反馈
【摘要】:由于嵌入式系统通常进行大量生产,所以单个的成本节约,能够随着产量进行成百上千的放大。嵌入式系统的核心是由一个或几个预先编好程序、用来执行少数几项任务的微处理器或者单片机组成。所以,介入嵌入式系统行业,必须有一个正确的定位。目前嵌入式系统的核心往往是一个只有几K到几十K的微内核,需要根据实际的使用进行功能扩展或者裁剪。大多数的嵌入式操作系统支持多任务。有些嵌入式系统对时间的要求较高,称之为实时系统。

1.嵌入式系统的概念

嵌入式系统 (Embedded System),是一种 “完全嵌入受控器件内部,为特定应用而设计的专用计算机系统”。根据英国电器工程师协会 (U.K.Institution of Electrical Engineer)的定义,嵌入式系统为控制、监视,或辅助设备、机器,或用于工厂运作的设备。与个人计算机这样的通用计算机系统不同,嵌入式系统通常执行的是带有特定要求的预先定义的任务。由于嵌入式系统只针对一项特殊的任务,设计人员能够对它进行优化,减小尺寸,降低成本。由于嵌入式系统通常进行大量生产,所以单个的成本节约,能够随着产量进行成百上千的放大。

嵌入式系统的核心是由一个或几个预先编好程序、用来执行少数几项任务的微处理器或者单片机组成。与通用计算机能够运行用户选择的软件不同,嵌入式系统上的软件通常是暂时不变的,所以经常称为 “固件”。

国内普遍认同的嵌入式系统定义为:以应用为中心,以计算机技术为基础,软硬件可裁剪,适应应用系统对功能、可靠性、成本、体积、功耗等有严格要求的专用计算机系统。

嵌入式系统是面向用户、面向产品、面向应用的,它必须与具体应用相结合才会具有生命力、才更具有优势。因此可以这样理解上述三个面向的含义,即嵌入式系统是与应用紧密结合的,它具有很强的专用性,必须结合实际系统需求进行合理的裁剪利用。

嵌入式系统是将先进的计算机技术、半导体技术与电子技术和各个行业的具体应用相结合后的产物,它必然是一个技术密集、资金密集、高度分散、不断创新的知识集成系统。所以,介入嵌入式系统行业,必须有一个正确的定位。例如Palm之所以在PDA领域占有70%以上的市场,就是因为其立足于个人电子消费品,着重发展图形界面和多任务管理;而风河公司的Vxworks之所以在火星车上得以应用,则是因为其高实时性和高可靠性。

嵌入式系统必须根据应用需求对软硬件进行裁剪,满足应用系统的功能、可靠性、成本、体积等要求。所以,如果能建立相对通用的软硬件基础,然后在其上开发出适应各种需要的系统,是一个比较好的发展模式。目前嵌入式系统的核心往往是一个只有几K到几十K的微内核,需要根据实际的使用进行功能扩展或者裁剪。但是由于微内核的存在,使得这种扩展能够非常顺利地进行。

实际上,嵌入式系统本身是一个外延极广的名词,凡是与产品结合在一起的具有嵌入式特点的控制系统都可以叫嵌入式系统,而且有时很难给它下一个准确的定义。现在人们讲嵌入式系统时,某种程度上是指近些年比较热的具有操作系统的嵌入式系统,本文在进行分析和展望时,也沿用这一观点。

一般而言,嵌入式系统的构架可以分成四个部分:处理器、存储器、输入/输出 (I/O)设备和软件 (由于多数嵌入式设备的应用软件和操作系统都是紧密结合的,在这里不加区分,这也是嵌入式系统和一般的PC操作系统的最大区别)。

2.嵌入式系统的技术特点

嵌入式系统通常包括构成软件基本运行环境的硬件和操作系统两部分。嵌入式系统的运行环境和应用场合决定了嵌入式系统具有区别于其他操作系统的一些特点。

1)嵌入式处理器

嵌入式处理器可以分为三类,即嵌入式微处理器、嵌入式微控制器和嵌入式DSP (Digital Signal Processor)。嵌入式微处理器就是和通用计算机的微处理器对应的CPU。在应用中,一般是将微处理器装配在专门设计的电路板上,在母板上只保留和嵌入式相关的功能即可,这样可以满足嵌入式系统体积小和功耗低的要求。

2)微内核结构

大多数操作系统至少被划分为内核层和应用层两个层次。内核只提供基本的功能,如建立和管理进程、提供文件系统、管理设备等,这些功能以系统调用方式提供给用户。一些桌面操作系统,如Windows、Linux等,将许多功能引入内核,操作系统的内核变得越来越大。内核变大使得占用的资源增多,裁剪起来很麻烦。

3)任务调度

在嵌入式系统中,任务即线程。大多数的嵌入式操作系统支持多任务。多任务运行的实现实际是靠CPU在多个任务之间切换、调度。每个任务都有其优先级,不同的任务优先级可能相同也可能不同。操作系统对不同优先级的任务采用基于优先级的抢占式调度法,对相同优先级的任务则采用时间片轮转调度法。

4)硬实时和软实时

有些嵌入式系统对时间的要求较高,称之为实时系统。实时系统有两种类型:硬实时系统和软实时系统。软实时系统并不要求限定某一任务必须在一定的时间内完成,只要求各任务运行得越快越好;硬实时系统对系统响应时间有严格要求,一旦系统响应时间不能满足,就可能会引起系统崩溃或致命的错误,一般在工业控制中应用较多。

5)内存管理

针对有内存管理单元 (MMU)的处理器设计的一些桌面操作系统,如Windows、Linux,使用了虚拟存储器的概念。虚拟内存地址被送到MMU。在这里,虚拟地址被映射为物理地址,实际存储器被分割为相同大小的页面,采用分页的方式载入进程。一个程序在运行之前,没有必要全部装入内存,而是仅将那些当前要运行的部分页面装入内存运行。

6)内核加载方式

嵌入式操作系统内核可以在Flash上直接运行,也可以加载到内存中运行。Flash的运行方式是把内核的可执行映象烧写到Flash上,系统启动时从Flash的某个地址开始执行。内核加载方式是把内核的压缩文件存放在Flash上,系统启动时读取压缩文件并在内存里解压,然后开始执行。这种方式相对复杂一些,但是运行速度可能更快,因为RAM的存取速率要比Flash高。

3.嵌入式系统的应用

嵌入式系统的应用前景是非常广泛的,人们将会无时无处不接触到嵌入式产品。从家里的洗衣机、电冰箱,到作为交通工具的自行车、小汽车,再到办公室里的远程会议系统,等等。在家中、办公室、公共场所,人们可能会使用数十片甚至更多这样的嵌入式无线电芯片,将一些电子信息设备甚至电气设备构成无线网络;在车上、旅途中,人们利用这样的嵌入式无线电芯片可以实现远程办公、远程遥控,真正实现把网络随身携带。下面介绍几种具体的应用。

1)汽车电子领域

随着汽车产业的飞速发展,汽车电子近年来也有了较快的发展。但是不得不承认,目前国内的嵌入式车载领域的发展与国际相比差距还是比较大的。电子导航系统在汽车电子中占据的比重比较大,目前导航系统在国外已经有了广泛的应用。在国内近年来也已经开始起步,可以预料未来几年内会有比较快速的发展。汽车电子领域的另外一个发展趋势是与汽车本身机械结合,从而可以实现故障诊断定位等功能。

2)消费类电子产品

消费类电子产品的销量早就超过了PC若干倍,并且还在以每年10%左右的速度增长。消费类电子产品主要包括便携音频视频播放器、数码相机、掌上游戏机等。目前,消费类电子产品已形成一定的规模,并且已经相对成熟。对于消费类电子产品,真正体现嵌入式特点的是在系统设计上经常要考虑性价比的折中,如何设计出让消费者觉得划算的产品是很重要的。

3)军工航天

对于大多数开发者和用户而言,这可能都是比较神秘的一个领域。的确,大多数人一生都没有机会给F117战机编写控制程序。军工和航天领域是不为大众所知的领域,在这个领域里面,无论是硬件还是操作系统、编译器,通常都不是市场上可以见到的通用设备,它们大多数都是专用的。但这并不代表这个领域落后,许多最先进的技术、最前沿的成果,往往都会用在这个领域。

科技快速发展的今天,嵌入式产品将会越来越多地被广泛应用。我们相信,只要遵循嵌入式产品的开发规律,适应市场的需求,就一定能开发出越来越多的嵌入式产品。

4.嵌入式系统的发展

信息时代、数字时代使得嵌入式产品获得了巨大的发展契机,为嵌入式市场展现了美好的前景,同时也对嵌入式生产厂商提出了新的挑战,从中我们可以看出未来嵌入式系统的几大发展趋势:

(1)嵌入式开发是一项系统工程,因此要求嵌入式系统厂商不仅要提供嵌入式软硬件系统本身,同时还需要提供强大的硬件开发工具和软件包支持。

目前很多厂商已经充分考虑到这一点,在主推系统的同时,将开发环境也作为重点推广。比如三星在推广Arm7、Arm9芯片的同时还提供开发板和版本支持包 (BSP),而Win-dow CE在主推系统时也提供Embedded VC++作为开发工具。还有Vxworks的Tonado开发环境,Delta OS的Limda编译环境等都是这一趋势的典型体现。当然,这也是市场竞争的结果。

(2)网络化、信息化的要求随着因特网技术的成熟、带宽的提高日益提高,使得以往单一功能的设备如电话、手机、冰箱、微波炉等功能不再单一,结构更加复杂。

这就要求芯片设计厂商在芯片上集成更多的功能,为了满足应用功能的升级,设计师们一方面采用更强大的嵌入式处理器如32位、64位RISC芯片或信号处理器DSP,增强处理能力,同时增加功能接口 (如USB),扩展总线类型 (如CANBUS),加强对多媒体、图形等的处理,逐步实施片上系统 (SOC)的概念。在软件方面,采用实时多任务编程技术和交叉开发工具技术来控制功能复杂性、简化应用程序设计、保障软件质量和缩短开发周期。

(3)网络互联成为必然趋势。未来的嵌入式设备为了适应网络发展的要求,必然要求硬件上提供各种网络通信接口。传统的单片机对于网络支持不足,而新一代的嵌入式处理器已经开始内嵌网络接口,除了支持TCP/IP协议,有的还支持IEEE1394、USB、CAN、Blue-tooth或Ir DA通信接口中的一种或者几种,同时也需要提供相应的通信组网协议软件和物理层驱动软件。软件方面系统内核支持网络模块,甚至可以在设备上嵌入Web浏览器,真正实现随时随地用各种设备上网。

(4)精简系统内核、算法,降低功耗和软、硬件成本。未来的嵌入式产品是软、硬件紧密结合的设备,为了降低功耗和成本,需要设计者尽量精简系统内核,只保留和系统功能紧密相关的软、硬件,利用最低的资源实现最适当的功能,这就要求设计者选用最佳的编程模型和不断改进算法,优化编译器性能。因此,既要求软件人员有丰富的硬件知识,又需要发展先进嵌入式软件技术,如Java、Web和WAP等。

(5)提供友好的多媒体人机界面。嵌入式设备能与用户亲密接触,最重要的因素就是它能提供非常友好的用户界面。图像界面及灵活的控制方式,使得人们感觉嵌入式设备就像一个熟悉的老朋友。这方面的要求使得嵌入式软件设计者要在图形界面、多媒体技术上痛下苦功。手写文字输入,语音拨号上网,收发电子邮件以及彩色图形、图像都会使使用者获得自由的感受。目前一些先进的PDA在显示屏幕上已实现汉字写入、短消息语音发布,但一般的嵌入式设备要达到这个要求还有很长的路要走。

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

我要反馈