第二讲---嵌入式系统工程课件.ppt

上传人:知****量 文档编号:91516978 上传时间:2023-05-27 格式:PPT 页数:64 大小:2.09MB
返回 下载 相关 举报
第二讲---嵌入式系统工程课件.ppt_第1页
第1页 / 共64页
第二讲---嵌入式系统工程课件.ppt_第2页
第2页 / 共64页
点击查看更多>>
资源描述

《第二讲---嵌入式系统工程课件.ppt》由会员分享,可在线阅读,更多相关《第二讲---嵌入式系统工程课件.ppt(64页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

1、嵌入式软件设计开发嵌入式软件设计开发BeiHang College of SoftwareBeiHang College of Software 第二讲 嵌入式系统工程2.1 系统思想什么是系统?系统一词来源于古希腊语,是由部分构成整体的意思。系统思想源远流长,系统一词来源于古希腊语,是由部分构成整体的意思。系统思想源远流长,但是作为一门科学的系统论,人们公认的是由美籍奥地利人、理论生物学家但是作为一门科学的系统论,人们公认的是由美籍奥地利人、理论生物学家L.V.L.V.贝塔朗菲贝塔朗菲创立的,他曾在创立的,他曾在1924-19281924-1928年多次发表文章阐述系统的思想。确立这门年多次

2、发表文章阐述系统的思想。确立这门科学学术地位的是科学学术地位的是19681968年贝塔朗菲发表的专著一般系统理论年贝塔朗菲发表的专著一般系统理论基础、发展基础、发展和应用(和应用(General System Theory;Foundations,Development,General System Theory;Foundations,Development,ApplicationsApplications),该书被公认为是这门学科的代表作。该书被公认为是这门学科的代表作。系统论的核心思想是系统的整体观念系统论的核心思想是系统的整体观念。贝塔朗菲强调,。贝塔朗菲强调,任何系统都是一个任何系统

3、都是一个有机的整体,它不是各个部分的机械组合或简单相加,系统的整体功能是各要有机的整体,它不是各个部分的机械组合或简单相加,系统的整体功能是各要素在孤立状态下所没有的新性质。素在孤立状态下所没有的新性质。他用亚里斯多德的他用亚里斯多德的“整体大于部分之和整体大于部分之和”的的名言来说明系统的整体性,反对那种认为要素性能好,整体性能一定好,以局名言来说明系统的整体性,反对那种认为要素性能好,整体性能一定好,以局部说明整体的机械论的观点。同时认为,系统中各要素不是孤立地存在着,每部说明整体的机械论的观点。同时认为,系统中各要素不是孤立地存在着,每个要素在系统中都处于一定的位置上,起着特定的作用。要

4、素之间相互关联,个要素在系统中都处于一定的位置上,起着特定的作用。要素之间相互关联,构成了一个不可分割的整体。构成了一个不可分割的整体。要素是整体中的要素,如果将要素从系统整体中要素是整体中的要素,如果将要素从系统整体中割离出来,它将失去要素的作用。割离出来,它将失去要素的作用。正象人手在人体中它是劳动的器官,一旦将正象人手在人体中它是劳动的器官,一旦将手从人体中砍下来,那时它将不再是劳动的器官了一样。手从人体中砍下来,那时它将不再是劳动的器官了一样。系统是多种多样的,可以根据不同的原则和情况来划分系统的类型。按人系统是多种多样的,可以根据不同的原则和情况来划分系统的类型。按人类干预的情况可划

5、分类干预的情况可划分自然系统、人工系统自然系统、人工系统;按学科领域就可分成;按学科领域就可分成自然系统、社自然系统、社会系统和思维系统会系统和思维系统;按范围划则有;按范围划则有宏观系统、微观系统宏观系统、微观系统;按与环境的关系划分;按与环境的关系划分就有就有开放系统、封闭系统、孤立系统开放系统、封闭系统、孤立系统;按状态划分就有;按状态划分就有平衡系统、非平衡系统、平衡系统、非平衡系统、近平衡系统、远平衡系统近平衡系统、远平衡系统等等。此外还有等等。此外还有大系统、小系统大系统、小系统的相对区别。的相对区别。Systems Thinking-Systems Thinking-整体与部分整

6、体与部分 1、瞎子摸象瞎子摸象:尾巴尾巴-绳子绳子 腿腿 -树干树干 鼻子鼻子-蛇蛇 耳朵耳朵-扇子扇子 身体身体-墙墙 不要做瞎子不要做瞎子不瞎就能看明白吗?不瞎就能看明白吗?3、人们怎样绘制地图、海岸线等?人们怎样绘制地图、海岸线等?一套测绘方法与工具。一套测绘方法与工具。基准基准-坐标坐标结论:瞎子摸不清楚象,不瞎也不一定看得清结论:瞎子摸不清楚象,不瞎也不一定看得清结论:瞎子摸不清楚象,不瞎也不一定看得清结论:瞎子摸不清楚象,不瞎也不一定看得清楚象。用一套正确的方法与基准,瞎子同样也楚象。用一套正确的方法与基准,瞎子同样也楚象。用一套正确的方法与基准,瞎子同样也楚象。用一套正确的方法与

7、基准,瞎子同样也能摸清楚象。所谓能摸清楚象。所谓能摸清楚象。所谓能摸清楚象。所谓“大象无形,心中有数。大象无形,心中有数。大象无形,心中有数。大象无形,心中有数。”基本原理基本原理Systems Thinking-Systems Thinking-整体与部分整体与部分4、要弄清楚象形,首先也是最重要的要弄要弄清楚象形,首先也是最重要的要弄清楚什么?清楚什么?轮廓轮廓-边界边界本系统与外界系统的边界本系统与外界系统的边界其次要弄清楚其组成部分:眼、耳、鼻等其次要弄清楚其组成部分:眼、耳、鼻等子系统子系统 对象对象Systems Thinking-Systems Thinking-整体与部分整体与

8、部分系统思想系统思想-系统的定义及组成系统的定义及组成1.A1.A systemsystem is an interrelated set of components with an is an interrelated set of components with an identifiable boundary,working together for some purpose.identifiable boundary,working together for some purpose.2.A2.A SystemSystem is an assemblage or combination

9、 of elements or is an assemblage or combination of elements or parts forming a complex or unitary whole,such as a river parts forming a complex or unitary whole,such as a river system or a transportation system;any assemblage or set of system or a transportation system;any assemblage or set of corre

10、lated members,such as a system of currency;an correlated members,such as a system of currency;an ordered and comprehensive assemblage of facts,principles,ordered and comprehensive assemblage of facts,principles,or doctrines in a particular field of knowledge or thought,or doctrines in a particular f

11、ield of knowledge or thought,such as a system of philosophy;a coordinated body of such as a system of philosophy;a coordinated body of methods or a complex scheme or plan of procedure,such as a methods or a complex scheme or plan of procedure,such as a system of organization and management;any regul

12、ar or system of organization and management;any regular or special method of plan of procedure,such as a system of special method of plan of procedure,such as a system of marking,numbering,or measuring.marking,numbering,or measuring.Systems Thinking-Systems Thinking-整体与部分整体与部分The Elements of a syste

13、mComponents are the operating parts of a system are the operating parts of a system consisting of input,process and output.consisting of input,process and output.Attributes are the properties or discernible are the properties or discernible manifestations of the components of a system.manifestations

14、 of the components of a system.Relationships are the links between components are the links between components and attributes.and attributes.Systems Thinking-Systems Thinking-重要概念重要概念The Features of a systemThe Features of a systemThe Features of a systemThe Features of a system UnityUnityUnityUnity

15、 一个系统应该有这个系统统一的特征,使系统是协调一致的,而非一个系统应该有这个系统统一的特征,使系统是协调一致的,而非一个系统应该有这个系统统一的特征,使系统是协调一致的,而非一个系统应该有这个系统统一的特征,使系统是协调一致的,而非混乱拼凑不协调。比如,从外观上,一个系统的色彩应该协调一致才美混乱拼凑不协调。比如,从外观上,一个系统的色彩应该协调一致才美混乱拼凑不协调。比如,从外观上,一个系统的色彩应该协调一致才美混乱拼凑不协调。比如,从外观上,一个系统的色彩应该协调一致才美观;从结构上,整体的结构也应具有一致性,软件整体若采用层次体系观;从结构上,整体的结构也应具有一致性,软件整体若采用层

16、次体系观;从结构上,整体的结构也应具有一致性,软件整体若采用层次体系观;从结构上,整体的结构也应具有一致性,软件整体若采用层次体系结构,那么所有的子系统都应在这个整体的层次结构中。此外,一致性结构,那么所有的子系统都应在这个整体的层次结构中。此外,一致性结构,那么所有的子系统都应在这个整体的层次结构中。此外,一致性结构,那么所有的子系统都应在这个整体的层次结构中。此外,一致性还应该体现在目标一致性上,各个要素都应该为了共同的、一致的目标还应该体现在目标一致性上,各个要素都应该为了共同的、一致的目标还应该体现在目标一致性上,各个要素都应该为了共同的、一致的目标还应该体现在目标一致性上,各个要素都

17、应该为了共同的、一致的目标工作。工作。工作。工作。Functional relationshipFunctional relationshipFunctional relationshipFunctional relationship 子系统间的关系是基于系统的功能或目标要求,而非由于与系统目子系统间的关系是基于系统的功能或目标要求,而非由于与系统目子系统间的关系是基于系统的功能或目标要求,而非由于与系统目子系统间的关系是基于系统的功能或目标要求,而非由于与系统目标无关的因素而建立关系。可以根据以下几点来判断:标无关的因素而建立关系。可以根据以下几点来判断:标无关的因素而建立关系。可以根据以下

18、几点来判断:标无关的因素而建立关系。可以根据以下几点来判断:-每个部件的特性或行为必须对整个系统的特性与行为产生影响、每个部件的特性或行为必须对整个系统的特性与行为产生影响、每个部件的特性或行为必须对整个系统的特性与行为产生影响、每个部件的特性或行为必须对整个系统的特性与行为产生影响、做出贡献;做出贡献;做出贡献;做出贡献;-每个部件的特性或行为至少依赖于一个其它部件的特性或行为;每个部件的特性或行为至少依赖于一个其它部件的特性或行为;每个部件的特性或行为至少依赖于一个其它部件的特性或行为;每个部件的特性或行为至少依赖于一个其它部件的特性或行为;-系统中的每个部件或部件的子集都满足前面两个条件

19、。系统中的每个部件或部件的子集都满足前面两个条件。系统中的每个部件或部件的子集都满足前面两个条件。系统中的每个部件或部件的子集都满足前面两个条件。Useful purposeUseful purposeUseful purposeUseful purpose 系统的目标应该是有用的、有意义的。从系统的角度,为系统的目标应该是有用的、有意义的。从系统的角度,为系统的目标应该是有用的、有意义的。从系统的角度,为系统的目标应该是有用的、有意义的。从系统的角度,为了毫无意义的目标,或者错误的目标而设计的任何子系统或要素,了毫无意义的目标,或者错误的目标而设计的任何子系统或要素,了毫无意义的目标,或者错

20、误的目标而设计的任何子系统或要素,了毫无意义的目标,或者错误的目标而设计的任何子系统或要素,无论多么好都是错误的。无论多么好都是错误的。无论多么好都是错误的。无论多么好都是错误的。Systems Thinking-Systems Thinking-重要概念重要概念系统工程思想工程就是利用自然规律创建至少能使一部分人受益的系统。系统工程就是把工程设计视为决策制定过程的一门学科。系统工程(Systems Engineering)是系统科学的一个分支,实际是系统科学的实际应用。系统工程是以大型复杂系统为研究对象,按一定目的进行设计、开发、管理与控制,以期达到总体效果最优的理论与方法。系统工程的第一次

21、应用并提出这个名词是在1940年,美国贝尔实验室研制电话通信网络时,将研制工作分为规划、研究、开发、应用和通用工程等五个阶段,提出了排队论原理。1940年美国研制原子弹的曼哈顿计划应用了系统工程原理进行协调。自觉应用系统工程方法而取得重大成果的两个例子是美国的登月火箭阿波罗计划和北欧跨国电网协调方案。系统工程的目的是解决总体优化问题,从复杂问题的总体入手,认为总体大于各部分之和,各部分虽较弱但总体可以优化。有的问题,如电话网络,不能只研究个别电话的质量问题,必须从总体网络入手等等。一个系统包括九个特性:1.组件、部件 2.相关组件 3.边界 4.目标 5.环境 6.接口 7.输入 8.输出 9

22、.约束1 1 1 1、目标、目标、目标、目标2 2 2 2、约束、约束、约束、约束3 3 3 3、环境、环境、环境、环境4 4 4 4、边界、边界、边界、边界5 5 5 5、组件、部件、组件、部件、组件、部件、组件、部件6 6 6 6、相关组件、相关组件、相关组件、相关组件7 7 7 7、接口、接口、接口、接口8 8 8 8、输入、输入、输入、输入9 9 9 9、输出、输出、输出、输出系统设计过程系统设计过程Conceptual System DesignConceptual System Design1.Identification of the needIdentification of

23、the need2.Accomplishment of Feasibility AnalysisAccomplishment of Feasibility Analysis3.System Requirements AnalysisSystem Requirements Analysis4.Technical Performance measures(Technical Performance measures(TMPsTMPs)5.Functional Analysis and allocationFunctional Analysis and allocation6.Synthesis,A

24、nalysis,and EvaluationSynthesis,Analysis,and Evaluation7.System SpecificationSystem Specification8.Conceptual Design ReviewConceptual Design Review系统设计过程系统设计过程Detail Design and DevelopmentDetail Design and Development1.Detail Design Requirements2.Integrating System Elements3.Design Engineering Activ

25、ities4.Detail Design Aids5.Detail Design Documentation6.System Prototype Development7.Detail Design Reviews系统设计过程系统设计过程System Test and EvaluationSystem Test and Evaluation1.Requirements for test and Evaluation2.Categories of System/Component testing3.Planning for test and Evaluation4.Preparation for

26、 Test and Evaluation5.Test Performance and Reporting6.System Modification系统设计过程系统设计过程System Analysis and Design Evaluation1.Alternatives and Models in Decision MakingAlternatives and Models in Decision Making2.Models for Economic Evaluation3.Optimization in decision and Operations4.Queuing Theory an

27、d Analysis5.Control Concepts and Techniques系统设计过程系统设计过程第二讲 嵌入式系统工程2.3 软硬件协同设计软硬件分开设计 需求规约需求规约软硬件划分软硬件划分硬件设计硬件设计软件设计软件设计软硬件集成测试软硬件集成测试结束结束开始开始 传统的软硬件设计方法采用的是分开设计。其设计思想是根据需求分析得出对系统的基本功能,然后系统分析员依据工作经验,粗略的把需求功能分配到硬件和软件中,分别进行硬件设计、软件设计,在软硬件分别实现后,再把软硬件集成,如果集成出现问题,又要重新修改设计。先设计软件指的是先设计那些与硬件无关的软件先设计软件指的是先设计那些

28、与硬件无关的软件部分,如一些数据处理算法等。与硬件关系密切的软部分,如一些数据处理算法等。与硬件关系密切的软件需要等到硬件确定了以后再进行设计。有些情况受件需要等到硬件确定了以后再进行设计。有些情况受一些外部环境的限制,如人员问题、决策层迟迟不能一些外部环境的限制,如人员问题、决策层迟迟不能批准使用什么样的处理器或接口的一些具体的电路选批准使用什么样的处理器或接口的一些具体的电路选型没有确定等,都可能推迟硬件的设计。型没有确定等,都可能推迟硬件的设计。先设计软件后设计硬件,由于这种方法主要应用先设计软件后设计硬件,由于这种方法主要应用在算法很复杂的场合,在嵌入式系统的开发过程中很在算法很复杂的

29、场合,在嵌入式系统的开发过程中很少采用,在此不作深入探讨。少采用,在此不作深入探讨。软硬件分开设计-先软件后硬件设计 软硬件协同设计是为解决上述问题而提出软硬件协同设计是为解决上述问题而提出的一种全新的的一种全新的系统设计思想系统设计思想。它依据系统目标。它依据系统目标要求要求,通过综合分析系统软硬件功能及现有资通过综合分析系统软硬件功能及现有资源源,最大限度地挖掘系统软硬件之间的并发性最大限度地挖掘系统软硬件之间的并发性,协同设计软硬件体系结构协同设计软硬件体系结构,以便系统能工作在以便系统能工作在最佳工作状态。最佳工作状态。嵌入式系统软硬件协同设计沿用传统的系嵌入式系统软硬件协同设计沿用传

30、统的系统设计思想,但它与传统设计思想主要不同在统设计思想,但它与传统设计思想主要不同在于于“在系统设计的每一步都是硬件和软件一起在系统设计的每一步都是硬件和软件一起协同考虑协同考虑”。软硬件协同设计软硬件协同设计总体流程软硬件协同设计总体流程软硬件协同设计软硬件协同设计方法 系统描述就是将系统功能全面表述出来,是完整的规范和系统需求,如:产品功能和任务、交付时间表、产品生命周期、系统负载、人机交互、操作环境、传感器、功耗需求和环境、系统开销。系统分析是对系统描述进行系统建模。系统建模是个重要环节,系统建模就是建立系统的软硬件模型优化系统描述的过程。对于不同的应用,建立模型的方式和使用的描述语言

31、也可不同。系统建模由设计者手工完成,也可借助CAD 工具实现。系统建模对系统的性能影响极大,它不仅直接影响系统的造价开发、周期、工作、环境等外观因素,而且与系统的稳定性、可维护性等隐性指标密切相关。系统建模要注意几点:注意各相辅功能间数据交换的方便性,以及不同功能彼此间的同步化,确保系统在执行时能满足所需要的时间限制。系统应有良好的调度机制,来确保各个共享的特定资源的进程能正常执行。在确定系统模型的好坏之前,要先确定用来进行评估的标准。比如,成本、执行时间、内存多寡、使用处理器的增减等。协同设计的系统描述与系统分析系统建模的方法有很多,可以采用UML进行描述,也可采用传统的方块图和CRC卡片法

32、等进行系统建模。例如一个GPS地图显示系统,我们可以用方块图来表示其系统架构。系统建模实例 对于嵌入式系统来说,系统设计可以分为软硬件功能分配和系统对于嵌入式系统来说,系统设计可以分为软硬件功能分配和系统映射两个阶段。映射两个阶段。软硬件功能分配软硬件功能分配:确定系统功能的具体实现形式,如确定哪些功能确定系统功能的具体实现形式,如确定哪些功能由硬件模块来实现,哪些功能由软件模块来实现。软硬件功能分由硬件模块来实现,哪些功能由软件模块来实现。软硬件功能分配可能对系统模型中的功能分解重新规划。配可能对系统模型中的功能分解重新规划。由于硬件模块的可编程性和嵌入式系统的变异性,软硬件的界限由于硬件模

33、块的可编程性和嵌入式系统的变异性,软硬件的界限已经不十分清楚,因此软硬件的功能划分是一个复杂而艰苦的过已经不十分清楚,因此软硬件的功能划分是一个复杂而艰苦的过程。一方面是由于软硬件划分的研究工作还处在初级阶段;另一程。一方面是由于软硬件划分的研究工作还处在初级阶段;另一方面是由于这一问题内在的复杂性,在进行软硬件功能分配时,方面是由于这一问题内在的复杂性,在进行软硬件功能分配时,既要考虑市场可以提供的资源状况,又要考虑系统造价、开发周既要考虑市场可以提供的资源状况,又要考虑系统造价、开发周期等因素。期等因素。系统映射系统映射:根据系统描述和功能分配,选择、确定系统的体系结构,根据系统描述和功能

34、分配,选择、确定系统的体系结构,它将决定产品最终的整体面貌。具体地说,这一过程就是确定系它将决定产品最终的整体面貌。具体地说,这一过程就是确定系统将采用哪些硬件模块(如微处理器、微控制器、存储器、统将采用哪些硬件模块(如微处理器、微控制器、存储器、ASICASIC、DSPDSP、FPGAFPGA、I/O I/O 接口部件等)、软件模块(如操作系统、驱动程接口部件等)、软件模块(如操作系统、驱动程序、功能程序等)以及软硬件模块之间的联系媒体(如总线、共序、功能程序等)以及软硬件模块之间的联系媒体(如总线、共享存储器数据通道等)。享存储器数据通道等)。协同设计的系统设计软硬件任务划分软硬件的划分步

35、骤 第一步:设计一个可以用来表达整个系统的模型;第二步:根据系统模型图定义清楚系统最终实现的目标平台会有哪些资源,如所使用的CPU种类、DSP、内存容量、硬件模块等;第三步:定义用来评估系统设计优劣与否的评估准则,以及必需满足的设计条件限制;第四步:定义系统分割最终所要完成的目标函数;第五步:迭代系统模型过程,确定是否是最合理划分方案第六步:进行软硬件的分开设计确定目标系统架构确定目标系统架构构建功能分配图构建功能分配图确定评价准则确定评价准则确定设计约束确定设计约束确定目标函数确定目标函数选择、确定最优方案选择、确定最优方案软硬件划分实例软硬件划分实例软硬件任务划分 软硬件划分的方法有多种,

36、可以按功能层次的方法进行软硬件的任务分割。比如一种常见的4层分割法。它的分割原理是按照每项功能,可以把一个系统分成4个等级来看功能程序层(function/process level)流程控制层(control level)基本块层(basic block level)指令层(instruction level)软硬件任务划分 在理论上,只有弄清了所有可能用于解决问题的方法后,才能做在理论上,只有弄清了所有可能用于解决问题的方法后,才能做出划分决策。越晚做出划分决策,划分决策就越有把握。然而,只有出划分决策。越晚做出划分决策,划分决策就越有把握。然而,只有当硬件平台建立后才能高度分析整个系统,

37、因此过晚做出划分决策会当硬件平台建立后才能高度分析整个系统,因此过晚做出划分决策会延长整个开发周期。而且如果太晚做出决策,在硬件小组制作完成电延长整个开发周期。而且如果太晚做出决策,在硬件小组制作完成电路板之前,软件小组可能很长时间无所事事。路板之前,软件小组可能很长时间无所事事。用硬件实现会使系统处理速度加快用硬件实现会使系统处理速度加快,但随之系统成本也会提高,不过但随之系统成本也会提高,不过这并不是绝对的这并不是绝对的。因为用软件实现需要进行软件开发,同时系统需要。因为用软件实现需要进行软件开发,同时系统需要存放更多的程序代码,必定需要更大的存放更多的程序代码,必定需要更大的ROMROM

38、,并且对处理器的要求更高,并且对处理器的要求更高,也会提高系统的成本。也会提高系统的成本。使用的硬件越多开发的风险越高使用的硬件越多开发的风险越高,这是因为修改软件只是找到某个软,这是因为修改软件只是找到某个软件缺陷并加以修改,而修改硬件远比这复杂得多,需要更大的修改成件缺陷并加以修改,而修改硬件远比这复杂得多,需要更大的修改成本和更长的修改时间,产品有可能因没有及时推出而失去市场。本和更长的修改时间,产品有可能因没有及时推出而失去市场。要完整的描述划分的决策问题,需要多个目标函数,其中包括多种体要完整的描述划分的决策问题,需要多个目标函数,其中包括多种体系结构、目标技术、设计工具等系结构、目

39、标技术、设计工具等。决定如何划分软硬件是复杂的优化。决定如何划分软硬件是复杂的优化过程,嵌入式系统在设计时需要满足许多需求,例如,价格、性能、过程,嵌入式系统在设计时需要满足许多需求,例如,价格、性能、标准、市场竞争力、产品所有权等。这些相互冲突的需求使得为嵌入标准、市场竞争力、产品所有权等。这些相互冲突的需求使得为嵌入式产品建立一个优化的划分非常困难。式产品建立一个优化的划分非常困难。划分决策无疑依赖于系统所采用的处理器,以及开发人员如何在硬件划分决策无疑依赖于系统所采用的处理器,以及开发人员如何在硬件平台上达到实现总体设计的目的平台上达到实现总体设计的目的。开发人员可以从数百种微处理器、。

40、开发人员可以从数百种微处理器、微控制器及专用集成电路中进行选择,这不仅会影响划分决策,也会微控制器及专用集成电路中进行选择,这不仅会影响划分决策,也会影响对开发工具的选择等。影响对开发工具的选择等。软硬件的接口 对于软硬件的接口,微处理器的指令集架构起到了桥墩对于软硬件的接口,微处理器的指令集架构起到了桥墩的作用。这个指令集架构为软件层与硬件层的接口提供了基的作用。这个指令集架构为软件层与硬件层的接口提供了基本保证。基本上,指令集架构包括了:本保证。基本上,指令集架构包括了:就软件而言,指令集架构提供了汇编语言。一连串的汇编语就软件而言,指令集架构提供了汇编语言。一连串的汇编语言形成了一段程序

41、代码,描述了微处理器应有的行为动作,言形成了一段程序代码,描述了微处理器应有的行为动作,同时也意味着微处理器该有的运行流程,这是最底层的接口,同时也意味着微处理器该有的运行流程,这是最底层的接口,也就是最接近硬件的接口。也就是最接近硬件的接口。就硬件而言,指令集架构提供了寄存器,即可以暂时存放数就硬件而言,指令集架构提供了寄存器,即可以暂时存放数据的空间。在微处理器的架构中,会提供一组用户看得见的据的空间。在微处理器的架构中,会提供一组用户看得见的寄存器。寄存器。软硬件接口设计的主要任务就是基于基本指令集,完成软硬件接口设计的主要任务就是基于基本指令集,完成驱动程序的编写工作。驱动程序是硬件组

42、件与软件组件之间驱动程序的编写工作。驱动程序是硬件组件与软件组件之间的桥梁的桥梁。目前采用板级支持包目前采用板级支持包BSPBSP作为软硬件接口的重要处理模式。作为软硬件接口的重要处理模式。软硬件协同模拟 在软硬件协同设计的过程中,还有一个最重要的工作在软硬件协同设计的过程中,还有一个最重要的工作就是做好不同模拟器间的数据交换,这种通信管道的建就是做好不同模拟器间的数据交换,这种通信管道的建立,可以分成主从式架构与分布式架构。立,可以分成主从式架构与分布式架构。在主从式架构下,主设备端(在主从式架构下,主设备端(mastermaster)可以通过涵数)可以通过涵数的调用得到从设备端(的调用得到

43、从设备端(slaveslave)的数据,使用这种模式的)的数据,使用这种模式的缺点在于两端无法同时进行运算,也就是说,当一端进缺点在于两端无法同时进行运算,也就是说,当一端进行模拟时,另一端必须停下等数据。行模拟时,另一端必须停下等数据。在分布式架构下,可以采用网络沟通协议(在分布式架构下,可以采用网络沟通协议(TCP/IPTCP/IP)进行数据的同步进行。进行数据的同步进行。仿真验证 在嵌入式系统的开发过程中,在嵌入式系统的开发过程中,仿真验证贯穿整个开发仿真验证贯穿整个开发过程过程。由于在系统仿真过程中,使用主机由于在系统仿真过程中,使用主机CPU CPU 往往要比真正往往要比真正在嵌入式

44、系统中使用的在嵌入式系统中使用的CPU CPU 要快得多,这就难以保证模拟要快得多,这就难以保证模拟结果的真实性。其次由于仿真的工作环境和实际使用时的结果的真实性。其次由于仿真的工作环境和实际使用时的工作环境差异很大,软硬件之间的相互作用方式及作用效工作环境差异很大,软硬件之间的相互作用方式及作用效果也就不同,这就难以保证系统在真实环境下工作的可靠果也就不同,这就难以保证系统在真实环境下工作的可靠性,因此性,因此系统仿真的有效性是有限的系统仿真的有效性是有限的。仿真验证分为仿真验证分为软件仿真软件仿真和和硬件仿真硬件仿真。在硬件与软件协同验证中,硬件由在硬件与软件协同验证中,硬件由Verilo

45、gVerilog或或VHDLVHDL代码代码表示,为软件形成虚拟的硬件平台。在没有实际硬件的情表示,为软件形成虚拟的硬件平台。在没有实际硬件的情况下,软件开发人员通过编写程序来虚拟还不存在的硬件。况下,软件开发人员通过编写程序来虚拟还不存在的硬件。仿真验证 软件仿真软件仿真可以分成两种类型。可以分成两种类型。系统层的仿真环境系统层的仿真环境,内置了嵌入式操作系统核心及相关,内置了嵌入式操作系统核心及相关系统模块(如系统模块(如TCP/IPTCP/IP协议堆栈)等。这种仿真环境可以协议堆栈)等。这种仿真环境可以让用户直接在该环境中开发应用程序或是通信协议。通让用户直接在该环境中开发应用程序或是通

46、信协议。通过验证的仿真程序可以直接放到目标平台上执行。目前过验证的仿真程序可以直接放到目标平台上执行。目前较流行的较流行的WinCE WinCE 和和PalmPalm等都提供了这一类的模拟环境。等都提供了这一类的模拟环境。目标层的模拟环境目标层的模拟环境,这一类的模拟环境建立了所谓的的,这一类的模拟环境建立了所谓的的指令集仿真,主要是仿真微处理器的指令执行状况,通指令集仿真,主要是仿真微处理器的指令执行状况,通常是用来开发比较注重性能的程序,利用仿真环境反复常是用来开发比较注重性能的程序,利用仿真环境反复修正程序代码,以观察整个目标码的执行状况。但是,修正程序代码,以观察整个目标码的执行状况。

47、但是,这样的仿真环境通常是仿真指令,所以执行速度上会比这样的仿真环境通常是仿真指令,所以执行速度上会比较缓慢,并不适合开发大型程序。这种仿真软件通常是较缓慢,并不适合开发大型程序。这种仿真软件通常是微处理器厂商提供的工具,例如微处理器厂商提供的工具,例如ARMARM的的ARMulatorARMulator。仿真验证 硬件仿真硬件仿真相较于软件仿真,硬件仿真就比较单纯。相较于软件仿真,硬件仿真就比较单纯。一般硬件仿真主要是在一般硬件仿真主要是在HDLHDL开发后,用仿真软件来验证开发后,用仿真软件来验证HDLHDL的逻辑正确性。如的逻辑正确性。如HDLHDL的的ICIC设计流程中,经常需要使设计

48、流程中,经常需要使用仿真软件来验证电路的正确性,因为每次通过工具的用仿真软件来验证电路的正确性,因为每次通过工具的组合(组合(synthesissynthesis)、分配()、分配(placementplacement)、绕线)、绕线(routingrouting)等步骤,都需要重复验证,以确保电路的正)等步骤,都需要重复验证,以确保电路的正确性。确性。当缺乏目标平台的硬件环境时,目标平台的仿真软件当缺乏目标平台的硬件环境时,目标平台的仿真软件就是一个非常重要的开发工具,除了可以当作开发之用,就是一个非常重要的开发工具,除了可以当作开发之用,也可以拿来作为系统评估的工具。也可以拿来作为系统评估

49、的工具。集成调试 硬件与软件的集成必须使用特殊的开发工具和方法,硬件与软件的集成必须使用特殊的开发工具和方法,嵌入式硬件和软件的集成过程是调试与探索过程。仅就嵌嵌入式硬件和软件的集成过程是调试与探索过程。仅就嵌入式系统的实时特性而言,它的复杂性可能导致不可预测入式系统的实时特性而言,它的复杂性可能导致不可预测的后果,这种结果只有当其发生时才能进行分析。的后果,这种结果只有当其发生时才能进行分析。常见的嵌入式系统调试环境常见的嵌入式系统调试环境:软件调试环境,如软件调试环境,如Angel Angel 的的debuggerdebugger工具;工具;硬件的设计环境,如硬件的设计环境,如ICEICE

50、。通常情况下,嵌入式系统调试环境应满足以下三个要求:通常情况下,嵌入式系统调试环境应满足以下三个要求:运行控制。能控制处理器开始、停止,从内存中读数,向运行控制。能控制处理器开始、停止,从内存中读数,向内存中写数;内存中写数;内存替换。为快速而简便的进行代码下载、软件调试及加内存替换。为快速而简便的进行代码下载、软件调试及加快软件修改周期,应用快软件修改周期,应用RAMRAM代替基于代替基于ROMROM的内存;的内存;实时分析。实时跟踪代码流以进行实时跟踪分析。实时分析。实时跟踪代码流以进行实时跟踪分析。综合实现 软硬件综合实现,是指软件系统、硬件系统的具软硬件综合实现,是指软件系统、硬件系统

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 生活休闲 > 生活常识

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号© 2020-2023 www.taowenge.com 淘文阁