软件测试与调试课件.ppt
- 【下载声明】
1. 本站全部试题类文档,若标题没写含答案,则无答案;标题注明含答案的文档,主观题也可能无答案。请谨慎下单,一旦售出,不予退换。
2. 本站全部PPT文档均不含视频和音频,PPT中出现的音频或视频标识(或文字)仅表示流程,实际无音频或视频文件。请谨慎下单,一旦售出,不予退换。
3. 本页资料《软件测试与调试课件.ppt》由用户(ziliao2023)主动上传,其收益全归该用户。163文库仅提供信息存储空间,仅对该用户上传内容的表现方式做保护处理,对上传内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(点击联系客服),我们立即给予删除!
4. 请根据预览情况,自愿下载本文。本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
5. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007及以上版本和PDF阅读器,压缩文件请下载最新的WinRAR软件解压。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 软件 测试 调试 课件
- 资源描述:
-
1、1第二章第二章 嵌入式系统基本设计方法嵌入式系统基本设计方法2第二章第二章 嵌入式系统基本设计方法嵌入式系统基本设计方法 l本章的主要内容本章的主要内容2.1 嵌入式系统设计概述2.2 嵌入式系统软硬件协同设计概述2.3 需求分析和概要设计2.4 详细设计2.5 实现阶段2.6 测试阶段32.1.1 嵌入式系统设计的内容嵌入式系统设计的内容l嵌入式系统的硬件和软件都必须高效率地设计,嵌入式系统的硬件和软件都必须高效率地设计,量体裁衣、去除冗余,力争在同样的硅片面积量体裁衣、去除冗余,力争在同样的硅片面积上实现更高的性能。上实现更高的性能。l嵌入式系统的设计技术主要包括嵌入式系统的设计技术主要包
2、括:硬件设计技术硬件设计技术软件设计技术软件设计技术 42.1.1 嵌入式系统设计的内容嵌入式系统设计的内容l1.硬件设计的技术包括硬件设计的技术包括:芯片级设计技术和电芯片级设计技术和电路板级设计技术路板级设计技术芯片级设计技术:核心是编译芯片级设计技术:核心是编译/综合、库综合、库/IP、测试、测试/验证。验证。l编译编译/综合技术使设计者用抽象的方式描述所需的功能,综合技术使设计者用抽象的方式描述所需的功能,并自动分析和插入实现细节。并自动分析和插入实现细节。l库库/IP技术将预先设计好的低抽象级实现用于高级。技术将预先设计好的低抽象级实现用于高级。l测试测试/验证技术确保每级功能正确,
3、减少各级之间反复设验证技术确保每级功能正确,减少各级之间反复设计的成本。计的成本。电路板级设计技术:完成电路板的规划,电路设电路板级设计技术:完成电路板的规划,电路设计,在印制板上布局,布线,最终构成系统。计,在印制板上布局,布线,最终构成系统。52.1.1 嵌入式系统设计的内容嵌入式系统设计的内容l2.软件设计技术:软件语言软件设计技术:软件语言软件语言经历了从低级语言(机器语言、汇编语言)软件语言经历了从低级语言(机器语言、汇编语言)到高级语言(如结构化设计语言、面向对象设计语到高级语言(如结构化设计语言、面向对象设计语言)的发展历程,推动其发展的是汇编技术、分析言)的发展历程,推动其发展
4、的是汇编技术、分析技术、编译技术、编译/解释技术等诸多相关技术。解释技术等诸多相关技术。62.1.2 嵌入式系统设计的技术背景嵌入式系统设计的技术背景lIT技术的发展推动嵌入式系统设计方法技术的发展推动嵌入式系统设计方法的演变,这些技术包括:的演变,这些技术包括:1.微电子技术:微电子技术:l大规模集成电路:微电子技术的发展,带来大规大规模集成电路:微电子技术的发展,带来大规模集成电路的集成度和工艺水平不断提高,生产模集成电路的集成度和工艺水平不断提高,生产出了大批量的低成本、高可靠性和高精度的微电出了大批量的低成本、高可靠性和高精度的微电子结构模块子结构模块l器件可编程:在此基础上发展起来的
5、器件可编程器件可编程:在此基础上发展起来的器件可编程思想和微处理(器)技术可以用软件来改变和实思想和微处理(器)技术可以用软件来改变和实现硬件的功能,实现了微处理器和各种可编程大现硬件的功能,实现了微处理器和各种可编程大规模集成专用电路、半定制器件的大量应用。规模集成专用电路、半定制器件的大量应用。72.高性能的高性能的EDA(电子设计自动化)(电子设计自动化)综合开发工具:综合开发工具:l高性能的高性能的EDA综合开发工具为复杂的嵌综合开发工具为复杂的嵌入式系统设计提供了易于学习和方便使入式系统设计提供了易于学习和方便使用的集成开发环境用的集成开发环境 2.1.2 嵌入式系统设计的技术背景嵌
6、入式系统设计的技术背景82.1.2 嵌入式系统设计的技术背景嵌入式系统设计的技术背景3.硬件描述语言硬件描述语言HDL(Hardware Description Language)l硬件描述语言的发展为复杂电子系统设硬件描述语言的发展为复杂电子系统设计提供了建立各种硬件模型的工作语言。计提供了建立各种硬件模型的工作语言。94.EOS技术:技术:l软件技术的进步,特别是嵌入式操作系软件技术的进步,特别是嵌入式操作系统统EOS(Embedded Operation System)的推出,为开发复杂嵌入式系统应用软的推出,为开发复杂嵌入式系统应用软件提供了底层支持和高效率开发平台。件提供了底层支持和
7、高效率开发平台。102.1.2 嵌入式系统设计的技术背景嵌入式系统设计的技术背景l名词解释:名词解释:IP(Intellectual Property Core,知识产权,知识产权核核)l是一种预先设计好的甚至已经过验证的具有某种是一种预先设计好的甚至已经过验证的具有某种确定功能的集成电路、器件或部件。确定功能的集成电路、器件或部件。l该模块有行为(该模块有行为(behavior)、结构()、结构(structure)和物理(和物理(physical)3级不同程度的设计,对应有级不同程度的设计,对应有主要描述功能行为的主要描述功能行为的“软软IP内核内核(soft IP core)”、完成结构
8、描述的完成结构描述的“固固IP内核内核(firm IP core)”和基于和基于物理描述并经过工艺验证的物理描述并经过工艺验证的“硬硬IP内核内核(hard IP core)”3个层次。个层次。112.1.3 嵌入式系统设计方法的分类嵌入式系统设计方法的分类l嵌入式系统设计分为三个不同的发展层次嵌入式系统设计分为三个不同的发展层次1.以以CAD软件和软件和ICE(In Circuit Emulator)为主要工具的设计方法为主要工具的设计方法这是过去直至现在我国单片机应用系统设计人员一这是过去直至现在我国单片机应用系统设计人员一直沿用的方法,其步骤是先抽象后具体。直沿用的方法,其步骤是先抽象后
9、具体。12抽象设计抽象设计主要是根据嵌入式应用系统要实现的功能要求,对主要是根据嵌入式应用系统要实现的功能要求,对系统功能细化,分成若干功能模块,画出系统功能系统功能细化,分成若干功能模块,画出系统功能框图,再对功能模块进行硬件和软件功能实现的划框图,再对功能模块进行硬件和软件功能实现的划分。分。13具体设计具体设计具体设计具体设计:包括硬件设计和软件设计。包括硬件设计和软件设计。硬件设计主要是根据性能参数要求对各功能模块所需要硬件设计主要是根据性能参数要求对各功能模块所需要使用的元器件进行选择和组合。使用的元器件进行选择和组合。软件设计主要包括任务分析、资源分配、模块划分、流软件设计主要包括
10、任务分析、资源分配、模块划分、流程设计和细化、编码调试等。程设计和细化、编码调试等。142.1.3 嵌入式系统设计方法的分类嵌入式系统设计方法的分类l嵌入式系统设计分为三个不同的发展层次嵌入式系统设计分为三个不同的发展层次2.以以EDA工具软件和工具软件和EOS为开发平台的设计方法为开发平台的设计方法随着微电子工艺技术的发展,各种通用的可编程半定制逻辑随着微电子工艺技术的发展,各种通用的可编程半定制逻辑器件应运而生。器件应运而生。硬件设计人员从过去选择和使用标准通用集成电路器件,逐硬件设计人员从过去选择和使用标准通用集成电路器件,逐步转向自己设计和制作部分专用的集成电路器件,而这些技步转向自己
11、设计和制作部分专用的集成电路器件,而这些技术是由各种术是由各种EDA工具软件提供支持的工具软件提供支持的。15EDA工具软件工具软件设计人员可以利用各种设计人员可以利用各种EDA工具和标准的复杂可编工具和标准的复杂可编程逻辑器件程逻辑器件CPLD和现场可编程门阵列和现场可编程门阵列FPGA等,等,设计和自制用户专用的大规模集成电路。设计和自制用户专用的大规模集成电路。然后再通过自下而上的设计方法,把用半定制器件然后再通过自下而上的设计方法,把用半定制器件设计自制的集成电路、可编程外围器件、所选择的设计自制的集成电路、可编程外围器件、所选择的ASIC与嵌入式微处理器或微控制器在印制板上布与嵌入式
12、微处理器或微控制器在印制板上布局、布线构成系统。局、布线构成系统。162.1.3 嵌入式系统设计方法的分类嵌入式系统设计方法的分类l嵌入式系统设计分为三个不同的发展层次嵌入式系统设计分为三个不同的发展层次3.以以IP内核库为设计基础,采用软硬件协同设计技术内核库为设计基础,采用软硬件协同设计技术的设计方法的设计方法20世纪世纪90年代后,进一步开始了从年代后,进一步开始了从“集成电路集成电路”级设计不断转向级设计不断转向“集成系统集成系统”级设计。目前已进入级设计。目前已进入片上系统片上系统SOC(System on a Chip)设计阶段。)设计阶段。17SOC单片系统设计要从整个系统性能要
13、求出发,把微处单片系统设计要从整个系统性能要求出发,把微处理器、模型算法、芯片结构、外围器件各层次电路理器、模型算法、芯片结构、外围器件各层次电路直至器件的设计紧密结合起来,并通过建立在全新直至器件的设计紧密结合起来,并通过建立在全新理念上的系统软件和硬件的协同设计,在单个芯片理念上的系统软件和硬件的协同设计,在单个芯片上完成整个系统的功能。上完成整个系统的功能。有时也可能把系统做在几个芯片上。有时也可能把系统做在几个芯片上。182.1.3 嵌入式系统设计方法的分类嵌入式系统设计方法的分类l三个发展层次的应用范围三个发展层次的应用范围从应用开发角度看,在相当长的一段时间内,都从应用开发角度看,
14、在相当长的一段时间内,都是采用前两种方法。是采用前两种方法。第第3层次设计方法对一般具体应用人员来说,只层次设计方法对一般具体应用人员来说,只能用来设计简单的单片系统。能用来设计简单的单片系统。复杂的单片系统则是某些大的半导体厂商才能设复杂的单片系统则是某些大的半导体厂商才能设计和实现的,并且用这种方法实现的单片系统,计和实现的,并且用这种方法实现的单片系统,只可能是那些广泛使用、具有一定规模的应用系只可能是那些广泛使用、具有一定规模的应用系统才值得投入研制。统才值得投入研制。19l3个层次的设计方法会并存。个层次的设计方法会并存。初级应用设计人员会以第初级应用设计人员会以第1种方法为主;种方
15、法为主;富有经验的设计人员会以第富有经验的设计人员会以第2种方法为主;种方法为主;很专业的设计人员会用第很专业的设计人员会用第3种方法进行简单单片系种方法进行简单单片系统的设计和应用。统的设计和应用。但所有的设计人员都可以应用半导体大厂商推出的但所有的设计人员都可以应用半导体大厂商推出的用第用第3种方法设计的专用单片系统。种方法设计的专用单片系统。202.1.4 嵌入式开发环境嵌入式开发环境l嵌入式开发环境,是以开发嵌入式系统为目的嵌入式开发环境,是以开发嵌入式系统为目的的工程开发环境。包括办公环境支持、软件支的工程开发环境。包括办公环境支持、软件支持、硬件设备支持。持、硬件设备支持。软件支持
16、:指集成开发环境与软件模拟器等。软件支持:指集成开发环境与软件模拟器等。硬件支持:指仿真器、目标板、示波器、烧录器等。硬件支持:指仿真器、目标板、示波器、烧录器等。21Platform Builder22PB 模拟器模拟器23开发板开发板24仿真环境仿真环境252.1.4 嵌入式开发环境嵌入式开发环境l嵌入式开发环境如图嵌入式开发环境如图 262.1.4 嵌入式开发环境嵌入式开发环境l集成开发系统集成开发系统嵌入式开发较多采用集成开发系统,一般包括编辑器、嵌入式开发较多采用集成开发系统,一般包括编辑器、编译器、连接器、调试器、工程管理器和底层调试接编译器、连接器、调试器、工程管理器和底层调试接
17、口设备(口设备(BDM/JTAG仿真器)等。仿真器)等。272.1.5 32位嵌入式开发的新挑战位嵌入式开发的新挑战l32位嵌入式开发引发的嵌入式技术发展趋势位嵌入式开发引发的嵌入式技术发展趋势(1)高度集成化的)高度集成化的SOC趋势趋势(2)软核与硬核同步发展的)软核与硬核同步发展的SOPC技术技术(3)与)与DSP技术融合技术融合(4)开发和调试手段不断完善)开发和调试手段不断完善(5)软件工程思想融入嵌入式软件)软件工程思想融入嵌入式软件 282.2嵌入式系统软硬件协同设计概述嵌入式系统软硬件协同设计概述2.2.1软硬件协同设计的发展背景与过程软硬件协同设计的发展背景与过程2.2.2软
18、硬件协同设计流程软硬件协同设计流程292.2.1软硬件协同设计的发展背景与过程软硬件协同设计的发展背景与过程l软硬件协同设计的背景软硬件协同设计的背景 系统级芯片设计的发展要求广泛采用软硬件协同设计系统级芯片设计的发展要求广泛采用软硬件协同设计方法方法系统级芯片设计是一种高层次的电子设计方法,设计系统级芯片设计是一种高层次的电子设计方法,设计人员针对设计目标进行系统功能描述,定义系统的行人员针对设计目标进行系统功能描述,定义系统的行为特性,生成系统级的规格描述。为特性,生成系统级的规格描述。302.2.1软硬件协同设计的发展背景与过程软硬件协同设计的发展背景与过程l软硬件协同设计的背景软硬件协
19、同设计的背景系统级芯片设计主要有系统级芯片设计主要有3个关键的支撑技术:个关键的支撑技术:(1)软、硬件的协同设计技术。)软、硬件的协同设计技术。(2)IP模块复用技术。模块复用技术。(3)模块以及模块界面间的综合分析和验证技术。)模块以及模块界面间的综合分析和验证技术。312.2.1软硬件协同设计的发展背景与过程软硬件协同设计的发展背景与过程l软硬件协同设计的发展过程软硬件协同设计的发展过程1.嵌入式系统设计早期,主要有两种方式嵌入式系统设计早期,主要有两种方式(1)针对一个特定的硬件进行软件开发,是一个软件开发问题。针对一个特定的硬件进行软件开发,是一个软件开发问题。(2)根据一个已有的软
20、件实现其具体的硬件结构根据一个已有的软件实现其具体的硬件结构,是一个软件,是一个软件固化的问题。固化的问题。322.2.1软硬件协同设计的发展背景与过程软硬件协同设计的发展背景与过程l软硬件协同设计的发展过程软硬件协同设计的发展过程早期两种方式的缺陷早期两种方式的缺陷没有统一的软硬件协同表示方法,从而不能自动地进行不同没有统一的软硬件协同表示方法,从而不能自动地进行不同的软硬件划分,并对不同的划分进行评估。的软硬件划分,并对不同的划分进行评估。不能从系统级进行验证,不容易发现软硬件边界的兼容问题。不能从系统级进行验证,不容易发现软硬件边界的兼容问题。332.2.1软硬件协同设计的发展背景与过程
21、软硬件协同设计的发展背景与过程l软硬件协同设计的发展过程软硬件协同设计的发展过程2.软硬件协同设计:软硬件协同设计:采用软硬件协同设计后,从系统功能描述开始,将软硬件完采用软硬件协同设计后,从系统功能描述开始,将软硬件完成的功能作全盘考虑并进行均衡;成的功能作全盘考虑并进行均衡;在设计空间搜索技术的支持下,设计出不同的软硬件体系结在设计空间搜索技术的支持下,设计出不同的软硬件体系结构并进行评估,最终找到较理想的目标系统的软硬件体系结构并进行评估,最终找到较理想的目标系统的软硬件体系结构;构;然后使用软硬件划分理论进行软硬件划分并设计实现。然后使用软硬件划分理论进行软硬件划分并设计实现。可以从根
22、本解决了早期嵌入式系统设计的缺陷和不足。可以从根本解决了早期嵌入式系统设计的缺陷和不足。342.2.2软硬件协同设计流程软硬件协同设计流程l软硬件协同设计,包括以下嵌入式系统的开发软硬件协同设计,包括以下嵌入式系统的开发过程过程(1)嵌入式系统的需求获取与需求分析;)嵌入式系统的需求获取与需求分析;(2)软硬件功能划分,设计系统的体系结构:选择处理器)软硬件功能划分,设计系统的体系结构:选择处理器和相关外部设备,操作系统,开发平台以及软硬件的分割和和相关外部设备,操作系统,开发平台以及软硬件的分割和总体系统集成;总体系统集成;(3)硬件的结构设计、软件的系统设计;)硬件的结构设计、软件的系统设
23、计;(4)软硬件详细设计;)软硬件详细设计;(5)软件代码开发,软件测试与调试;)软件代码开发,软件测试与调试;(6)软硬件的联调和系统集成;)软硬件的联调和系统集成;(7)系统的仿真验证和测试;)系统的仿真验证和测试;(8)实现最终系统。)实现最终系统。352.2.2软硬件协同设计流程软硬件协同设计流程362.3需求分析和概要设计需求分析和概要设计 l2.3.1用户需求分析和确定项目约束条件用户需求分析和确定项目约束条件l2.3.2系统硬件和软件功能划分系统硬件和软件功能划分l2.3.3概要设计概要设计372.3.1用户需求分析和确定项目约束条件用户需求分析和确定项目约束条件l用户需求分为以
24、下几个方面用户需求分为以下几个方面业务需求:从根本上体现了客户和产品开发商的根业务需求:从根本上体现了客户和产品开发商的根本利益,规定了客户或组织机构对产品高层次的目本利益,规定了客户或组织机构对产品高层次的目标要求。标要求。用户需求:规定了用户使用产品必须完成的任务。用户需求:规定了用户使用产品必须完成的任务。功能需求:规定了提供给用户使用的产品所具有的功能需求:规定了提供给用户使用的产品所具有的基本功能,以满足用户的业务需要。对于嵌入式产基本功能,以满足用户的业务需要。对于嵌入式产品而言,通过硬件功能、软件功能的规定来体现系品而言,通过硬件功能、软件功能的规定来体现系统整体将要完成的功能。
25、统整体将要完成的功能。非功能需求:规定了产品面向用户所展现的外部或非功能需求:规定了产品面向用户所展现的外部或内部的属性,以及执行的操作等。内部的属性,以及执行的操作等。382.3.1用户需求分析和确定项目约束条件用户需求分析和确定项目约束条件l收集用户需求的过程中可能遇到的问题收集用户需求的过程中可能遇到的问题用户提出不符合实际的要求。用户提出不符合实际的要求。用户不能将隐含的用户需求提供给开发人员。用户不能将隐含的用户需求提供给开发人员。l如何解决这些问题如何解决这些问题对于那些客户提出的不切实际的要求,开发人员应该及时的对于那些客户提出的不切实际的要求,开发人员应该及时的指出。指出。要求
展开阅读全文