ch嵌入式系统的设计方法_第1页
ch嵌入式系统的设计方法_第2页
ch嵌入式系统的设计方法_第3页
ch嵌入式系统的设计方法_第4页
ch嵌入式系统的设计方法_第5页
已阅读5页,还剩56页未读 继续免费阅读

下载本文档

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

文档简介

1、1第二章第二章 嵌入式系统的设计方法嵌入式系统的设计方法嵌入式系统的基本设计过程p良好的设计方法在嵌入式系统的开发过程中是必不可少的。首先,好的方法有助于规划一个清晰的工作进度,避免遗漏重要的工作,例如性能的优化和可靠性测试对于一个合格的嵌入式产品而言是不可或缺的。其次,采用有效的方法可以将整个复杂的开发过程分解成若干可以控制的步骤,通过一些先进的计算机辅助设计工具,按部就班、有条不紊地完成整个项目。最后,通过定义全面的设计过程,可以使整个团队的各个成员更好地理解自身的工作,方便成员之间相互交流与协作。 3提纲提纲 嵌入式系统的开发流程嵌入式系统的开发流程 传统的嵌入式系统开发方法传统的嵌入式

2、系统开发方法 嵌入式系统的软硬件协同设计嵌入式系统的软硬件协同设计 嵌入式系统的测试技术嵌入式系统的测试技术4嵌入式系统开发的一般流程。主要包括系统需求分析(要求有严格规范的技术要求)、体系结构设计、软硬件及机械系统设计、系统集成、系统测试,最终得到最终产品。嵌入式系统开发流程流程 嵌入式系统开发流程嵌入式系统开发流程 w2021-11-11w5作用n从客户那儿收集系统的非形式描述,确定设计任务和设计目标,并提炼出设计规格说明书,作为正式设计指导和验收的标准。分类n功能性需求w接口设计:输入输出信号、操作方式n非功能性需求w性能w成本w功耗w系统的尺寸和重量系统需求分析-1 需求分析-21.

3、需求与规格说明n通常,描述产品需求的文档是由嵌入式系统的总体设计者从用户的视角来写的,由一系列的用户需求组成。n然后,对这些需求进行提炼,从中获取一组一致性的需求,整理成正式的规格说明,这些规格说明里包含了进行系统体系结构设计所需要的足够信息。需求分析-32.确认需求 n确认需求不仅要理解什么是用户需要的,而且需要理解他们如何表达这些需求。n精炼系统需求的方法是建立一个模型,这个模型可以使用已存数据来模拟功能,并且可以在个人电脑或工作站上运行。它应该让用户了解系统是如何使用的,以及用户如何和它进行交互。通常,设备的非功能模型可以让用户了解系统的特性,比如系统的尺寸和重量。 需求分析-43. 简

4、单的需求表格n对一个大系统进行需求分析是一项复杂而费时的工作,但是,取得相对少量的格式清晰、简单的信息是理解系统需求的一个好的开始。 项项 目目说说 明明名称目的输入输出功能性能生产成本功耗物理尺寸和重量需求分析-54.需求的内部一致性n在写完需求分析以后,你应该对它们的内部一致性进行检查:是否忘记了给某个功能指定输入或输出,是否考虑了系统运行的所有方式,是否把一些不切实际的要求放到了一个电池供电、低成本的机器中了等。 规格说明规格说明n规格说明起到客户和生产者之间的合同的作用。因此,规格说明必须小心编写,以便精确地反映客户的需求,并且作为设计时必须明确遵循的要求。n规格说明应该足够明晰,以便

5、别人可以验证它是否符合系统需求,且是否完全满足客户的期望。n描述规格说明的工具可采用统一建模语言(UML)。11p描述系统如何实现所述的功能和非功能需求,包括对硬件、软件和执行装置的功能划分,以及系统的软件、硬件选型等。p体系结构描述说明需要什么样的构件p一个好的体系结构是设计成功与否的关键。 体系结构设计(1)体系结构设计 n规格说明中通常只描述系统应做什么,而不描述系统该怎么做。描述系统如何实现那些功能是体系结构的任务。n体系结构是系统整体结构的一个计划。它给出嵌入式系统的总体架构,从功能实现上对软硬件进行划分;在此基础上,选定处理器和基本接口器件;根据系统的复杂程度确定是否使用操作系统,

6、以及选择哪种操作系统;此外,还需要选择系统的开发环境。 体系结构设计(2)1.硬件平台的选择(1)处理器的选择 n设计者在选择处理器时要考虑的主要因素有: 处理性能技术指标 功耗 软件支持工具 是否内置调试工具 供应商是否提供评估板 1、硬件平台的选择(2)硬件选择的其它因素 首先,需要考虑生产规模。其次,需要考虑开发的市场目标。另外,软件对硬件的依赖性。最后,只要可能,尽量选择使用普通的硬件。体系结构设计2.软件平台的选择n嵌入式软件的开发流程,主要涉及代码编程、交叉编译、交叉连接、下载到目标板和调试等几个步骤,因此软件平台的选择涉及以下3个方面:操作系统编程语言集成开发环境 2.软件平台的

7、选择(1)操作系统的选择 n操作系统的选择至关重要。一般而言,在选择嵌入式操作系统时,可以遵循以下原则:市场进入时间 可移植性 可利用资源系统定制能力成本中文内核支持 2.软件平台的选择(2)集成开发环境 n集成开发环境IDE应考虑以下因素:系统调试器的功能支持库函数编译器开发商是否持续升级编译器连接程序是否支持所有的文件格式和符号格式 2.软件平台的选择(3)硬件调试工具的选择n常用的硬件调试工具有以下几种: 实时在线仿真器(ICE,In-Circuit Emulator) 逻辑分析仪 ROM仿真器 在线调试OCD或在线仿真OCE软硬件构件设计-1设计硬件构件和软件构件n构件通常包括硬件和软

8、件两部分。构件设计使得构件与体系结构和规格说明相一致。n一些构件是现成的,可以直接使用。在大多数情况下,我们必须自己设计一些构件,即使使用标准集成电路,也必须设计连接它们的印刷线路板。 w2021-11-11w20软硬件构件设计-2作用n基于体系结构,对系统的软件、硬件进行详细设计n软件硬件并行设计n对于使用现成的硬件模块,大部分工作集中在软件设计上(硬件标准化、模块化、可重用)n如果设计硬件模块,大部分工作集中在硬件设计上设计技术 模块化设计技术、面向对象设计技术、组件设计技术21 把系统的软件、硬件和执行装置集成在一起,进行调试,发现并改进单元设计过程中的错误。系统调试与集成系统调试与集成

9、 n只有建立构件后,才能将它们合并得到一个可以运行的系统。当然在系统集成阶段并不是仅仅把所有的构件连接在一起就行,在系统集成中通常都会发现以前设计上的错误。n在系统集成时按阶段构架系统,并每次只对一部分模块进行排错,能够更容易地发现并定位错误。 w2021-11-11w23系统测试作用n对设计好的系统进行测试,看其是否满足规格说明书中给定的功能要求n严格而全面的测试是产品质量保证的坚实基础分类n白盒测试n黒盒测试n灰盒测试n第三方测试2021年11月11日24测试与调试的关系n测试是检查软件发现问题,调试是分析软件解决测试是检查软件发现问题,调试是分析软件解决问题问题n调试具有随意性、不明确性

10、,而测试是明确的、调试具有随意性、不明确性,而测试是明确的、可重复的可重复的测试与调试不能相互替代,但相互支持,相辅相成测试与调试的关系25 在实际的系统开发过程中,有一些重要因素是必须要考虑的,包括:w功耗;w性能(速度与精度达到要求);w成本;w用户界面。w另外还必须考虑在系统设计的每一步骤中所要完成的任务,在设计过程的每一步骤中再添加以下细节:必须在设计的每一个阶段对设计进行分析,以决定如何才能满足规格说明要求。必须不断地细化设计,添加细节。必须不断地核实设计,保证它依然满足所有的系统目标,如成本、速度、精度等。嵌入式系统开发过程中考虑的重要因素26提纲提纲 嵌入式系统的开发流程嵌入式系

11、统的开发流程 传统的嵌入式系统开发方法传统的嵌入式系统开发方法 嵌入式系统的软硬件协同设计嵌入式系统的软硬件协同设计 嵌入式系统的测试技术嵌入式系统的测试技术w2021-11-11w272.2 嵌入式系统的传统设计方法w2021-11-11w282.2 嵌入式系统的传统设计方法(续)特点n软硬件设计独立进行优点n简单易行、分工明确缺点n排错困难w出现问题互相推诿n解决方案无法进行全系统优化设计(降低成本)w在满足相关性能指标的情况下,成本最低w最优软硬件划分29提纲提纲 嵌入式系统的开发流程嵌入式系统的开发流程 传统的嵌入式系统开发方法传统的嵌入式系统开发方法 嵌入式系统的软硬件协同设计嵌入式

12、系统的软硬件协同设计 嵌入式系统的测试技术嵌入式系统的测试技术w2021-11-11w30嵌入式系统的系统级设计方法1 软硬件协同设计2 设计重用技术w系统级设计是一种高层次的设计方法,设计人员针对设计目标进行系统功能描述,定义系统的行为特性,进行软硬件划分,生成系统级的规格描述w随着计算机技术和集成电路制造水平的发展,采用统一的机制描述嵌入式系统的软硬件子系统已经成为可能,系统级设计方法也随之诞生w2021-11-11w31 软硬件协同设计w2021-11-11w32软硬件协同设计主要设计步骤n需求分析n软硬件协同设计(Co-design)n软硬件实现n软硬件协同测试(Co-test)n软硬

13、件协同验证(Co-verification)特点软硬件统一描述n有限状态机(FSM)n统一化的规格语言SystemC、新的统一描述语言n基于图形的表示工具UMLw2021-11-11w33软硬件协同设计优点n软硬件统一描述n有利于优化设计n重点关注算法,而非实现缺点n不成熟,缺乏有效的统一描述工具n现有工具实现效率不高n有待于高效率的综合工具w2021-11-11w34设计重用技术基于IP核的模块级重用nIP核的设计和IP核的使用nIP核的设计目标是实现即插即用nIP核的设计除了需要考虑具体功能之外,还要考虑可重用、可测性及测试的可重用性基于平台的系统级重用n基于IP核设计重用技术的扩展,强调

14、系统级重用n要求提供面向特定应用领域的设计模板,设计者通过对设计模板进行适当的修改来构造符合性能要求的SoC系统 35提纲提纲 嵌入式系统的开发流程嵌入式系统的开发流程 传统的嵌入式系统开发方法传统的嵌入式系统开发方法 嵌入式系统的软硬件协同设计嵌入式系统的软硬件协同设计 嵌入式系统的测试技术嵌入式系统的测试技术36嵌入式软件测试方法(1)n软件测试7阶段 单元或模块测试、集成测试、外部功能测试、回归测试、系统测试、验收测试、安装测试n嵌入式软件的测试主要分:模块测试、集成测试、系统测试、硬件/软件集成测试n硬件/软件集成测试,目的是验证嵌入式软件与其所配套的硬件设备是否能正确地交互。2021

15、年11月11日37n白盒黑盒相辅成白盒黑盒相辅成w白盒测试与黑盒测试是软件测试最常用、最常规的两种技术n白盒测试白盒测试w把测试对象看作一个透明的盒子,测试人员从其逻辑结构入手,设计和选择测试用例,对路径、控制结构、数据流等进行测试w通过插装检查程序的状态,确定是否与预期的状态一致w侧重于代码运行的过程n黑盒测试黑盒测试w把测试对象看做一个黑盒子,测试人员完全不考虑程序内部的逻辑结构,只依据其需求定义,检查程序运行的结果w多用于功能测试和性能分析w在程序的接口上进行嵌入式软件测试方法(2)2021年11月11日38软件测试技术白盒测试什么是白盒测试n若被测程序与若被测程序与特定的结构特定的结构

16、相联系,我们可以针对结构设计测试相联系,我们可以针对结构设计测试,以确保内部的,以确保内部的“所有齿轮相吻合所有齿轮相吻合”,即软件的内部过程是合,即软件的内部过程是合理的,是遵照规定执行的理的,是遵照规定执行的n白盒测试又称玻璃盒测试。把测试对象看作一个透明的盒子,白盒测试又称玻璃盒测试。把测试对象看作一个透明的盒子,充分利用其逻辑结构和有关信息,设计和选择测试用例。充分利用其逻辑结构和有关信息,设计和选择测试用例。n白盒测试又称为结构测试或逻辑驱动测试白盒测试又称为结构测试或逻辑驱动测试n白盒测试类似于西医看病,通过白盒测试类似于西医看病,通过X光、光、CT扫描等手段扫描等手段白盒测试主要

17、用于n结构测试结构测试n覆盖测试覆盖测试n静态分析也可以算作白盒测试的一种手段静态分析也可以算作白盒测试的一种手段39黑盒测试的概念n若被测程序与若被测程序与特定的功能特定的功能相联系,我们可以针对功能设计相联系,我们可以针对功能设计测试,以证实各功能完全可执行,同时在功能中寻找错误测试,以证实各功能完全可执行,同时在功能中寻找错误n把测试对象看做一个黑盒子,完全不考虑程序内部的逻辑把测试对象看做一个黑盒子,完全不考虑程序内部的逻辑结构和内部特性,只依据程序的需求规格说明书,检查程结构和内部特性,只依据程序的需求规格说明书,检查程序的功能是否正确。序的功能是否正确。n黑盒测试又叫做功能测试或数

18、据驱动测试。黑盒测试又叫做功能测试或数据驱动测试。n黑盒测试类似于中医:使用望、闻、问、切黑盒测试类似于中医:使用望、闻、问、切黑盒测试的目的n是否有错误的或遗漏了的功能是否有错误的或遗漏了的功能? ?n在接口上,输入能否正确地接受在接口上,输入能否正确地接受? ? 能否输出正确的结果能否输出正确的结果? ?n是否有数据结构错误或外部信息访问错误是否有数据结构错误或外部信息访问错误? ?n是否考虑了软件的出错情况?是否考虑了软件的出错情况?软件测试技术黑盒测试2021年11月11日40嵌入式软件测试方法(3)交叉测试(Host/Target测试)n与目标环境无关的部分在与目标环境无关的部分在P

19、CPC机上完成机上完成w充分利用高级语言的可移植性充分利用高级语言的可移植性w借鉴常规的软件测试方法借鉴常规的软件测试方法w与模拟测试不同与模拟测试不同n与硬件密切相关的部分在与硬件密切相关的部分在TargetTarget上完成上完成w需要调试环境支持需要调试环境支持w测试工具需要支持目标环境测试工具需要支持目标环境n最后在目标环境中确认最后在目标环境中确认主机平台主机平台嵌入式系统嵌入式系统调试环境调试环境2021年11月11日41嵌入式软件测试方法(4)交叉测试的特点n将大部分工作转移到将大部分工作转移到PC平台上,在硬件环境未建好或平台上,在硬件环境未建好或调试工具缺乏时就可以开展调试工

20、具缺乏时就可以开展n适用于高级语言,如适用于高级语言,如C,C+n操作方便,测试成本较低。操作方便,测试成本较低。n实时性受调试环境的制约实时性受调试环境的制约n目标环境中测试时要占用一定的目标资源目标环境中测试时要占用一定的目标资源n注意注意目标环境和主机环境的差异:目标编译器的目标环境和主机环境的差异:目标编译器的bugbugn目标码的验证目标码的验证2021年11月11日42如何开展交叉测试(Host/Target测试)n选用带有选用带有目标支持包目标支持包( (Target Package) )的软件测试工具的软件测试工具n确定哪些模块与硬件无关,哪些与硬件相关确定哪些模块与硬件无关,

21、哪些与硬件相关n配置相应的调试环境和目标环境配置相应的调试环境和目标环境n分别进行分别进行Host和和Target测试测试wHost:源代码:源代码+测试用例测试用例-编译连接编译连接-执行执行-测试结果测试结果wTarget:源代码:源代码+测试用例测试用例+目标包目标包-编译连接编译连接-下载下载-执行执行-反馈测试结果反馈测试结果交叉测试的嵌入式调试环境嵌入式软件测试方法(5)2021年11月11日43Compilation / Link EditionTarget PackagewHostSimulatorEmulatorSpecific TargetExecution报告报告分析分析

22、Test Reports被测被测代码代码测试用例测试用例44嵌入式软件测试工具(1)内存分析工具n内存分析工具用来处理在动态内存分配中存在的缺陷。内存分析工具用来处理在动态内存分配中存在的缺陷。n基于软件的内存分析工具基于软件的内存分析工具n基于硬件的内存分析工具基于硬件的内存分析工具性能分析工具n性能分析工具提供数据说明执行时间如何消耗、何时消耗性能分析工具提供数据说明执行时间如何消耗、何时消耗以及每个例程所用的时间。以及每个例程所用的时间。n与调试工具联合引导开发人员查看需要优化的特定函数。与调试工具联合引导开发人员查看需要优化的特定函数。n引导开发人员发现在系统调用中存在的错误以及程序结

23、构引导开发人员发现在系统调用中存在的错误以及程序结构上的缺陷。上的缺陷。45嵌入式软件测试工具(2)GUI测试工具n可作为脚本工具在开发环境中运行测试用例,对操作的记可作为脚本工具在开发环境中运行测试用例,对操作的记录和回放、抓住屏幕显示供以后分析和比较、设置和管理录和回放、抓住屏幕显示供以后分析和比较、设置和管理测试过程。测试过程。覆盖分析工具n白盒测试时可使用覆盖分析工具追踪哪些代码被执行过。白盒测试时可使用覆盖分析工具追踪哪些代码被执行过。n覆盖分析工具一般提供有关功能覆盖、分支覆盖、条件覆覆盖分析工具一般提供有关功能覆盖、分支覆盖、条件覆盖的信息。盖的信息。n对于嵌入式软件,代码覆盖分

24、析工具可能侵入代码的执行对于嵌入式软件,代码覆盖分析工具可能侵入代码的执行,影响实时代码的运行过程。,影响实时代码的运行过程。46选好工具n工欲善其事,必先利其器工欲善其事,必先利其器n通常工具是必需的,但不是万能的通常工具是必需的,但不是万能的n根据测试需要和工具的特长进行选择根据测试需要和工具的特长进行选择n使用测试工具带来的好处使用测试工具带来的好处w客观,准确,无感情色彩w可长时间工作,不会疲劳w高效、权威w减轻人的工作量,但不能完全代替人嵌入式软件测试工具(3)2021年11月11日47n单元集成两步走单元集成两步走单元测试和集成测试是软件测试的两个阶段n单元测试单元测试w将被测软件

25、分解为单元,逐个测试w单元测试需要从程序的内部结构和功能出发设计测试用例。单元测试需要从程序的内部结构和功能出发设计测试用例。w多个模块可以平行地独立进行单元测试多个模块可以平行地独立进行单元测试w可用白盒、黑盒等方法n集成测试集成测试w在单元测试的基础上,将所有模块按照设计要求组装起来测试w主要测试内容n接口间参数传递n集成的功能实现n模块间的影响嵌入式软件测试策略(1)2021年11月11日48先静后动,从小到大,由黑到白n先静态,后动态w从代码规则检查做起w测试开展得越早,付出的代价就越小w静态分析简单、方便,成本低、见效快w静态分析为动态测试打下良好基础w大大降低了测试的成本n先单元,后集成q单元测试是集成测试的基础q单元测试得越好,集成测试的工作量就越小n先黑盒后白盒q先验证软件功能是否满足需求q后验证程序覆盖率,补充测试嵌入式软件测试策略(2)w2021-11-11w492.5 实例分析GPS导航仪1 需求分析n用户要求2 规格说明n做什么3 体系结构n如何做w2021-11-11w50需求分析(用户)功能n针对高速公路上的开车用户和类似用户n系统应展示主要道路和其它陆地标志用户界面nLCD:400*600n控制按钮不多于三个n按下按钮时屏幕弹出菜单,供用户选择性能n地图应平滑滚动,

温馨提示

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

评论

0/150

提交评论