版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1
第二章嵌入式系统的设计方法嵌入式系统的基本设计过程良好的设计方法在嵌入式系统的开发过程中是必不可少的。首先,好的方法有助于规划一个清晰的工作进度,避免遗漏重要的工作,例如性能的优化和可靠性测试对于一个合格的嵌入式产品而言是不可或缺的。其次,采用有效的方法可以将整个复杂的开发过程分解成若干可以控制的步骤,通过一些先进的计算机辅助设计工具,按部就班、有条不紊地完成整个项目。最后,通过定义全面的设计过程,可以使整个团队的各个成员更好地理解自身的工作,方便成员之间相互交流与协作。3
提纲嵌入式系统的开发流程传统的嵌入式系统开发方法嵌入式系统的软硬件协同设计嵌入式系统的测试技术4嵌入式系统开发的一般流程。主要包括系统需求分析(要求有严格规范的技术要求)、体系结构设计、软硬件及机械系统设计、系统集成、系统测试,最终得到最终产品。嵌入式系统开发流程流程
嵌入式系统开发流程摩托罗拉T805GPS接收机蓝牙无线接口2023/2/55作用从客户那儿收集系统的非形式描述,确定设计任务和设计目标,并提炼出设计规格说明书,作为正式设计指导和验收的标准。分类功能性需求接口设计:输入输出信号、操作方式非功能性需求性能成本功耗系统的尺寸和重量系统需求分析-1
需求分析-21.需求与规格说明通常,描述产品需求的文档是由嵌入式系统的总体设计者从用户的视角来写的,由一系列的用户需求组成。然后,对这些需求进行提炼,从中获取一组一致性的需求,整理成正式的规格说明,这些规格说明里包含了进行系统体系结构设计所需要的足够信息。需求分析-32.确认需求确认需求不仅要理解什么是用户需要的,而且需要理解他们如何表达这些需求。精炼系统需求的方法是建立一个模型,这个模型可以使用已存数据来模拟功能,并且可以在个人电脑或工作站上运行。它应该让用户了解系统是如何使用的,以及用户如何和它进行交互。通常,设备的非功能模型可以让用户了解系统的特性,比如系统的尺寸和重量。需求分析-43.简单的需求表格对一个大系统进行需求分析是一项复杂而费时的工作,但是,取得相对少量的格式清晰、简单的信息是理解系统需求的一个好的开始。项目说明名称目的输入输出功能性能生产成本功耗物理尺寸和重量需求分析-54.需求的内部一致性在写完需求分析以后,你应该对它们的内部一致性进行检查:是否忘记了给某个功能指定输入或输出,是否考虑了系统运行的所有方式,是否把一些不切实际的要求放到了一个电池供电、低成本的机器中了等。规格说明规格说明规格说明起到客户和生产者之间的合同的作用。因此,规格说明必须小心编写,以便精确地反映客户的需求,并且作为设计时必须明确遵循的要求。规格说明应该足够明晰,以便别人可以验证它是否符合系统需求,且是否完全满足客户的期望。描述规格说明的工具可采用统一建模语言(UML)。11描述系统如何实现所述的功能和非功能需求,包括对硬件、软件和执行装置的功能划分,以及系统的软件、硬件选型等。体系结构描述说明需要什么样的构件一个好的体系结构是设计成功与否的关键。体系结构设计(1)体系结构设计规格说明中通常只描述系统应做什么,而不描述系统该怎么做。描述系统如何实现那些功能是体系结构的任务。体系结构是系统整体结构的一个计划。它给出嵌入式系统的总体架构,从功能实现上对软硬件进行划分;在此基础上,选定处理器和基本接口器件;根据系统的复杂程度确定是否使用操作系统,以及选择哪种操作系统;此外,还需要选择系统的开发环境。体系结构设计(2)1.硬件平台的选择(1)处理器的选择设计者在选择处理器时要考虑的主要因素有:处理性能技术指标功耗软件支持工具是否内置调试工具供应商是否提供评估板
1、硬件平台的选择(2)硬件选择的其它因素首先,需要考虑生产规模。其次,需要考虑开发的市场目标。另外,软件对硬件的依赖性。最后,只要可能,尽量选择使用普通的硬件。体系结构设计2.软件平台的选择嵌入式软件的开发流程,主要涉及代码编程、交叉编译、交叉连接、下载到目标板和调试等几个步骤,因此软件平台的选择涉及以下3个方面:操作系统编程语言集成开发环境2.软件平台的选择(1)操作系统的选择操作系统的选择至关重要。一般而言,在选择嵌入式操作系统时,可以遵循以下原则:市场进入时间可移植性可利用资源系统定制能力成本中文内核支持
2.软件平台的选择(2)集成开发环境集成开发环境IDE应考虑以下因素:系统调试器的功能支持库函数编译器开发商是否持续升级编译器连接程序是否支持所有的文件格式和符号格式2.软件平台的选择(3)硬件调试工具的选择常用的硬件调试工具有以下几种:实时在线仿真器(ICE,In-CircuitEmulator)
逻辑分析仪ROM仿真器在线调试OCD或在线仿真OCE软硬件构件设计-1设计硬件构件和软件构件构件通常包括硬件和软件两部分。构件设计使得构件与体系结构和规格说明相一致。一些构件是现成的,可以直接使用。在大多数情况下,我们必须自己设计一些构件,即使使用标准集成电路,也必须设计连接它们的印刷线路板。2023/2/520软硬件构件设计-2作用基于体系结构,对系统的软件、硬件进行详细设计软件硬件并行设计对于使用现成的硬件模块,大部分工作集中在软件设计上(硬件标准化、模块化、可重用)如果设计硬件模块,大部分工作集中在硬件设计上设计技术 模块化设计技术、面向对象设计技术、组件设计技术21把系统的软件、硬件和执行装置集成在一起,进行调试,发现并改进单元设计过程中的错误。系统调试与集成系统调试与集成只有建立构件后,才能将它们合并得到一个可以运行的系统。当然在系统集成阶段并不是仅仅把所有的构件连接在一起就行,在系统集成中通常都会发现以前设计上的错误。在系统集成时按阶段构架系统,并每次只对一部分模块进行排错,能够更容易地发现并定位错误。2023/2/523系统测试作用对设计好的系统进行测试,看其是否满足规格说明书中给定的功能要求严格而全面的测试是产品质量保证的坚实基础分类白盒测试黒盒测试灰盒测试第三方测试2023年2月5日24测试与调试的关系测试是检查软件发现问题,调试是分析软件解决问题测试贯穿于整个软件生存期,调试主要是在软件开发过程中调试具有随意性、不明确性,而测试是明确的、可重复的测试是全方位的,而调试是代码级的测试与调试不能相互替代,但相互支持,相辅相成测试与调试的关系25在实际的系统开发过程中,有一些重要因素是必须要考虑的,包括:功耗;性能(速度与精度达到要求);成本;用户界面。另外还必须考虑在系统设计的每一步骤中所要完成的任务,在设计过程的每一步骤中再添加以下细节:必须在设计的每一个阶段对设计进行分析,以决定如何才能满足规格说明要求。必须不断地细化设计,添加细节。必须不断地核实设计,保证它依然满足所有的系统目标,如成本、速度、精度等。嵌入式系统开发过程中考虑的重要因素26
提纲嵌入式系统的开发流程传统的嵌入式系统开发方法嵌入式系统的软硬件协同设计嵌入式系统的测试技术2023/2/5272.2嵌入式系统的传统设计方法2023/2/5282.2嵌入式系统的传统设计方法(续)特点软硬件设计独立进行优点简单易行、分工明确缺点排错困难出现问题互相推诿解决方案无法进行全系统优化设计(降低成本)在满足相关性能指标的情况下,成本最低最优软硬件划分29
提纲嵌入式系统的开发流程传统的嵌入式系统开发方法嵌入式系统的软硬件协同设计嵌入式系统的测试技术2023/2/530嵌入式系统的系统级设计方法1软硬件协同设计2设计重用技术系统级设计是一种高层次的设计方法,设计人员针对设计目标进行系统功能描述,定义系统的行为特性,进行软硬件划分,生成系统级的规格描述随着计算机技术和集成电路制造水平的发展,采用统一的机制描述嵌入式系统的软硬件子系统已经成为可能,系统级设计方法也随之诞生2023/2/531
软硬件协同设计2023/2/532软硬件协同设计主要设计步骤需求分析软硬件协同设计(Co-design)软硬件实现软硬件协同测试(Co-test)软硬件协同验证(Co-verification)特点——软硬件统一描述有限状态机(FSM)统一化的规格语言——SystemC、新的统一描述语言基于图形的表示工具——UML2023/2/533软硬件协同设计优点软硬件统一描述有利于优化设计重点关注算法,而非实现缺点不成熟,缺乏有效的统一描述工具现有工具实现效率不高有待于高效率的综合工具2023/2/534设计重用技术基于IP核的模块级重用IP核的设计和IP核的使用IP核的设计目标是实现即插即用IP核的设计除了需要考虑具体功能之外,还要考虑可重用、可测性及测试的可重用性基于平台的系统级重用基于IP核设计重用技术的扩展,强调系统级重用要求提供面向特定应用领域的设计模板,设计者通过对设计模板进行适当的修改来构造符合性能要求的SoC系统35
提纲嵌入式系统的开发流程传统的嵌入式系统开发方法嵌入式系统的软硬件协同设计嵌入式系统的测试技术36嵌入式软件测试方法(1)软件测试7阶段
单元或模块测试、集成测试、外部功能测试、回归测试、系统测试、验收测试、安装测试嵌入式软件的测试主要分:模块测试、集成测试、系统测试、硬件/软件集成测试硬件/软件集成测试,目的是验证嵌入式软件与其所配套的硬件设备是否能正确地交互。2023年2月5日37白盒黑盒相辅成白盒测试与黑盒测试是软件测试最常用、最常规的两种技术白盒测试把测试对象看作一个透明的盒子,测试人员从其逻辑结构入手,设计和选择测试用例,对路径、控制结构、数据流等进行测试通过插装检查程序的状态,确定是否与预期的状态一致侧重于代码运行的过程黑盒测试把测试对象看做一个黑盒子,测试人员完全不考虑程序内部的逻辑结构,只依据其需求定义,检查程序运行的结果多用于功能测试和性能分析在程序的接口上进行嵌入式软件测试方法(2)2023年2月5日38软件测试技术——白盒测试什么是白盒测试若被测程序与特定的结构相联系,我们可以针对结构设计测试,以确保内部的“所有齿轮相吻合”,即软件的内部过程是合理的,是遵照规定执行的白盒测试又称玻璃盒测试。把测试对象看作一个透明的盒子,充分利用其逻辑结构和有关信息,设计和选择测试用例。白盒测试又称为结构测试或逻辑驱动测试白盒测试类似于西医看病,通过X光、CT扫描等手段白盒测试主要用于结构测试覆盖测试静态分析也可以算作白盒测试的一种手段39黑盒测试的概念若被测程序与特定的功能相联系,我们可以针对功能设计测试,以证实各功能完全可执行,同时在功能中寻找错误把测试对象看做一个黑盒子,完全不考虑程序内部的逻辑结构和内部特性,只依据程序的需求规格说明书,检查程序的功能是否正确。黑盒测试又叫做功能测试或数据驱动测试。黑盒测试类似于中医:使用望、闻、问、切黑盒测试的目的是否有错误的或遗漏了的功能?在接口上,输入能否正确地接受?能否输出正确的结果?是否有数据结构错误或外部信息访问错误?是否考虑了软件的出错情况?软件测试技术——黑盒测试2023年2月5日40嵌入式软件测试方法(3)交叉测试(Host/Target测试)与目标环境无关的部分在PC机上完成充分利用高级语言的可移植性借鉴常规的软件测试方法与模拟测试不同与硬件密切相关的部分在Target上完成需要调试环境支持测试工具需要支持目标环境最后在目标环境中确认主机平台嵌入式系统调试环境2023年2月5日41嵌入式软件测试方法(4)交叉测试的特点将大部分工作转移到PC平台上,在硬件环境未建好或调试工具缺乏时就可以开展适用于高级语言,如C,C++操作方便,测试成本较低。实时性受调试环境的制约目标环境中测试时要占用一定的目标资源注意目标环境和主机环境的差异:目标编译器的bug目标码的验证2023年2月5日42如何开展交叉测试(Host/Target测试)选用带有目标支持包(TargetPackage)的软件测试工具确定哪些模块与硬件无关,哪些与硬件相关配置相应的调试环境和目标环境分别进行Host和Target测试Host:源代码+测试用例->编译连接->执行->测试结果Target:源代码+测试用例+目标包->编译连接->下载->执行->反馈测试结果交叉测试的嵌入式调试环境SimulatorEmulatorBDM/JTAGEmulator嵌入式软件测试方法(5)2023年2月5日43Compilation/LinkEditionTargetPackageHostSimulatorEmulatorSpecificTargetExecution报告分析TestReports被测代码测试用例44嵌入式软件测试工具(1)内存分析工具内存分析工具用来处理在动态内存分配中存在的缺陷。基于软件的内存分析工具基于硬件的内存分析工具性能分析工具性能分析工具提供数据说明执行时间如何消耗、何时消耗以及每个例程所用的时间。与调试工具联合引导开发人员查看需要优化的特定函数。引导开发人员发现在系统调用中存在的错误以及程序结构上的缺陷。45嵌入式软件测试工具(2)GUI测试工具可作为脚本工具在开发环境中运行测试用例,对操作的记录和回放、抓住屏幕显示供以后分析和比较、设置和管理测试过程。覆盖分析工具白盒测试时可使用覆盖分析工具追踪哪些代码被执行过。覆盖分析工具一般提供有关功能覆盖、分支覆盖、条件覆盖的信息。对于嵌入式软件,代码覆盖分析工具可能侵入代码的执行,影响实时代码的运行过程。46选好工具工欲善其事,必先利其器通常工具是必需的,但不是万能的根据测试需要和工具的特长进行选择使用测试工具带来的好处客观,准确,无感情色彩可长时间工作,不会疲劳高效、权威减轻人的工作量,但不能完全代替人嵌入式软件测试工具(3)2023年2月5日47单元集成两步走 单元测试和集成测试是软件测试的两个阶段单元测试将被测软件分解为单元,逐个测试单元测试需要从程序的内部结构和功能出发设计测试用例。多个模块可以平行地独立进行单元测试可用白盒、黑盒等方法集成测试在单元测试的基础上,将所有模块按照设计要求组装起来测试主要测试内容接口间参数传递集成的功能实现模块间的影响嵌入式软件测试策略(1)2023年2月5日48先静后动,从小到大,由黑到白先静态,后动态从代码规则检查做起测试开展得越早,付出的代价就越小静态分析简单、方便,成本低、见效快静态分析为动态测试打下良好基础大大降低了测试的成本先单元,后集成单元测试是集成测试的基础单元测试得越好,集成测试的工作量就越小先黑盒后白盒先验证软件功能是否满足需求后验证程序覆盖率,补充测试嵌入式软件测试策略(2)2023/2/5492.5实例分析——GPS导航仪1需求分析用户要求2规格说明做什么3体系结构如何做2023/2/550需求分析(用户)功能针对高速公路上的开车用户和类似用户系统应展示主要道路和其它陆地标志用户界面LCD:400*600控制按钮不多于三个按下按钮时屏幕弹出菜单,供用户选择性能地图应平滑滚动,系统在15秒钟内显示当前地图2023/2/551
需求分析(用户)成本单个设备零售价不高于2000元功耗4节5号电池供电,可持续8小时物理尺寸和重量设备应该可以非常舒适地放在手上2023/2/552需求分析(表格化)名称GPS导航仪目的为开车者提供用户级移动地图和定位信息输入三个控制按钮输出400*600LCD功能显示当前的位置信息和地图性能屏幕刷新时间0.25s成本1000元功耗100mW物理尺寸与重量不大于8cm*20cm,350g2023/2/5
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 分家协议的内容
- 个人的居间协议模板
- 2023装修房子协议书七篇
- 银屑病甲病因介绍
- 竣工验收要点培训课件
- (范文)雕刻机项目立项报告
- 公路工程竣工资料管理 黄 00课件讲解
- 2024年秋江苏名小四年级语文12月月考试卷-A4
- 2023年废弃资源和废旧材料回收加工品项目融资计划书
- 2023年家庭投影仪项目融资计划书
- 内科学糖尿病教案
- 《高尿酸血症》课件
- 微量泵的操作及报警处置课件查房
- 云南省昆明市西山区2023-2024学年七年级上学期期末语文试卷
- 人教版小学数学四年级上册5 1《平行与垂直》练习
- 市政设施养护面年度计划表
- 公差配合与技术测量技术教案
- 坚持教育、科技、人才“三位一体”为高质量发展贡献高校力量
- 污水处理厂工艺设计及计算
- 杭州宇泰机电设备有限公司X射线机室内探伤项目(新建)环境影响报告
- 2023年冷柜行业专题研究报告
评论
0/150
提交评论