文档库 最新最全的文档下载
当前位置:文档库 › 嵌人式系统只发方法概述

嵌人式系统只发方法概述

嵌人式系统只发方法概述
嵌人式系统只发方法概述

嵌人式系统开发方法概述

引言

嵌入式系统是指以应用为中心、以计算机技术为基础、软硬件可裁剪、适应应用环境对功能、实时性、可靠性、成本、体积、功耗等严格约束的专用计算机系统。嵌入式系统的内容广泛,小到一个芯片,大到复杂的分布式系统都可以称为嵌入式系统,通常以SoC、单片机、单板机、多板式箱式结构、嵌入式PC等形式嵌入到信息家电、数字通信,工业控制、航空航天、医疗设施、军事电子等领域的设备或系统中,作为处理和控制的核心。

嵌入式系统的实时性、并发性、分布性和高可靠性等特点使得系统的开发面临巨大挑战,追切需要相应的开发方法的指导和开发工具的支持。嵌入式系统开发方法的研究内容包括设计方法论、工程开发技术,以及相应辅助工具的开发。现代的系统开发是一个基于模型(model —based)的,从规约到实现的过程。模型是反映真实世界和系统实现两方面的抽象,帮助开发人员把握应用的最重要特性,是系统分析与验证的基础,并为软件和硬件的实现素提供表示视图。因此,系统模型设计在整个开发过程中最为重要。此外,任何工程开发技术都是在一定设计方法基础上提出一系列开发步骤,辅助工具则为这些设计方法和开发技术提供自动或半自动的工具支持。因此,设计方法决定了系统开发过程中的其它分析、验证、实现等方法,或者广义上说,系统的设计方法就是系统的开发方法。

本文从工程实践角度出发,总结在嵌入式系统设计过程中,开发人员会面临哪些主要问题,以及为解决问题而产生哪些主要方法和技术。这些方法和技术被统称为嵌入式系统的开发方法。

1 软硬件“分离”设计方法与软硬件协同设计方法

首先,用户或产品开发决策者要根据对产品性能、体积、开发成本以及上市时间等设计指标的评估,决定系统最终是以电路板式,还是以芯片式的形式实现。一般而言,对性能和体积要求不高,产品数量小,如1~几百个,但要求上市时间早的嵌入式系统,多采用电路板式实现t反之,系统体积小,产品数量大,但对上市时间要求比较松的嵌入式系统,多采用SoC芯片式实现。相应地,对于设计者而言,不同的实现形式一般应用不同的设计方法,包括软硬件“分离”设计和软硬件协同设计。

1.1软硬件。分离”设计方法

计算机科学发展最初阶段,软件和硬件的设计流程截然不同,软件设计者编写程序,硬件设计者连接元件,所以软件设计和硬件设计不可能交互,必须单独进行。这种传统的设计方法可以被称为软硬件“分离”设计,与软硬件协同设计相对。软硬件“分离”设计方法中,软硬件划分在系统开发的初期阶段进行,划分是一次性的,一旦划分后软件和硬件所分配的功能就不能改变。经划分后软件和硬件的设计与实现一般并行推进。其设计的基本思想是,软件通过编写程序运行在微处理器上实现系统全部或大部分功能,硬件则主要通过“板级”专用电路为软件运行提供平台。如果有特定功能需要硬件实现,一般可直接购买预先设计好的相应专用处理器芯片,如以太网芯片等。因此,系统设计的重点在于软件设计,这也是过去几十年嵌入式系统设计方法研究的重点。在硬件未交付使用前,软件可以在demo板上进行编码与调试,或者在PC机上进行仿真。软硬件“分离”设计方法使得联调必须在软件和硬件都开发出来后才能进行,暴露出越来越多问题。如由于软硬件开发过程割裂和软硬件划分不协调而导致低效设计;不能及时进行全系统验证而导致系统重新开发;硬件系统是为满足特定应用需要而开发的专用电路板,缺乏对设计重用的支持等。为避免和解决这些问题,需要产生新的嵌入式系统的设计方法。

1.2软硬件协同设计方法

深亚微米半导体技术的发展使得将整个嵌入式系

统集成在一块芯片上实现成为可能。也就是说,集成

电路IC容量已经增长到可以让软处理器和硬处理器共

存于单个芯片上形成SoC。软处理器技术是指编写运

行在通用微处理器上的软件程序实现功能,硬处理器

技术是指定制专用数字电路实现功能。这一趋势使得

过去软件和硬件设计的分离不再现实。

另一方面,虽然过去几十年来软件和硬件领域的

设计起点是由非常不同的设计描述组成,如软件用机

器指令、硬件用逻辑门进行描述,但随着软件编译和

硬件综合技术的并行发展,如今两个领域都以时序程

序描述行为作为设计的起点,如软件使用C语言、硬

件使用VHDL进行描述。这使得将两个领域合二为一

的设计即软硬件协同设计成为可能。

软硬件协同设计是专为SoC的设计产生的方法,

自上个世纪90年代初以来取得了很大发展。软硬件协

同设计方法综合软件和硬件的设计规则,提供统一方

法与工具,对系统软硬件进行描述、综合和验证。其

基本思想是,在设计过程的各个阶段,同时考虑软件

和硬件的功能和性能,找到软件和硬件的最佳组合方

式——在满足系统功能和性能的前提下,使得设计所

需的硬件逻辑门和存储器最少,消耗的功率更小等。

软硬件协同设计首先以一种或几种计算模型为基

础,并以支持所选计算模型的描述语言或建模语言为

工具,对整个系统的功能、行为和性能进行描述。计

算模型的选择要求使得系统模型既能够方便转换为硬

件描述语言,又能够转换为软件程序代码。软硬件协

同设计常用的计算模型、描述语言和建模语言包括

Petri网、有限状态机、SystemC、SDL和UML等。

软硬件协同设计方法中,软硬件划分就是将系统

模型的一部分分配给硬件,通过设计专用数字电路实

现功能,另一部分分配给软件,通过编写程序代码实

现功能。对于某个特定功能而言,选择软件还是硬件

实现只是在不同设计指标,包括性能、功率、大小、灵

活性等之间进行取舍,软件实现或硬件实现没有本质

的区别。一般软件实现灵活性好并降低成本,硬件实

现则可以提高精确性和性能并降低功耗。

2非形式化建模方法与形式化建模方法

设计者为构建系统模型,需要解决两方面问题。

一方面,设计者要决定采用什么方法或手段对系统进

行建模,即为系统模型选择基本的计算模型或图形符

号。根据计算模型的形式化程度不同,建模方法可以

分为两类:一类方法以具有严格语法和语义定义的数

学模型或形式化模型为基础,称为形式化建模方法;另一类方法则使用不具有严格语法和语义定义的自然

语言或简单的图、表、符号等描述系统,称为非形式

化建模方法。建模方法的选择由系统的可靠性要求和

计算模型的可用性共同决定,一般需要二者的折衷。

可靠性要求高的嵌入式系统必须采用形式化方法建模

以保证模型正确性。

2.1非形式化建模方法

非形式化建模方法简称非形式化方法。只要用来

创建系统模型的计算模型或建模语言没有严格的语法

和语义定义,该建模方法就属于非形式化方法

(informal)方法或欠形式化(1ess formal)方法,如

传统的用图、文本、表格或简单符号等进行系统分析

和设计的方法。

虽然对非形式化方法小心运用并结合彻底检查可

以实现高质量系统的开发,但是文本或简单符号的应

用偏差可能产生各种问题,如多个子模型描述系统相

同方面的特性是矛盾的或不一致的,当模型被解释或

翻译时产生二义性或歧义,模型所描述的系统功能或

行为是不完整的。因此,很难保证在模型基础上的系

统实现是正确的,从而无法满足嵌入式系统对高可靠

性的要求。

可靠性的保证取决于两个方面,一是产品的验证

与测试,二是开发的方法与过程。在安全关键的

(safety-critical)嵌入式系统开发中,可靠性不能通过

测试和反复试用来保证,需要一种良好构造的(weU—

structured)和形式化的方法,使得在系统实现前经过

严格的设计、分析和验证。形式化建模方法的优势不

仅仅局限于分析和验证,形式化过程本身就能够提高

设计的质量。

2.2形式化建模方法

嵌入式系统的规模和复杂性不断增加,仅靠手工

方法已经无法保证正确的设计与实现。开发方法研究

的最终目标就是能够借助计算机自动、准确地实现系

统,而数学是实现这一目标的最有效的方法或手段。

将数学引入到计算机科学中是必然的,也是必需的。

在计算机科学中,以数学为基础的计算机系统设计和

建模方法被称为形式化建模方法,简称形式化方法。

形式化方法的主要数学基础包括各种逻辑学、集

合论、代数理论、图论等。现在形式化方法已经发展

成使用各种形式描述语言来描述系统,并贯穿系统开

发的各阶段。典型的形式描述语言包括Z,SDL、

ESTELLE、LOTOS等,可以充分描述系统功能、行为,以及各种特性,如并发性、不确定性、时序性等。

每种形式描述语言都以一种或多种形式化模型为基础,

包括Petri网、有限状态机FSM,时态逻辑TL、通信

进程演算CCS等。这些形式化模型可以在层次上形成

并发系统、实时系统和混杂系统的抽象模型表示,是

系统分析、验证、测试、综合以及自动化实现的基础。

形式化方法非常适合描述嵌入式系统的动态行为,

灸lPetri网对系统并发性行为建模能力好,有限状态机

能够清晰反映系统的反应式行为,ESTELLE、LOTOS

和SDL是ISO制订的用来描述通信协议的形式描述技

术标准,适合分布式系统的描述,分析与验证等。为

满足嵌入式系统的实时性需求,一般需要对这些模型

或语言进行实时扩展,以实现对系统时间约束的描述

与验证,如时间Petri网,SDL-RT,RT-LOTOS等。

形式化方法的最大好处在于,可以在系统开发早

期最大限度地检测和纠正其它方法不易发现的错误和

缺陷,如检测不一致、不明确或不完整,避免死锁、活锁、不可执行的行为以及系统外部性能不符合服务要

求等问题。并且还可以通过数学证明与逻辑分析的方

法验证系统是否具有所期望的性质。

因此,形式化方法在嵌入式系统领域受到越来越

多的关注,尤其在网络通信协议领域,经常使用形式

化方法,一方面可以验证协议本身的正确性,另一方

面可以保证协议实现的可靠性。

但是形式化方法在应用上存在一些缺欠:形式化

模型一般只能描述系统单一方面特性,如Petri网、

FSM和各种时态逻辑只能描述系统行为特性而不能描

述功能和结构特性,往往需要多个模型共同描述同一

个系统;形式化模型的可读性和可理解性差,并且要

求设计者必须具有较高的数学逻辑基础。这些缺欠或

多或少抵消了形式化方法在严密性与可靠性上的优势,

限制了形式化方法在工业上的普遍应用。

但是随着计算机技术的不断发展,一方面涌现出

许多新的形式化方法,另一方面许多非形式化技术被

赋予形式化基础。将非形式化的图形转换为具有精确

语义定义的形式化规约,成为许多嵌入式实时、分布

式、高可靠性系统分析和设计的常用方法。

3结构化设计范式与面向对象设计范式

设计者建模时需要解决的另一方面问题是,决定

采用什么设计范式(deSign pardigm)将系统进行分

解。这主要关系到嵌入式系统软件部分的设计与实现。

软件工程发展至今,产生了两种最基本的设计范式:

结构化(structural)范式和面向对象(objectoriented)

范式。有些计算模型、规约语言或建模语言

的选择就确定了所需的设计范式,如数据流图是结构

化的,UML、SDL是面向对象的;有些则不能,女【IPetri 网、FMS。对于不能确定的,设计者就要自行选择系

统的设计范式将系统分解。

嵌入式软件在设计中需要额外考虑系统的领域特

征,如任务并发执行、事件驱动、具有复杂动态交互

行为和严格时间限制等。结构化范式和面向对象范式

在嵌入式系统中应用的研究,主要是为了解决这些领

域特征的设计与实现,重点在于并发任务的通信与同

步、系统状态机以及时间约束等的设计与实现。

3.1结构化设计范式

结构化设计范式通常被称为结构化方法,是传统一

的面向过程的软件分析和设计方法。其基本思想是采

用模块化技术,自顶向下将系统按照功能分解成若干

模块。模块内部由顺序、分支、循环等基本控制结构

组成。不同模块之间存在层次关系,通过过程调用实

现模块间的通信。在程序设计时以算法为中心,将数

据结构和处理数据结构的过程单独考虑。

在面向对象分析与设计方法广泛应用之前,出现

不少针对嵌入式实时系统的结构化分析和设计方法,

如RTSAD(Real-Time Structured Analysis and

Design)、DARTS(Design Approach for Real-Time

Systems)、JSD(Jackson System Development)、

SCR(Software Cost Reduction)等,本质上是结

构化系统分析、数据流分析、事务分析向实时软件开

发的扩展。但是由于结构化方法与人们认识客观世界

的过程不一致,并且只在信息顺序处理和数据结构层

次简单的应用中有效,如数值分析过程,过程控制等,

不适合大型复杂的分布式并发系统,因此在实际的系

统分析与设计中已较少使用。

采用结构化方法进行嵌入式软件开发时主要需要

解决多任务的设计与实现。通过将传统结构化方法的

模块划分转换为系统的任务划分,并且定义任务间接

口,使得系统具有并发处理的能力。模块间的通信由

原来层次间的过程调用转换为任务间的同步或异步消

息传递。任务间消息传递的通信方式减小了模块间的

耦合度,增加了一定的模块独立性与可复用性。

工业上常使用C语言编写结构化程序。由于C语

言编写的结构化程序简洁、灵活、高效,满足嵌入式

系统内存资源有限和对高效率的要求,所以当前很多嵌入式系统软件采用C语言编程实现。但由于结构化

方法忽略数据和操作之间的内在联系,使得软件结构

对功能变化十分敏感,功能变化往往意味着重新设计。

因此,软件复用性不好,不易维护。

3.2面向对象设计范式

面向对象设计范式通常被称为面向对象方法,是

基于信息隐藏、类、继承等概念,用对象表现问题域

实体的分析和设计方法。对象封装数据和处理数据的

操作,对象间的交互通过消息传递实现。设计首先从识别底层的基本对象类开始,以解决具体的应用任务,然后自底向上将所有对象综合起来实现系统的整体功能。面向对象方法内在地支持对系统的抽象、分层和复用,便于大型复杂嵌入式软件的分析和设计。

由于面向对象方法从客观存在的事物出发构造软

件系统,更接近人们的思维方式,并且随着大量面向对象分析(OOA)和设计(OOD)的表示法和技术的

涌现,尤其UML成为描述面向对象模型表示法的业界标准以来,面向对象方法得到广泛应用,成为软件设计的首选范式。

工业界和学术界都力图将面向对象的概念应用到

嵌入式实时系统的开发中,目前已存在不少针对实时系统的面向对象分析和设计技术及建模语言的研究,如ROOM(Real-Time 0bject-Oriented Modeling)、UML—RT、RT—UML、COMET、OCTOPUS等,研

究重点在于描述系统进程(processes)之间的并发与

同步,并准确表达系统功能的时间约束等。

工业上常使用C++编写面向对象程序。为支持面

向对象方法的某些特性,如封装、继承、多态等,面向对象程序一方面由于对这些特性进行管理而增加了大量的冗余代码,另一方面由于为实现特性增加调用层次而导致额外开销,不能很好满足某些嵌入式系统的需求,从而限制了面向对象方法在嵌入式软件实现中的应用。但这些不利因素将随着硬件能力的不断加强而得到改善。

结构化方法和面向对象方法在应用上的一个矛盾

就是,面向对象方法在系统分析和设计能力方面占有绝对优势,并具有大量工具支持,而结构化方法实现的软件可以满足嵌入式系统对硬件资源及运行效率的需求。如果将二者结合使用,采用面向对象方法分析和设计系统,采用结构化方法实现系统,就可以满足嵌入式系统设计和实现两方面的要求。

·紧急刹车系统(安全仪表系统);

+主动机械保护(泄流阀,闪光系统,灭火系

统);

幸被动机械保护(堤防,防火墙,设备保护装

置)l

·紧急响应程序。

4风险降低和可靠性评估

为了把风险减少到可容忍的水平,各自的保护层

必须根据它们的风险降低效力或者可靠性进行评价。一个保护层的可靠性包括很多因素,诸如响应时间、缓解效能、和平均失效时间,测试间隔、独立性和公

共发生因数。

ISA和IEC标准允许每个保护层被指定一定量级

的风险降低。保护层的可靠性因此需要对特定的保护

层能吸收多少风险进行估计。IEC标准一般要求任何

设备吸收的一个风险水平要大干一个数量上评价的数

量级(SIL 1)。这意味着基本流程控制系统、管理程

序和机械控制一般仅有一个数量级的风险降低水平或

者一个90%以上的成功机会。对于这些SIL 1,有个

简单的定性分析用于评价这个安全装置是否是真正的

独立保护层。

一旦保护层提供的基本流程控制系统、管理程序

和机械控制应用于假定的事件,然后进行剩余风险的

评价。为了满足可容忍风险等级,这个剩余风险也必

须要减缓。

增加另外的保护层如:一个压力安全阀(PSV)或者安全仪表系统(SIS)来达到新的要求。风险分析因

此提供了一个方便的方法,按安全完整性等级的要求,

直接对一个安全仪表系统评价。一旦得到一个安全完

整性等级,就可以进行一个可靠性评估,验证特定的

安全仪表系统配置是否满足可靠性(SIL)的要求。定

量可靠性评估方法的例子是ISA技术报告和IEC

61508标准中的详细内容。

5结论

传统流程危险的分析方法今天仍然适用,用于定

性的危险识别和风险评估。由基于性能标准的驱动,

企业在流程运行设计中,朝向基于风险降低和可靠性

来使用安全仪表系统。为了实施这些新方案,需要使

用严格的评估方法,确保设备中的潜在危险能够控制

在可接受的水平内。这使得在现在设计参数时有很大

的灵活性和可靠性,我们应选择“适合目标”,而不是

“最佳实践”。

最近颁布的国际标准,IEC 61508,已经展示了其

更先进的流程危险分析和风险评估方法。这是一种高

品质的流程危险评估风格,即可以用于流程危险分析,

也可以用于减弱风险安全装置的集成。这种方法使用

半定量风险评价技术,结合一种定量可靠性评估。这

种新方法的关键是风险评价与安装装置的可靠性评估

分开。使用这种方法,多个安全装置失效的贡献能够

同时有效地检查。这种方法也导致安全仪表系统设计,

4小结?1郭兵.嵌入式软件开放式集成开发平台体系结

综上所述,在嵌入式系统设计过程中,为解决不

同阶段的问题需要采用相应的设计或建模方法,因此

这些方法存在着一定的组合关系,如图1所示。这三

方面内容是确定系统模型的主要因素,并决定系统软

件和硬件的实现方式。

参考文献

?1郭兵.嵌入式软件开放式集成开发平台体系结构研究:【博士论文】.电子科技大学,2002.5 [2】陈文智.Pcanel——基于模型驱动的嵌入式系

统设计平台“博士论文】.浙江大学,2005.1

【3】Gregor Engels,Luuk Groenewegen.Object-

Oriented Modeling:A Roadmap,“The Future

of Software Engineering”.Anthony Finkelstein

(Ed.),ACM Press 2010

【4】古天龙,蔡国永.网络协议的形式化分析与设

计.电子工业出版社,2003.6

【5】赵川,徐涛,孙晓光.软硬件协同设计方法的

研究.计算机工程与设计,2003.24(7):7—9

【6】6张世琨,张文娟等.基于软件体系结构的可复

用构件制作和组装.软件学报,2001.12(9):1351~1359

嵌入式操作系统简介以及发展史

嵌入式操作系统简介以及发展史 导语:嵌入式操作系统离我们生活并不远,甚至我们生活中处处都可见,比如各种路由器,机顶盒,洗衣机,空调,手机等。嵌入式操作系统的定义: 嵌入式系统是以应用为中心,以计算机技术为基础,软硬件可裁减,适应应用系统对功能、可靠性、成本、体积、功耗严格要求的专用操作系统。嵌入式系统的发展:嵌入式操作系统并不是一个新生的事物,从20世纪80年代起,国际上就有了一些IT组织,公司开始进行商用嵌入式系统和专用操作系统的研发,这期间涌现了一些著名的嵌入式操作系统:windows CEVxWorkspSOSQNXPalm OSOS-9LynxOS目前,有很多商用嵌入式操作系统都在努力的为自己争取嵌入式市场的份额。但是,这些专用操作系统均属于商业化产品,价格昂贵,而且,他们的源码不公开,使得各自的嵌入式系统上的应用软件不能互相兼容。这导致了商业嵌入式系统对支持各种设备存在了很大的问题,使软件移植变得相当困难,但是,在这个时候,我们伟大的linux操作系统横空出世, 由于linux自身诸多的优点以及优势,吸引了许多开发商的 目光,使得linux成为了嵌入式操作系统的新宠。嵌入式操 作系统发展的四个阶段:第一阶段:无操作系统的嵌入式算法阶段,以单芯片为核心的可编程控制器的系统,具有监测,

伺服,指示设备相配合的功能。应用在一些专业性极强的工业控制系统,使用古老的汇编语言进行系统的直接控制。第二阶段:以嵌入式CPU为基础,简单操作系统为核心的嵌入式操作系统,CPU种类繁多,通用性差,系统开销小,效率高,一般配备系统仿真器,操作系统有一定的兼容性,软件较为专业,用户界面不够友好,系统主要用来监测系统和应用程序运行。 第三阶段:通用的嵌入式实时操作系统阶段,以嵌入式操作系统为核心的嵌入式系统,能运行于各种微处理器上,兼容性好,内核小,效率高,具有高度的模块化和扩展化,有文件管理和目录管理,设备支持,多任务,网络支持,图形窗口以及用户界面等功能,具有大量的应用程序接口(API),软件非常丰富,代表就是linux。 第四阶段:以Internet为标志的嵌入式操作系统,这是一个正在迅速发展的阶段,现在非常多的嵌入式操作系统已经有了接入Internet的能力。通过一个综合网关。 常见的嵌入式操作系统:uC/OS-Ⅱ:uC/OS-Ⅱ是一个公开源码,结构小巧,实时内核的实时操作系统。是一种基于优先级的可抢占式的硬实时内核,其内核提供任务管理与调度,时间管理,任务同步和通信,内存管理,中断服务等功能。其内核最小可以编译至2KB左右。-RTLinux:RTLinux是一个源代码开放的具有硬实时特性的多任务操作系统,他是通

ARM嵌入式系统开发综述.

视听研究所 主页:论坛: 所有资料均收集于各网站。 若您认为有关资料不适合公开,请联系newvideo@https://www.wendangku.net/doc/ac4385114.html, 我们会第一时间删除。 感谢各位网友的无私奉献和支持! 加密时间:2008-2-1 获取更多权威电子书请登录 ARM 嵌入式系统开发综述 ARM 开发工程师入门宝典 获取更多权威电子书请登录 前言 嵌入式系统通常是以具体应用为中心,以处理器为核心且面向实际应用的软硬件系统,其硬件是整个嵌入式系统运行的基础和平台,提供了软件运行所需的物理平台和通信接口;而嵌入式系统的软件一般包括操作系统和应用软件,它们是整个

系统的控制核心,提供人机交互的信息等。所以,嵌入式系统的开发通常包括硬件和软件两部分的开发,硬件部分主要包括选择合适的MCU 或者SOC 器件、存储器类型、通讯接口及I/O、电源及其他的辅助设备等;软件部分主要涉及OS porting和应用程序的开发等,与此同时,软件中断调试和实时调试、代码的优化、可移植性/可重用以及软件固化等也是嵌入式软件开发的关键。 嵌入式系统开发的每一个环节都可以独立地展开进行详细的阐述,而本文的出发点主要是为嵌入式开发的初学者者提供一个流程参考。因为对于初学者在面对一个嵌入式开发项目的时候,往往面临着诸多困难,如选择什么样的开发平台?什么样的器件类型?在进行编译时怎样实现代码优化?开发工具该如何选择和使用?在进行程序调试时应该注意那些问题以及选择什么样的嵌入式OS 等等。希望通过本文,能帮助初学者了解有关ARM 嵌入式系统开发流程。 获取更多权威电子书请登录 目录 前言 (2) 1 嵌入式开发平台 (4) 1.1 ARM的开发平台: (4) 1.2 器件选型 (7) 2 工具选择 (11) 3 编译和连接 (13) 3.1 RVCT的优化级别与优化方向 (16) 3.2 Multifile compilation (21) 3.3调试 (22)

嵌入式系统概论讲解

第一章嵌入式系统概论 参考习题 1、嵌入式系统本质上是什么系统? 答:从本质上讲,嵌入式系统中的计算机总是处于一种实时计算模式,也可以认为嵌入式计算机应具有某种实时性。也就是说,从嵌入式系统的广义概念考虑,嵌入式系统都可以看成是实时系统。 2、嵌入式系统开发与PC机软件开发的区别是什么? 答:嵌入式开发就是设计特定功能的计算机系统,形象的说就是开发一种嵌入在一个机器上实现特定功能的一个系统。PC的开发往往是上层应用程序,会更多的和业务流程,数据库,UI打交道。嵌入式的开发主要是和底层打交道,例如内存,NAND, 各种控制器,中断调度等等。当然现在也有很多需要在嵌入式设备上开发上层应用程序的需求了。 3、嵌入式系统基本概念? 答:嵌入式系统是以应用为中心,以计算机技术为基础,软硬件可配置,对功能、可靠性、成本、体积、功耗有严格约束的专用系统。这类系统一般由嵌入式微处理器、外围硬件设备、嵌入式操作系统(可选择)以及应用程序等四个部分组成的。 4、嵌入式系统分类?

答:(1)按微处理器位数划分 按所采用的处理器位数,可以分为4位、8位、16位、32位和64位系统。 (2)按应用类别划分 可以简单地划分为信息家电、通信、汽车电子、航空航天、移动设备、军用电子、工业控制、环境监控等各种类型。 (3)按系统的实时性划分 硬实时系统、软实时系统和自适应实时。 (4)按工业界应用的复杂程度划分 简单单处理器系统 可扩展单处理器系统 复杂嵌入式系统 制造或过程控制中使用的计算机系统 第二章ARM嵌入式微处理器技术基础 参考习题 1、ARM32位指令、16位指令的特点。 答:ARM微处理器支持32位的ARM指令集和16位Thumb指令集,每种指令集各有自己的优点和缺点:ARM指令集效率高,但代码密度低;Thumb指令集具有较高的代码密度,却仍保持ARM的大多数性能上的优势,可看做ARM指令集的子集。

嵌入式系统开发方法综述

嵌入式系统开发方法综述 刘丹 (机械工业仪器仪表综合技术经济研究所,北京市 100055)Liu Dan (Instrumentation Technology & Economy Institute, Beijing 100055) Development Methods of Embedded System Abstract: Embedded systems have particular properties, such as real-time, concurrency, distribution, high reliability,and etc., which lead to large challenges and urgent requirements for corresponding methods and tools when developing such systems. From the view of engineering practice, the paper summarizes what problems developers will face during embedded system design, and what main methods and technologies will be used for resolving such problems. These methods and technologies are called embedded system developing methods. Key words: Embedded System HW-SW Co-Design Method Formal Modeling Method Structural Design Method Object-Oriented Design Method 【摘 要】嵌入式系统的实时性、并发性、分布性和高可靠性等特点使得系统的开发面临巨大挑战,迫切需 要相应开发方法的指导和开发工具的支持。本文从工程实践角度出发,总结在嵌入式系统设计过程中,开发人员会面临哪些主要问题,以及为解决问题而产生哪些主要方法和技术。这些方法和技术被统称为嵌入式系统的开发方法。 【关键词】嵌入式系统 软硬件协同设计方法 形式化建模方法 结构化设计方法 面向对象设计方法 收稿日期:2008-08-01作者简介:刘丹(1977-),女,博士,毕业于中科院沈阳自动化研究所,现就职于机械工业仪器仪表综合技术经济研究所,主要从事工业自动化、控制网络的技术和标准化研究,现负责PROFIBUS PA产品的认证测试工作。 引言 嵌入式系统是指以应用为中心、以计算机技术为基础、软硬件可裁剪、适应应用环境对功能、实时性、可靠性、成本、体积、功耗等严格约束的专用计算机系统。嵌入式系统的内容广泛,小到一个芯片,大到复杂的分布式系统都可以称为嵌入式系统,通常以SoC、单片机、单板机、多板式箱式结构、嵌入式PC等形式嵌入到信息家电、数字通信、工业控制、航空航天、医疗设施、军事电子等领域的设备或系统中,作为处理和控制的核心。 嵌入式系统的实时性、并发性、分布性和高可靠性等特点使得系统的开发面临巨大挑战,迫切需要相应的开发方法的指导和开发工具的支持。嵌入式系统开发方法的研究内容包括设计方法论、工程开发技术、以及相应辅助工具的开发。现代的系统开发是一个基于模型(model-based)的,从规约到实现的过程。模型是反映真实世界和系统实现两方面的抽象,帮助开发人员把握应用的最重要特性,是系统分析与验证的 基础,并为软件和硬件的实现要素提供表示视图。因此,系统模型设计在整个开发过程中最为重要。此外,任何工程开发技术都是在一定设计方法基础上提出一系列开发步骤,辅助工具则为这些设计方法和开发技术提供自动或半自动的工具支持。因此,设计方法决定了系统开发过程中的其它分析、验证、实现等方法,或者广义上说,系统的设计方法就是系统的开发方法。 本文从工程实践角度出发,总结在嵌入式系统设计过程中,开发人员会面临哪些主要问题,以及为解决问题而产生哪些主要方法和技术。这些方法和技术被统称为嵌入式系统的开发方法。 1 软硬件“分离”设计方法与软硬件协同设计方法 首先,用户或产品开发决策者要根据对产品性能、体积、开发成本以及上市时间等设计指标的评估,决定系统最终是以电路板式,还是以芯片式的形式实现。一般而言,对性能和体积要求不高,产品数量小,如1~几百个,但要求上市时间早的嵌入式系统,多采用电路板式实现;反之,系统体积小,产品数量大,但对上市时间要求比较松的嵌入式系统,多采用SoC芯片式实现。相应地,对于设计者而言,不同的实现形式一般应用不同的设计方法,包括软硬件“分离”设计和软硬件协同设计。 Review and Research

(完整版)嵌入式系统课后答案马维华

第1章嵌入式系统概述 1,什么是嵌入式系统嵌入式系统的特点是什么 嵌入式系统概念: (1) IEEE对嵌入式系统的定义:用于控制,监视或者辅助操作机器和设备的装置. (2)一般定义:以应用为中心,以计算机技术为基础,并且软硬件可裁剪,适用于应用系统对功能,可靠性,成本,体积,功耗有严格要求的专用计算机系统. 嵌入式系统的特点: (1) 专用的计算机系统 (2) 必须满足环境要求 (3) 必须能满足对象系统的控制要求 (4) 是集成计算机技术与各行业应用的集成系统 (5) 具有较长的生命周期 (6) 软件固化在非易失性存储器中 (7) 必须能满足实时性要求 (8) 需要专用开发环境和开发工具 2,简单分析几种嵌入式操作系统的主要特点,包括嵌入式Linux,Windows CE,uCOS II 及VxWorks. (1)嵌入式Linux:有多个主流版本,根据应用需求,性能略有差别.μCLinux是Linux小型化后,适合于没有MMU的微处理器芯片而裁剪成的操作系统,μCLinux保持了传统Linux操作系统的主要特性,包括稳定,强大的网络和文件系统的支持,μCLinux裁剪了大量的Linux内核以缩小尺寸,适合像512KB RAM,1MB Flash这样小容量,低成本的嵌入式系统.RT_Linux即能兼容通常的Linux,又能保证强实时性. (2)Windows CE:开发平台主要为WinCE Platform Builder,有时也用EVC环境开发一些较上层的应用.WinCE开发难度远低于嵌入式Linux,实时性略低,常用于手机,PDA等手持设备中. (3)uCOS II:结构小巧,抢先式的实时嵌入式操作系统,具有执行效率高,占用空间小,可移植性强,实时性能好和可扩展性能等优点.主要用于小型嵌入式系统. (4) VxWorks: 集成开发环境为Tornado,Vxworks因出现稍早,实时性很强,并且内核可极微(最小8K),可靠性较高等.通常应用在通信设备等实时性要求较高的系统中. 第2章嵌入式处理器体系结构 1,具体说明ARM7TDMI的含义,其中的T,D,M,I分别代表什么 ARM7TDMI是ARM7处理器系列成员之一,采用V4T版本指令.T表示Thumb,该内核可从16位指令集切换到32位ARM指令集;D表示Debug,该内核中放置了用于调试的结构,支持片内Debug调试;M表示Multiplier,支持位乘法;I表示Embedded ICE ,内含嵌入式ICE宏单元,支持片上断点和观察点. 2,ARMV4及以上版本的CPSR的哪一位反映了处理器的状态若CPSR=0x000000090,分析系统状态.CPSR=0x000000090表示当前处理器工作于ARM状态,系统处于用户模式下. CPSR的BIT5(T)反映当前处理器工作于ARM状态或Thumb状态. 3,ARM有哪几个异常类型,为什么FIQ的服务程序地址要位于0x1C 在复位后,ARM处理器处于何种模式,何种状态 ARM的7种异常类型:复位RESET异常,未定义的指令UND异常,软件中断SWI异常,指令预取中止PABT异常,数据访问中止DABT异常,外部中断请求IRQ异常,快速中断请求FIQ 异常.在有快速中断发生时,CPU从0x1C处取出指令执行.ARM复位后处于管理模式,工作于ARM状态. 4,为什么要使用Thumb模式,与ARM代码相比较,Thumb代码的两大优势是什么

归纳嵌入式系统概论习题

第一题单项选择题 1、ADDS R0,R1,R2执行完成后,不会对CPSR中的哪一位产生影响( B)? A、N B、C C、V D、F 2、FD表示( B )。 A、满递增堆栈 B、满递减堆栈 C、空递增堆栈 D、空递减堆栈 3、已知R0=0xFFFFFC0F,则执行MVN R1,R0后,R1的值为(C )。 A、0xFFFFFFFF B、0xFFFFFFF0 C、0x3F0 D、0x3F 4、在Linux中使用ls命令显示当前目录的所有内容应使用(A)参数? A、-l B、-a C、-d D、-i 5、在EMBEST IDE开发环境中,程序的默认入口地址为( C )。 A、0x C000 B、0x 1C00 C、0x 8000 D、0x 0 6、已知R0=0x1000,R1=0x2000则执行CMP R0,R1后,R0的值为(B) A、0x2000 B、0x1000 C、0xFFFFF000 D、0xFFFFEFFF 7、已知R1=0x2F,则执行mov R0,R1,ASL #2后,R0的值为(D )。 A、0xBC B、0xBF C、0x2F0 D、0x2F 8、在Linux中查看文件前10行内容的命令是( D)。 A、less B、cat C、tail D、head 9、已知R0=0xFC,则执行BIC R0,#0x3C后,R0的值为( D )。 A、0x18 B、0x24 C、0xC0 D、0x30 10、已知R0*R1=0x1C2F3E4D5C6B,则执行SMULL R2,R3,R0,R1后,R2和R3的值分别为(D)。 A、R2=0x1C2F3E4D R3=0x5C6B B、R2=0x5C6B R3=0x1C2F3E4D C、R2=0x1C2F R3=0x3E4D5C6B D、R2=0x3E4D5C6B R3=0x1C2F 11、EMPU是( B )。 A、嵌入式微控制器 B、嵌入式微处理器 C、片上系统 D、嵌入式数字信号处理器 12、以下不属于CPSR的条件码标志位的是(A)。 A、F B、N C、Z D、C 13、S3C44B0X的内核工作电压是( B )。 A、3.0V B、2.5V C、3.5V D、 1.5V 14、Linux中删除目录的命令是(B)。 A、rm B、 rmdir C、mkdir D、del 15、能实现ARM处理器在两种工作状态之间进行切换的命令是( D )。 A、B B、 BL C、 BLX D、BX 16、若CPSR寄存器的低5位(4-0)的值为10010,则ARM处理器工作于(B) 模式。 A、FIQ B、IRQ C、USER D、SVC

嵌入式部分课后题答案

嵌入式复习资料 第一章嵌入式系统概述: 1、什么是嵌入式系统?是简单列举一些生活中常见的嵌入式系统的实例。P3 嵌入式系统是用于检测、控制、辅助、操作机械设备的装置。以应用为中心,一计算机技术为基础,软硬件可裁剪,适应应用系统对功能、可靠性、成本、体积和功耗等严格要求的专用计算机系统。 3、是比较嵌入式系统与通用PC的区别。P3 (1)嵌入式系统是专用的计算机系统,而PC是通用的计算机系统。 (2)技术要求不同,通用PC追求高速、海量的数据运算;嵌入式要求对象体系的智能化控制。 (3)发展方向不同,PC追求总线速度的不断提升,存储容量不断扩大;嵌入式追求特定对象系统的智能性,嵌入式,专用性。 4、嵌入式体统有哪些部分组成?简单说明各部分的功能与作用。P6 (1)硬件层是整个核心控制模块(由嵌入式微处理器、存储系统、通信模块、人机接口、其他I/O接口以及电源组成),嵌入式系统的硬件层以嵌入式微处理器为核心,在嵌入式微处理器基础上增加电源电路、时钟电路、和存储器电路(RAM和ROM等),这就构成了一个嵌入式核心控制模块,操作系统和应用程序都可以固化在ROM中。 (2)中间层把系统软件与底层硬件部分隔离,使得系统的底层设备驱动程序与硬件无关。一般包括硬件抽象层(Hardware Abstract Layer,HAL)和板级支持包(Board Support Package,BSP)。 (3)软件层由实时操作系统(Real Time Operating System,RTOS)、文件系统、图形用户接口(Graphical User Interfaces,GUI)、网络组件组成。(4)功能层是面向被控对象和用户的,当需要用户操作是往往需要提供一个友好的人际界面。 5、嵌入式系统是怎么分类的?P7 按照嵌入式微处理器的位数分类(4位、8位、16位、32位、64位);按照是实时性分类(硬实时系统式之系统对响应时间有严格的要求;软实时系统是对响应时间有一定要求); 按照嵌入式软件结构分类(循环轮询系统、前后台系统、多任务系统);按照应用领域分类。 6什么是多任务系统?多任务系统的特点些?P9 应用的场合:对于较复杂的嵌入式系统而言,存在许多互不相关的过程需要计算机同时处理,在这种情况下就需要采用多任务系统。 多任务系统的软件是由多个任务、多个中断服务程序以及嵌入式操作系统组成。任务是顺序执行的,并行性通过操作系统完成。 特点:(1)每个任务都是一个无限循环的程序,等待特定的输入,从而机型相应的处理。(2)这种程序模型将系统成分相对简单、相互合作的模块。(3)不同的任务共享同一个CPU和其他硬件,嵌入式操作系统对这些共享资源进行管理。(4)多个顺序机型的任务在宏观上是并行执行的,每个任务都运行在自己独立的CPU上。 第二章嵌入式处理器 1`嵌入式处理器有哪几类?简述各类嵌入式处理器的主要特点和应用领域。P16 嵌入式微控制器、嵌入式微处理器、嵌入式DSP、嵌入式片上系统。(1)嵌入式

嵌入式系统的发展概况及其发展前景

嵌入式系统的发展概况及其发展前景 随着信息技术的高速发展,电子产品越来越普及,这些产品的发展得益于嵌入式系 统技术的快速发展,如Mp3 、手机等日常用品就是嵌入式系统技术的应用。但嵌入式系统技术的应用还远不止此,在工业控制、交通管理、信息家电、家庭智能管理、网络及电子商务、航天航空、军事设备、船舶等领域都有着重要的应用。嵌入式系统技术正悄然地影响着我们的生活,给我们带来了巨大的便利。它在我们的生产、生活中有着广泛的应用,并且有着良好的发展前景。一、嵌入式系统发展历程 嵌入式系统的发展大致经历了4 个阶段: 第一阶段:单片微型计算机(SCM )阶段,即单片机时代。这一阶段的嵌入式系统硬件是单片机,软件停留在无操作系统阶段,采用汇编语言实现系统的功能。这阶段的主要特点是:系统结构和功能相对单一、处理效率低、存储容量也十分有限,几乎没有用户接口。 第二阶段:微控制器(MUC )阶段。主要的技术发展方向是:不断扩展对象系统要求的各种外围电路和接口电路,突显其对象的智能化控制能力。这一阶段主要以嵌入式微处理器为基础、以简单操作系统为核心,主要特点是硬件使用嵌入式微处理器,微处理器的种类繁多,通用性比较弱;系统开销小,效率高。 第三阶段:片上系统(SOC)。主要特点是:嵌入式系统能够运行于各种不 同类型的微处理器上,兼容性好,操作系统的内核小,效果好。 第四阶段:以Internet 为标志的嵌入式系统。嵌入式网络化主要表现在两个方面, 一方面是嵌入式处理器集成了网络接口,另一方面是嵌入式设备应用于网络环境中、嵌入式系统的含义 目前,嵌入式系统还没有比较权威、比较统一的定义,人们从不同的角度来理解嵌入式系统,描述嵌入式系统。

嵌入式软件开发流程

嵌入式软件开发流程 一、嵌入式软件开发流程 1.1 嵌入式系统开发概述 由嵌入式系统本身的特性所影响,嵌入式系统开发与通用系统的开发有很大的区别。嵌入式系统的开发主要分为系统总体开发、嵌入式硬件开发和嵌入式软件开发3大部分,其总体流程图如图1.1所示。 图1.1 嵌入式系统开发流程图 在系统总体开发中,由于嵌入式系统与硬件依赖非常紧密,往往某些需求只能通过特定的硬件才能实现,因此需要进行处理器选型,以更好地满足产品的需求。另外,对于有些硬件和软件都可以实现的功能,就需要在成本和性能上做出抉择。往往通过硬件实现会增加产品的成本,但能大大提高产品的性能和可靠性。 再次,开发环境的选择对于嵌入式系统的开发也有很大的影响。这里的开发环境包括嵌入式操作系统的选择以及开发工具的选择等。比如,对开发成本和进度限制较大的产品可以选择嵌入式Linux,对实时性要求非常高的产品可以选择Vxworks等。

1.2 嵌入式软件开发概述 嵌入式软件开发总体流程为图4.15中“软件设计实现”部分所示,它同通用计算机软件开发一样,分为需求分析、软件概要设计、软件详细设计、软件实现和软件测试。其中嵌入式软件需求分析与硬件的需求分析合二为一,故没有分开画出。 由于在嵌入式软件开发的工具非常多,为了更好地帮助读者选择开发工具,下面首先对嵌入式软件开发过程中所使用的工具做一简单归纳。 嵌入式软件的开发工具根据不同的开发过程而划分,比如在需求分析阶段,可以选择IBM的Rational Rose等软件,而在程序开发阶段可以采用CodeWarrior(下面要介绍的ADS 的一个工具)等,在调试阶段所用的Multi-ICE等。同时,不同的嵌入式操作系统往往会有配套的开发工具,比如Vxworks有集成开发环境Tornado,WindowsCE的集成开发环境WindowsCE Platform等。此外,不同的处理器可能还有对应的开发工具,比如ARM的常用集成开发工具ADS、IAR和RealView等。在这里,大多数软件都有比较高的使用费用,但也可以大大加快产品的开发进度,用户可以根据需求自行选择。图4.16是嵌入式开发的不同阶段的常用软件。 图1.2 嵌入式开发不同阶段的常用软件 嵌入式系统的软件开发与通常软件开发的区别主要在于软件实现部分,其中又可以分为编译和调试两部分,下面分别对这两部分进行讲解。 1.交叉编译 嵌入式软件开发所采用的编译为交叉编译。所谓交叉编译就是在一个平台上生成可以在另一个平台上执行的代码。在第3章中已经提到,编译的最主要的工作就在将程序转化成运行该程序的CPU所能识别的机器代码,由于不同的体系结构有不同的指令系统。因此,不同的CPU需要有相应的编译器,而交叉编译就如同翻译一样,把相同的程序代码翻译成不同CPU的对应可执行二进制文件。要注意的是,编译器本身也是程序,也要在与之对应的某一个CPU平台上运行。嵌入式系统交叉编译环境如图4.17所示。

嵌入式系统的发展过程与现状

嵌入式系统的发展过程与现状 在信息技术和网络技术高速发展的后PC时代,嵌入式系统已经广泛地渗透到科学研究、工程设计、军事技术等众多领域。随着各种嵌入式产品的开发和推广,嵌入式技术和人们的生活将会越来越密切。在PC时代,可能有人从来没有接触过计算机。但是在后PC 时代,他就不可能不接触嵌入式系统。因为嵌入式系统存在于生活的方方面面,从洗衣机、电冰箱等到家用电器,到自行车、汽车等交通工具,以及办公室里的几乎每一个电气设备,其中可能都有嵌入式系统,或者都属于嵌入式技术开发和改造的对象。 我们所说的嵌入式系统由于使用的范围很广,因此并没有一个比较统一的定义。一般我们可以认为嵌入式系统一般指非PC系统,它包括硬件各软件两部分。硬件包括处理器(或微处理器)、存储器、外设器件、I/O端口和图形控制器等。软件部分包括操作系统和应用程序编程。因此我主要从芯片,外围器件,软件和开发系统的发展来阐述嵌入式系统的发展过程与现状。 首先,就嵌入式系统的芯片(嵌入式处理器)而言,我们知道嵌入式系统的出现最初是基于单片机发展起来的。因此可以说嵌入式系统的芯片的发展是伴随着微处理器的发展成长起来的,最早的单片机是Intel公司的8048,它出现在1976年。Motorola同时推出了68HC05,Zilog公司推出了Z80系列,这些早期的单片机均含有256字节的RAM、4K的ROM、4 个8位并口、1个全双工串行口、两个16位定时器。之后在80年代初,Intel又进一步完善了

8048,在它的基础上研制成功了8051,这在单片机的历史上是值得纪念的一页,迄今为止,51系列的单片机仍然是最为成功的单片机芯片,在各种产品中有着非常广泛的应用。同样嵌入式系统的芯片也是经过了由低到高的发展过程。如最初ARM系列的ARM1,其地址空间是26位,仅支持26们寻址空间。不支持乘法或协处理器指令。而在实际应用当中工控的要求往往较高,需要各种各样的设备接口,除了进行实时控制,还须将设备状态,传感器的信息等在显示屏上实时显示。这些要求8位的处理器是无法满足的,以前多数使用16位的处理器,随着处理器快速的发展,目前32位、64位的处理器逐渐替代了16位处理器,进一步提升了系统性能。而这也正成为一种市场的潮流。 其次在芯片飞速发展的同时,其外设也得到了长足的发展。外部设备指嵌入式目标系统与真实环境交互的各种设备,包括通用串行总线、存储设备、鼠标、键盘。液晶显示、红外线数据传输和打印设备等。因为现代加工技术发展,过去那种设定程序后就让其固定地按程序运行的方式已经不能满足人们对现代产品加工的要求了,人们迫切的希望嵌入式系统具有人机交互的功能。例如我们传统的电视、电冰箱其中也嵌有处理器,但是这些处理器过去只是在控制方面应用。而现在只有按钮、开关的电器显然已经不能满足人们的日常需求,具有用户界面,能远程控制,智能管理的电器是未来的发展趋势。我想这也是嵌入式系统外设发展的一个原因。 最后作为一个系统,往往是在硬件和软件交替发展的双螺旋的

嵌入式软件开发流程

嵌入式软件开发流程

————————————————————————————————作者:————————————————————————————————日期:

嵌入式软件开发流程 一、嵌入式软件开发流程 1.1 嵌入式系统开发概述 由嵌入式系统本身的特性所影响,嵌入式系统开发与通用系统的开发有很大的区别。嵌入式系统的开发主要分为系统总体开发、嵌入式硬件开发和嵌入式软件开发3大部分,其总体流程图如图1.1所示。 图1.1 嵌入式系统开发流程图 在系统总体开发中,由于嵌入式系统与硬件依赖非常紧密,往往某些需求只能通过特定的硬件才能实现,因此需要进行处理器选型,以更好地满足产品的需求。另外,对于有些硬件和软件都可以实现的功能,就需要在成本和性能上做出抉择。往往通过硬件实现会增加产品的成本,但能大大提高产品的性能和可靠性。 再次,开发环境的选择对于嵌入式系统的开发也有很大的影响。这里的开发环境包括嵌入式操作系统的选择以及开发工具的选择等。比如,对开发成本和进度限制较大的产品可以选择嵌入式Linux,对实时性要求非常高的产品可以选择Vxworks等。

1.2 嵌入式软件开发概述 嵌入式软件开发总体流程为图4.15中“软件设计实现”部分所示,它同通用计算机软件开发一样,分为需求分析、软件概要设计、软件详细设计、软件实现和软件测试。其中嵌入式软件需求分析与硬件的需求分析合二为一,故没有分开画出。 由于在嵌入式软件开发的工具非常多,为了更好地帮助读者选择开发工具,下面首先对嵌入式软件开发过程中所使用的工具做一简单归纳。 嵌入式软件的开发工具根据不同的开发过程而划分,比如在需求分析阶段,可以选择IBM的Rational Rose等软件,而在程序开发阶段可以采用CodeWarrior(下面要介绍的ADS 的一个工具)等,在调试阶段所用的Multi-ICE等。同时,不同的嵌入式操作系统往往会有配套的开发工具,比如Vxworks有集成开发环境Tornado,WindowsCE的集成开发环境WindowsCE Platform等。此外,不同的处理器可能还有对应的开发工具,比如ARM的常用集成开发工具ADS、IAR和RealView等。在这里,大多数软件都有比较高的使用费用,但也可以大大加快产品的开发进度,用户可以根据需求自行选择。图4.16是嵌入式开发的不同阶段的常用软件。 图1.2 嵌入式开发不同阶段的常用软件 嵌入式系统的软件开发与通常软件开发的区别主要在于软件实现部分,其中又可以分为编译和调试两部分,下面分别对这两部分进行讲解。 1.交叉编译 嵌入式软件开发所采用的编译为交叉编译。所谓交叉编译就是在一个平台上生成可以在另一个平台上执行的代码。在第3章中已经提到,编译的最主要的工作就在将程序转化成运行该程序的CPU所能识别的机器代码,由于不同的体系结构有不同的指令系统。因此,不同的CPU需要有相应的编译器,而交叉编译就如同翻译一样,把相同的程序代码翻译成不同CPU的对应可执行二进制文件。要注意的是,编译器本身也是程序,也要在与之对应的某一个CPU平台上运行。嵌入式系统交叉编译环境如图4.17所示。

嵌入式系统概述

1 嵌入式系统概述 嵌入式系统(Embedded System )也称嵌入式计算机系统。顾名思义,嵌入式系统是计算机的一种特殊形式,是计算机技术、通信技术、半导体技术、微电子技术、语音图像数据传输技术,甚至传感器等先进技术和具体应用对象相结合后的更新换代产品。嵌入式系统不仅和一般的PC 机上的应用系统不同,而且针对不同的具体应用而设计的嵌入式系统之间的差别也很大。嵌入式系统强调硬件和软件的协同性与整合性,软件和硬件可剪裁的,适用于应用系统对功能、可靠性、成本、体积、功耗和应用环境等有严格要求的专用计算机系统。 嵌入式系统特别强调“量身定做”的原则,开发人员往往需要针对某一种特殊用途开发出一个截然不同的嵌入式系统,其特点如下。 (1)嵌入式系统具有应用针对性 应用针对性是嵌入式系统的一个基本特征,体现这种应用针对性的首先是软件,软件实现特定应用所需要的功能,所以嵌入式系统应用中必定配置了专用的应用程序;其次是硬件,大多数嵌入式系统的硬件是针对应用专门设计的,但也有一些标准化的嵌入式硬件模块,采用标准模块可降低开发的技术难度和风险,缩短开发时间,但灵活性不足。 (2)嵌入式系统硬件扩展能力要求不高 硬件上,嵌入式系统作为一种专用的计算机系统,其功能、机械结构、安装要求比较固定,所以一般没有或仅有较少的扩展能力;软件上,嵌入式系统往往是一个设备固定组成部分,其软件功能由设备的需求决定,在相对较长的生命周期里,一般不需要对软件进行改动。但也有一些特例,比如现在的手机,尤其是安装有嵌入式操作系统的智能手机,软件安装、升级比较灵活,但相对于桌面计算机,其软件扩展能力还是相当弱。 (3)嵌入式系统操作系统精简 在现代的通用计算机中,没有操作系统是无法想象的,而在嵌入式计算机中情况则大第 章

嵌入式linux系统开发概述

嵌入式linux系统开发概述 作者:谷丰,[email=您可以通 过%3Ca%20href=]gufeng77@https://www.wendangku.net/doc/ac4385114.html,[/email]" target="_blank">您可以通过 gufeng77@https://www.wendangku.net/doc/ac4385114.html,和他联系 基于linux的嵌入式系统开发是一个很大的课题,涵盖了从硬件到软件设计的多个领域,由于linux的开源特性,导致开发中可以使用的软件和工具多不胜数,从最底层与系统硬件直接打交道的引导装载程序(bootloader),到linux操作系统的分发版(distribution),再到上层的图形用户界面(GUI)乃至应用程序(application),可供选择的软件实在是太多了,这对开发者来说是一种恩赐。但由于标准的不统一,对于刚刚步入这个领域的初学者来说,很难在短时间内全部了解和掌握它们。本文论述了嵌入式linux开发的基本模式和概念,给出了一些常用的软件和工具,旨在带领他们更快的走入这个奇妙的世界。 1 引导装载程序(bootloader) 引导装载程序通常是在任何硬件上执行的第一段代码,它的主要任务视装载设备的不同而不同。在台式机和笔记本这样的常规系统中,经常存在多个操作系统并存的情况,因此bootloader的主要作用就是选择系统使用何种操作系统来引导。常用的引导程序有LILO或GRUB,通常将它们装入硬盘的主引导记录(Master Boot Record)中,或者装入linux 驻留的磁盘的第一个扇区。 在嵌入式系统中,情况有些不同。首先,嵌入式设备通常需要经常地移 动,考虑到在移动过程中的震动,一般不会采用机械式结构设计的硬盘为存 储设备;而且从成本控制上说,硬盘的价格比较高,除非是需要大容量存储 的场合,硬盘不适合作为嵌入式设备的存储介质。目前采用得比较多的是闪 存设备,闪存设备是与存储设备功能类似的特殊芯片,而且它

嵌入式系统的发展概况及其发展前景

嵌入式系统的发展概况 及其发展前景 Company Document number:WTUT-WT88Y-W8BBGB-BWYTT-19998

嵌入式系统的发展概况及其发展前景 随着信息技术的高速发展,电子产品越来越普及,这些产品的发展得益于嵌入式系统技术的快速发展,如Mp3、手机等日常用品就是嵌入式系统技术的应用。但嵌入式系统技术的应用还远不止此,在工业控制、交通管理、信息家电、家庭智能管理、网络及电子商务、航天航空、军事设备、船舶等领域都有着重要的应用。嵌入式系统技术正悄然地影响着我们的生活,给我们带来了巨大的便利。它在我们的生产、生活中有着广泛的应用,并且有着良好的发展前景。 一、嵌入式系统发展历程 嵌入式系统的发展大致经历了4个阶段: 第一阶段:单片微型计算机(SCM)阶段,即单片机时代。这一阶段的嵌入式系统硬件是单片机,软件停留在无操作系统阶段,采用汇编语言实现系统的功能。这阶段的主要特点是:系统结构和功能相对单一、处理效率低、存储容量也十分有限,几乎没有用户接口。 第二阶段:微控制器(MUC)阶段。主要的技术发展方向是:不断扩展对象系统要求的各种外围电路和接口电路,突显其对象的智能化控制能力。这一阶段主要以嵌入式微处理器为基础、以简单操作系统为核心,主要特点是硬件使用嵌入式微处理器,微处理器的种类繁多,通用性比较弱;系统开销小,效率高。 第三阶段:片上系统(SOC)。主要特点是:嵌入式系统能够运行于各种不同类型的微处理器上,兼容性好,操作系统的内核小,效果好。 第四阶段:以Internet为标志的嵌入式系统。嵌入式网络化主要表现在两个方面,一方面是嵌入式处理器集成了网络接口,另一方面是嵌入式设备应用于网络环境中。 二、嵌入式系统的含义 目前,嵌入式系统还没有比较权威、比较统一的定义,人们从不同的角度来理解嵌入式系统,描述嵌入式系统。 1.从应用角度:嵌入式系统被定义为以应用为中心、以计算机技术为基础、软件硬件可裁剪、适应系统对功能、可靠性、成本、体积、功耗严格要求

嵌入式实时操作系统RTOS分析教学大纲

《嵌入式实时操作系统RTOS分析》教学大纲 一、课程概述 嵌入式计算机系统开发技术是继互联网技术之后,计算机应用技术的又一个发展热点,它的发展,对人类的工作、生活的影响,将较之互联网技术的影响更为深远,对计算机科学技术学科教学模式,人才培养模式也将产生重大的影响。 嵌入式系统是一项以计算机开发技术为基础的计算机应用技术,在嵌入式系统开发中,特别是嵌入式软件开发中,如何更好的使用各种开发工具,组织各种开发资源,是嵌入式软件开发的核心问题,其中,操作系统作为嵌入式基本软件资源,在嵌入式系统开发中,具有及其重要的地位,因此,学生在学完前续课程之后,开设《嵌入式实时操作系统分析》这门课程。 《嵌入式实时操作系统分析》是一门培养学生具有嵌入式系统管理软件、应用软件开发能力的技术基础课。是计算机系嵌入式系统专业的主要课程之一,本课程在教学方面应着重基本知识、基本理论和基本方法,在培养实践能力方面着重于软件设计,特别是计算机管理软件设计构思、设计技能的基本训练。 《嵌入式实时操作系统分析》是计算机系嵌入式系统专业的专业基础课程,与《嵌入式系统应用原理》、《单片机应用技术》等课程处于同一层次。它与《计算机组成原理》、《C语言程序设计》、《算法与数据结构》、《操作系统》、《单片机》等课程构成计算机系嵌入式系统专业系列课程体系。先修课程有《电工电子电路》、《数字电路》、《计算机组成原理》、《C语言程序设计》、《算法与数据结构》、《单片机》、《操作系统》。 这门学科的重点是为“计算机系嵌入式系统专业”专业的学生,在系统软件应用设计与编程方面奠定最基本的知识和技能基础。 二、课程目标 1.具有正确的系统软件设计思想、勇于创新探索、实事求是的严谨学习态度 2.掌握系统管理软件的基本工作机理,掌握实时操作系统工作的—般规律,进而具有综合运用所学的知识,研究改进或开发新的基础管理软件及设计简单的管理模块的能力; 3.具有运用编程规范、手册、图册和查阅有关技术资料的能力; 4.掌握计算机系统管理软件的基本设计方法,获得有关计算机管理软件设计的基本技能的基本训练;

嵌入式系统的定义与发展历史

嵌入式系统的定义与发展历史 [日期:2004-12-11] 来源:单片机及嵌入式系统应用作者:北京航空航天大学 何立民 [字体:大中小] 摘要:嵌入式系统诞生于微型机时代,经历了漫长的独立发展的单片机道路。给嵌入式系统寻求科学的定义,必须了解嵌入式系统的发展历史,按照历史性、本质性、普遍通用性来定义嵌入式系统,并把定义与特点相区分。由于嵌入式系统应用中,对象系统的广泛性与单片机的独主发展道路,使嵌入式系统应用在客观上存在两种模式,从学科建设上,可统一成嵌入式系统应用的高低端。 关键词:嵌入式系统发展史嵌入式系统定义应用模式高低端应用 目前,在嵌入式系统应用领域中,不少人对什么是嵌入式系统不甚了解。有些人搞了十多年的单片机应用,不知道单片机就是一个最典型的嵌入式系统;也有些人在解释什么是嵌入式系统时,不是从定义出发,而是列举了嵌入式系统的一些特点,往往不知所云。因此,有必要从现代计算的发展历史,了解嵌入式系统的由来,从学科建设的角度来探讨嵌入式系统较为准确的定义。 1 现代计算机的技术发展史 (1)始于微型机时代的嵌入式应用 电子数字计算机诞生于1946年,在其后漫长的历史进程中,计算机始终是供养在特殊的机房中,实现数值计算的大型昂贵设备。直到20世纪70年代,微处理器的出现,计算机才出现了历史性的变化。以微处理器为核心的微型计算机以其小型、价廉、高可靠性特点,迅速走出机房;基于高速数值解算能力的微型机,表现出的智能化水平引起了控制专业人士的兴趣,要求将微型机嵌入到一个对象体系中,实现对象体系的智能化控制。例如,将微型计算机经电气加固、机械加固,并配置各种外围接口电路,安装到大型舰船中构成自动驾驶仪或轮机状态监测系统。这样一来,计算机便失去了原来的形态与通用的计算机功能。为了区别于原有的通用计算机系统,把嵌入到对象体系中,实现对象体系智能化控制的计算机,称作嵌入式计算机系统。因此,嵌入式系统诞生于微型机时代,嵌入式系统的嵌入性本质是将一个计算机嵌入到一个对象体系中去,这些是理解嵌入式系统的基本出发点。

嵌入式系统概论A卷(答案)

11-12学年上学期嵌入式系统概论期末试卷(A卷)答案及评分细则 一、填空题:(本大题共20空,每空1.5分,共30分) 1.ARM920T 2.冯诺依曼、哈佛结构 3.非特权模式、特权模式、非特权模式 4.ARM 、Thumb 、32 、16 5.立即 6.嵌入式微控制器、嵌入式数字信号处理器、嵌入式微处理器、嵌入式片上系统 7.高速缓存、内存、外存 8.3级、5级 二、名词解释:(本大题共5题,每题4分,共20分) 1、CISC:复杂指令集计算机 2、RISC:精简指令集计算机 3、RTOS: 实时操作系统 4、占先式内核:高优先级的任务一旦就绪,总能立即获得CPU使用权 5、交叉编译:在一种体系平台编译在另外一种体系平台运行 三、简答题(本大题共5题,每题6分,共30分) 1.简要叙述嵌入式系统的定义。 嵌入式系统是以应用为中心,以计算机技术为基础,并且在软、硬件方面可进行裁剪,适用于应用系统对功能、可靠性、成本、体积、功耗有严格要求的专用计算机系统。它一般由嵌入式微处理器、外围硬件设备、嵌入式操作系统以及用户的应用程序等四个部分组成。 2.寄存器R13,R14,R15的专用功能各是什么? 答:1)寄存器R13保存堆栈指针SP;2)寄存器R14用作子程序链接寄存器,也称为LR ,用以保存返回地址;3)R15(PC)用作程序计数器。 3.目前使用的嵌入式操作系统主要有哪些?请举出六种较常用的。 Windows CE/Windows Mobile、VxWork、Linux、uC/os、Symbian、QNX、webOS、ios 任选六 4.ARM处理器的工作模式有哪几种? 答:1)正常用户模式(usr); 2)快速中断模式(fiq); 3)普通中断模式(irq); 4)操作系统保护模式(svc)或管理模式; 5)数据访问中止模式(abt); 6)处理未定义指令的未定义模式(und);

相关文档
相关文档 最新文档