现代嵌入式系统体系结构和开发方法分析_第1页
现代嵌入式系统体系结构和开发方法分析_第2页
现代嵌入式系统体系结构和开发方法分析_第3页
现代嵌入式系统体系结构和开发方法分析_第4页
现代嵌入式系统体系结构和开发方法分析_第5页
全文预览已结束

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、现代嵌入式系统体系结构和开发方法分析胡旭伟(计算机科学与技术,计算机科学与工程,07计3W,07141329)摘 要:随着计算机硬件技术的快速发展,出现了越来越多的便携设备和智能设备。这些设备中通常包含控制用的CPU和相应的操作系统;这类特殊的计算机系统叫做嵌入式实时系统。嵌入式实时系统以其简洁高效等特点在计算机、通信等领域中广泛使用。如今,由于嵌入式系统的市场巨大、潜力无限,全球的生产商都非常看好这一领域,纷纷投入了大量的人力物力,而围绕嵌入式系统的研究、设计和开发正成为计算机发展最活跃的方向之一.从嵌入式系统设计角度来看,任何一个系统都是一个输入/ 输出处理系统. 广义地说,所处理的物理量

2、可分为模拟量、开关量与数字量. 若能了解一个实际的对象系统有哪些输入的物理量,哪些输出的物理量以及它们之间的内在关系,就可以设计出以单片机为核心的应用系统,并通过编程实现输入/ 输出之间的关系。关键字:嵌入式系统引 言嵌入式系统一般指非Pc系统,它包括硬件和软件两部讣。硬件包括处理器微处理器、存储器及外设器件和I端、罔形控制器等。软件部分包括操作系统软件(S)(要求实时和多任务操作)和应用程序编程。有时设计人员把这两种软件组合在一起。应用程序控制着系统的运作和行蔓,;而操作系统控制着应用程序编程与硬件的交互作用。嵌入式系统的核心是嵌入式微处理器。嵌入式微处理器一般媳备以下4个特点:(1)对实时

3、多任务有很强的支持能力,能宠成多任务并且有较短的中断响应时间;(2)具有功能较强的存储区保护功能;(3)可扩展(生长)的处理器结构,以能最迅速地开发出满足应用的各种性能的嵌入式微处理器;(4)功耗很低。1 嵌入式系统的历史 虽然嵌入式系统是近几年才风靡起来的,但是这个概念并非新近才出现。从20世纪七十年代单片机的出现到今天各式各样的嵌入式微处理器,微控制器的大规模应用,嵌入式系统已经有了近30年的发展历史。 作为一个系统,往往是在硬件和软件交替发展的双螺旋的支撑下逐渐趋于稳定和成熟,嵌入式系统也不例外。 嵌入式系统的出现最初是基于单片机的。70年代单片机的出现,使得汽车、家电、工业机器、通信装

4、置以及成千上万种产品可以通过内嵌电子装置来获得更佳的使用性能:更容易使用、更快、更便宜。这些装置已经初步具备了嵌入式的应用特点,但是这时的应用只是使用位的芯片,执行一些单线程的程序,还谈不上“系统”的概念。 从80年代早期开始,嵌入式系统的程序员开始用商业级的“操作系统”编写嵌入式应用软件,这使得可以获取更短的开发周期,更低的开发资金和更高的开发效率,“嵌入式系统”真正出现了。90年代以后,随着对实时性要求的提高,软件规模不断上升,实时核逐渐发展为实时多任务操作系统(RTS),并作为一种软件平台逐步成为目前国际嵌入式系统的主流。2 嵌入式系统的定义 根据IEEE(国际电机工程师协会)的定义,嵌

5、入式系统是“控制、监视或者辅助装置、机器和设备运行的装置”(原文为devices used t cntrl, mnitr, r assist the peratin f equipment, machinery r plants)。这主要是从应用上加以定义的,从中可以看出嵌入式系统是软件和硬件的综合体,还可以涵盖机械等附属装置。 不过上述定义并不能充分体现出嵌入式系统的精髓,目前国内一个普遍被认同的定义是:以应用为中心、以计算机技术为基础、软件硬件可裁剪、适应应用系统对功能、可靠性、成本、体积、功耗严格要求的专用计算机系统。 这个定义上,可从几方面来理解嵌入式系统: 嵌入式系统是面对用户、面对

6、产品、面对应用的,它必须与具体应用相结合才会具有生命力、才更具有优势。因此可以这样理解上述三个面对的含义,即嵌入式系统是与应用紧密结合的,它具有很强的专用性,必须结合实际系统需求进行合理的裁减利用。 嵌入式系统是将先进的计算机技术、半导体技术和电子技术和各个行业的具体应用相结合后的产物,这一点就决定了它必然是一个技术密集、资金密集、高度分散、不断创新的知识集成系统。所以,介入嵌入式系统行业,必须有一个正确的定位。例如Palm之所以在PDA领域占有70以上的市场,就是因为其立足于个人电子消费品,着重发展图形界面和多任务管理;而风河的Vwrks之所以在火星车上得以应用,则是因为其高实时性和高可靠性

7、。 嵌入式系统必须根据应用需求对软硬件进行裁剪,满足应用系统的功能、可靠性、成本、体积等要求。所以,如果能建立相对通用的软硬件基础,然后在其上开发出适应各种需要的系统,是一个比较好的发展模式。目前的嵌入式系统的核心往往是一个只有几K到几十K微内核,需要根据实际的使用进行功能扩展或者裁减,但是由于微内核的存在,使得这种扩展能够非常顺利的进行。 实际上,嵌入式系统本身是一个外延极广的名词,凡是与产品结合在一起的具有嵌入式特点的控制系统都可以叫嵌入式系统,而且有时很难以给它下一个准确的定义。现在人们讲嵌入式系统时,某种程度上指近些年比较热的具有操作系统的嵌入式系统,本文在进行分析和展望时,也沿用这一

8、观点。 一般而言,嵌入式系统的构架可以分成四个部分:处理器、存储器、输入输出(I/)和软件(由于多数嵌入式设备的应用软件和操作系统都是紧密结合的,在这里我们对其不加区分,这也是嵌入式系统和Windws系统的最大区别)。3 嵌入式系统的特点3.1系统内核小由于嵌入式系统一般是应用于小型电子装置的,系统资源相对有限,所以内核较之传统的操作系统要小得多。比如Enea公司的SE分布式系统,内核只有5K,而Windws的内核?简直没有可比性。 3.2专用性强嵌入式系统的个性化很强,其中的软件系统和硬件的结合非常紧密,一般要对于硬件进行系统的移植,即使在同一品牌、同一系列的产品中也需要根据系统硬件的变化和

9、增减不断进行修改。同时对于不同的任务,往往需要对系统进行较大更改,程序的编译下载要和系统相结合,这种修改和通用软件的“升级”是完全两个概念。 3.3系统精简嵌入式系统一般没有系统软件和应用软件的明显区分,不要求其功能设计及实现上过于复杂,这样一方面利于控制系统成本,同时也利于实现系统安全。 3.4高实时性高实时性的系统软件(S)是嵌入式软件的基本要求。而且软件要求固态存储,以提高速度;软件代码要求高质量和高可靠性。 3.5开发标准化嵌入式软件开发要想走向标准化,就必须使用多任务的操作系统。嵌入式系统的应用程序可以没有操作系统直接在芯片上运行;但是为了合理地调度多任务、利用系统资源、系统函数以及

10、和专家库函数接口,用户必须自行选配RTS(RealTime perating System)开发平台,这样才能保证程序执行的实时性、可靠性,并减少开发时间,保障软件质量。 3.6嵌入式系统开发需要开发工具和环境由于其本身不具备自举开发能力,即使设计完成以后用户通常也是不能对其中的程序功能进行修改的,必须有一套开发工具和环境才能进行开发,这些工具和环境一般是基于通用计算机上的软硬件设备以及各种逻辑分析仪、混合信号示波器等。开发时往往有主机和目标机的概念,主机用于程序的开发,目标机作为最后的执行机,开发时需要交替结合进行。4 嵌入式系统的结构ARM体系结构图 一个以单片机为核心的比较复杂产品或实际

11、应用系统,包含模拟量的输入、模拟量的输出,开关量的输入、开关量的输出及数据通信的部分. 单片机工作支撑电路保障单片机能够正常运行,如电源提供、晶振电路、必要的滤波电路等 2 .实际模拟信号一般来自相应的传感器. 例如,开发非接触式的IC 卡燃气表系统,要测量使用气量,就需要流量传感器. 但是,一般传感器将实际的模拟信号转成的电信号都比较弱,单片机无法直接获得该信号,需要将其放大,然后经过A/ D转换变为数字信号,进行处理. 目前许多单片机内部包含A/ D 转换模块(例如: FreeScale 公司系列单片机) ,实际应用时也可根据需要外接A/ D 转换芯片. 常见的模拟量有温度、湿度、压力、重

12、量、气体浓度、液体浓度、流量等. 对嵌入式来说,模拟信号通过A/ D 转换变成相应的数字序列进行处理.实际开关信号一般也来自相应的开关类传感器. 如光电开关、电磁开关、干簧管(磁开关) 、声控开关、红外开关等等,一些儿童电子玩具中就有一些类似的开关. 手动开关也可作为开关信号送到嵌入式中. 对单片机来说,开关信号就是只有“0”和“1”两种可能值的数字信号.其他输入信号通过通信方式与单片机沟通.常用的通信方式有:异步串行通信SCI、串行外设接口SPI、并行通信、USB 通信方式、网络通信(uIP) 方式等在执行机构中,有开关量执行机构,也有模拟量执行机构. 开关量执行机构只有“开”、“关”两种状

13、态. 模拟量执行机构需要连续变化的模拟量控制. 单片机一般是不能直接控制这些执行机构,需要通过相应的驱动电路实现. 还有一些执行机构,既不是通常开关量控制,也不是通常D/ A 转换量控制,而是“脉冲”量控制,如控制调频电动机,单片机均可通过软件对其控制5 嵌入式计算机系统同通用型计算机系统相比具有以下特点:5.1嵌入式系统通常是面对特定应用的嵌入式CPU与通用型的最大不同就是嵌入式CPU大多工作在为特定用户群设计的系统中,它通常都具有低功耗、体积小、集成度高等特点,能够把通用CPU中许多由板卡完成的任务集成在芯片内部,从而有利于嵌入式系统设计趋于小型化,移动能力大大增强,跟网络的耦合也越来越紧

14、密。5.2嵌入式系统是将先进的计算机技术、半导体技术和电子技术与各个行业的具体应用相结合后的产物。这一点就决定了它必然是一个技术密集、资金密集、高度分散、不断创新的知识集成系统。5.3嵌入式系统的硬件和软件都必须高效率地设计,量体裁衣、去除冗余,力争在同样的硅片面积上实现更高的性能,这样才能在具体应用中对处理器的选择更具有竞争力。5.4嵌入式系统和具体应用有机地结合在一起,它的升级换代也是和具体产品同步进行,因此嵌入式系统。5.5为了提高执行速度和系统可靠性,嵌入式系统中的软件一般都固化在存储器芯片或单片机本身中,而不是存贮于磁盘等载体中。5.6嵌入式系统本身不具备自举开发能力,即使设计完成以

15、后用户通常也是不能对其中的程序功能进行修改的,必须有一套开发工具和环境才能进行开发。嵌入式软件的开发流程与通用软件的开发流程大同小异,但开发所使用的设计方法具有嵌入式开发的特点。6 整个开发流程可分为:6.1 需求分析阶段嵌入式系统应用需求中最为突出的是注重应用的时效性,需求分析阶段的主要任务是:6.1.1 对问题的识别和分析 对用户提出的问题进行抽象识别用以产生以下的需求:功能需求、性能需求、环境需求、可靠性需求、安全需求、用户界面需求、资源使用需求、软件成本与开发进度需求。6.1.2 制订规格说明文档 经过对问题的识别,产生了系统各方面的需求。通过对规格的说明,文档得以清晰、准确地描述。这

16、些说明文档包括需求规格说明书和初级的用户手册等。6.1.3 需求评审 需求评审作为系统进入下一阶段前最后的需求分析复查手段,在需求分析的最后阶段对各项需求进行评估,以保证软件需求的质量。需求评审的内容包括正确性、无歧义性、安全性、可验证性、一致性、可理解性、可修改性、可追踪性等多个方面。6.2 设计阶段系统的设计阶段包括系统设计、任务设计和任务的详细设计。由于嵌入式系统中任务的并发性,嵌入式软件开发中引入了DARTS(Design Apprach fr Real-Time System)DARTS设计方法:是结构化分析/结构化设计的扩展。它给出划分任务的方法,并提供定义任务间接口的机制。DAR

17、TS设计方法的设计步骤如下:6.2.1 数据流分析 6.2.2 划分任务 6.2.3 定义任务间的接口 6.3 生成代码阶段生成代码阶段需要完成的工作包括代码编程、交叉编译和链接、交叉调试和测试等。在嵌入式系统的开发过程中,一般采用的方法是先在通用PC上编程,然后通过交叉编译链接,将程序做成目标平台上可以运行的二进制代码格式。最后将程序下载到目标平台上的特定位置,在目标板上启动运行这段二进制代码。 6.4 固化阶段嵌入式系统的应用软件是对于特定的实际专业领域的,基于相应的嵌入式硬件平台,并能完成用户预期任务的计算机软件。 嵌入式软件的特点如下:6.4.1 软件要求固态化存储。6.4.2 软件代码要求高质量、高可靠性。6.4.3 系统软件的高实时性是基本要求。6.4.4 多任务实时操作系统成为嵌入式应用软件的必需。 参考文献:1 刘天泉. 嵌

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论