广州工商学院 梁光华
这些年来随着信息化,智能化,网络化的发展,嵌入式系统将起着越来越重要作用,其原因有几个:一是芯片技术的发展,使得单个芯片具有更强的处理能力,而且使集成多种接口已经成为可能,众多芯片生产厂商已经将注意力集中在这方面。另一方面的原因就是应用的需要,由于对产品可靠性、成本、更新换代要求的提高,使得嵌入式系统逐渐从纯硬件实现和使用通用计算机实现的应用中脱颖而出。
嵌入式系统技术的应用也将获得更广泛的发展空间,无论是民用还是军用随处都可见到嵌入式系统的身影。嵌入式系统在工业控制、交通管理、信息家电、家庭智能管理、网络及电子商务、环境监测和机器人等方面,无处不在。
当前历史任务就是:在源于计算机领域的嵌入式系统基础上,研究和发展智能化的现代电子系统时代的嵌入式系统。
嵌入式系统是以应用为中心,以计算机技术为基础,将用户所需的功能嵌入到产品、装置或大型系统中的计算机系统,并且软硬件可裁剪,适用于应用系统对功能、可靠性、成本、体积、功耗有严格要求的专用计算机系统;它一般由嵌入式微处理器、外围硬件设备、嵌入式操作系统以及用户的应用程序等四个部分组成,用于实现对其他设备的控制、监视或管理等功能。
目前,对嵌入式系统的定义多种多样,下面给出两种比较合理定义:
(1)从技术的角度定义
以应用为中心、以计算机技术为基础、软件硬件可裁剪、适应应用系统对功能、可靠性、成本、体积、功耗严格要求的专用计算机系统。
(2)从系统的角度定义
嵌入到对象体系中的专用计算机系统。嵌入性、专用性与计算机系统是嵌入式系统的三个基本要素。对象系统是指嵌入式系统所嵌入的宿主系统。
嵌入式计算机系统是整个嵌入式系统的核心,由硬件层、中间层、系统软件层和应用软件层组成。执行装置也称为被控对象,它可以接受嵌入式计算机系统发出的控制命令,执行所规定的操作或任务。
(1)功能层
应用程序:面向应用领域,如手机软件、路由器软件、交换机软件和飞控软件等。
(2)软件层
软件层由实时多任务操作系统(Real-time Operation System,RTOS)、文件系统、图形用户接口(Graphic User Interface,GUI)、网络系统及通用组件模块组成。RTOS是嵌入式应用软件的基础和开发平台。
(3)中间层
硬件层与软件层之间为中间层,也称为硬件抽象层(Hardware Abstract Layer,HAL)或者板级支持包(Board Support Package,BSP),它使系统的上层软件与底层硬件分离开,该层一般包含相关底层硬件的初始化、数据的输入/输出操作和硬件设备的配置功能。
(4)硬件层
硬件层中包含嵌入式微处理器、存储器(SDRAM、ROM、Flash等)、通用设备接口和I/O接口(A/D、D/A、I/O等)。在一嵌入式处理器基础上添加电源电路、时钟电路和存储器电路,就构成了一个嵌入式核心控制模块。其中操作系统和应用程序都可以固化在ROM中。
(1)几个重要特点:
① 系统内核小
由于嵌入式系统一般是应用于小型电子装置的,系统资源相对有限,所以内核较之传统的操作系统要小得多。
② 专用性强
嵌入式系统的个性化很强,其中的软件系统和硬件的结合非常紧密,一般要针对硬件进行系统的移植,即使在同一品牌、同一系列的产品中也需要根据系统硬件的变化和增减不断进行修改。同时针对不同的任务,往往需要对系统进行较大更改,程序的编译下载要和系统相结合,这种修改和通用软件的“升级”是完全两个概念。
③ 系统精简
嵌入式系统一般没有系统软件和应用软件的明显区分,不要求其功能设计及实现上过于复杂,这样一方面利于控制系统成本,同时也利于实现系统安全。
④ 嵌入式系统代码质量高
由于嵌入式系统的运算速度和存储容量仍然存在一定程度的限制,另外,由于大部分嵌入式系统必须具有较高的实时性,因此软件代码要求高质量和高可靠性。
(2)嵌入式系统的三要素
① 嵌入性:计算机嵌入到对象体系中。
② 内含计算机:实现对象系统的计算机智能化控制。
③ 专用性:软、硬件按对象要求裁减,软件配置必须依据嵌入对象的要求设计成专用的系统。
嵌入式系统在很多产业中广泛的应用,包括工业自动化、国防、运输和航天领域。在日常生活中,几乎所有带有一点—智能—的家电(智能手机、恒温空调、全自动洗衣机、电脑电饭煲…)都是嵌入式系统。
在虚拟现实系统中的数据手套、头盔等也都是嵌入式系统.嵌入式系统广泛的适应能力和多样性,使得教学、娱乐、游戏、视听、工作场所甚至健身设备中到处都有嵌入式系统。
嵌入式系统的应用领域如图2所示。
一是在程序总体结构的设计和编制中,软件程序的开发者应当尽做好软件系统和硬件系统的结合工作,减轻对硬件系统的依赖。同时这样的设计还可以提高其实时性和可靠性的特征。
二是因为嵌入式系统在实际的使用中,可以实现软件数据的初始化过程和格式化过程。这就保证了程序设计的整体过程中,提高了整体的工作效率。
随着科技的不断进步和嵌入式系统的广泛应用,可见嵌入式软件在计算机软件开发中发挥着不可替代的作用。嵌入式是以应用为中心,以计算机技术为基础,软硬件可裁剪,适应应用系统对功能、可靠性、成本、体积、功耗等严格要求的专用计算机系统。
因此,在嵌入式软件应用设计的过程中,软件设计和开发人员需要根据相关的流程,掌握嵌入式软件的应用原理,做好各项架构划分、实现对嵌入式软件的的控制,并且注意结合软硬系统等,提高软件的可操作性、稳定性,进而胃我国当前和未来计算机高性能的应用与发展打开新的篇章。