《嵌入式系统设计的一般方法》由会员分享,可在线阅读,更多相关《嵌入式系统设计的一般方法(21页珍藏版)》请在金锄头文库上搜索。
1、1第四讲第四讲 嵌入式系统设计的一般方法嵌入式系统设计的一般方法2关于设计方法论关于设计方法论l方法论:世界观主要解决世界“是什么”的问题,方法论主要解决“怎么办”的问题。l确保所有要做的事情都是必须的。确保所有要做的事情都是必须的。l经验的累积与量化。经验的累积与量化。l同一团队遵循同一方法,有助于沟通,彼此协调工作。同一团队遵循同一方法,有助于沟通,彼此协调工作。3关于关于SPCSPCl六西格玛(六西格玛(SixSigma)又称:又称:6以以4西格玛而言,相当于每一百万个机会里,有西格玛而言,相当于每一百万个机会里,有6210次误差。如果企业不断追求品质改进,达到次误差。如果企业不断追求品
2、质改进,达到6西格玛的程度,绩效就几近于完美地达成顾客西格玛的程度,绩效就几近于完美地达成顾客要求,在一百万个机会里,只找得出要求,在一百万个机会里,只找得出3.4个瑕疪。个瑕疪。4嵌入式系统的设计方法嵌入式系统的设计方法l1嵌入式系统的总体结构嵌入式系统的总体结构l2嵌入式系统的设计流程嵌入式系统的设计流程l3 3 嵌入式系统设计步骤嵌入式系统设计步骤l4嵌入式系统的的硬件软件协同设计技术嵌入式系统的的硬件软件协同设计技术l5嵌入式开发工具与开发环境嵌入式开发工具与开发环境51嵌入式系统的总体结构嵌入式系统的总体结构机械装置机械装置嵌入式嵌入式微处理微处理器器SDRAMROMI/ OA/ D
3、D/ A人机交互接口人机交互接口通用接口通用接口实时操作系统实时操作系统( ( RTOSRTOS ) )图形用户图形用户接口接口BSPBSP / / HAL HAL (板极支持包板极支持包/ /硬件抽象层硬件抽象层)任务管理任务管理文件系统文件系统应用程序应用程序嵌入式计算机系统嵌入式计算机系统传感器传感器1传感器传感器2传感器传感器N.驱动器驱动器1驱动器驱动器2驱动器驱动器N.硬件层硬件层软件层软件层中间层中间层功能层功能层被控对象被控对象62嵌入式系统的设计流程嵌入式系统的设计流程嵌入式系统设计一般有嵌入式系统设计一般有5个阶段构成:需求分析、个阶段构成:需求分析、体系结构设计、硬件体系
4、结构设计、硬件/软件设计、系统集成和系统测试软件设计、系统集成和系统测试73 3 嵌入式系统设计步骤嵌入式系统设计步骤l系统需求分析:系统需求分析:确定设计任务和设计目标,并提炼出设确定设计任务和设计目标,并提炼出设计规格说明书,作为正式设计指导和验收的标准。系统计规格说明书,作为正式设计指导和验收的标准。系统的需求一般分功能性需求和非功能性需求两方面。的需求一般分功能性需求和非功能性需求两方面。l体系结构设计:体系结构设计:描述系统如何实现所述的功能和非功能描述系统如何实现所述的功能和非功能需求,包括对硬件、软件和执行装置的功能划分以及系需求,包括对硬件、软件和执行装置的功能划分以及系统的软
5、件、硬件选型等。统的软件、硬件选型等。一个好的体系结构是设计成功一个好的体系结构是设计成功与否的关键。与否的关键。l硬件硬件/ /软件协同设计:软件协同设计:基于体系结构,对系统的软件、硬基于体系结构,对系统的软件、硬件进行详细设计。为了缩短产品开发周期,设计往往是件进行详细设计。为了缩短产品开发周期,设计往往是并行的。应该说,嵌入式系统设计的工作大部分都集中并行的。应该说,嵌入式系统设计的工作大部分都集中在软件设计上,采用面向对象技术、软件组件技术、模在软件设计上,采用面向对象技术、软件组件技术、模块化设计是现代软件工程经常采用的方法。块化设计是现代软件工程经常采用的方法。83 3 嵌入式系
6、统设计步骤嵌入式系统设计步骤l系统集成:系统集成:把系统的软件、硬件和执行装置集成在一起,把系统的软件、硬件和执行装置集成在一起,进行调试,发现并改进单元设计过程中的错误。进行调试,发现并改进单元设计过程中的错误。l系统测试:系统测试:对设计好的系统进行测试,看其是否满足规对设计好的系统进行测试,看其是否满足规格说明书中给定的功能要求。格说明书中给定的功能要求。9单片机系统的开发流程单片机系统的开发流程l通常在单片机系统的开发和应用中,是按照如图下图通常在单片机系统的开发和应用中,是按照如图下图所示的流程进行的。所示的流程进行的。10嵌入式系统的开发过程嵌入式系统的开发过程l在嵌入式系统的应用
7、开发中,整个系统的开发过程将在嵌入式系统的应用开发中,整个系统的开发过程将改变为如下图所示的过程。改变为如下图所示的过程。114嵌入式系统的的硬件软件协同设计技术嵌入式系统的的硬件软件协同设计技术从理论上来说,每一个应用系统,都存在从理论上来说,每一个应用系统,都存在一个适合于该系统的硬件、软件功能的最佳组一个适合于该系统的硬件、软件功能的最佳组合,如何从应用系统需求出发,依据一定的指合,如何从应用系统需求出发,依据一定的指导原则和分配算法对硬件导原则和分配算法对硬件/软件功能进行分析及软件功能进行分析及合理的划分,从而使系统的整体性能、运行时合理的划分,从而使系统的整体性能、运行时间、能量耗
8、损、存储性能达到最佳状态,己成间、能量耗损、存储性能达到最佳状态,己成为硬件为硬件/软件协同设计的重要研究内容之一软件协同设计的重要研究内容之一12传统的设计技术传统的设计技术传统的嵌入式系统的设计技术将硬件和软件分为传统的嵌入式系统的设计技术将硬件和软件分为两个独立的部分两个独立的部分。13传统的嵌入式系统开发过程传统的嵌入式系统开发过程l传统的嵌入式系统开发采用的是软件开发与硬件开发传统的嵌入式系统开发采用的是软件开发与硬件开发分离的方式,其过程可描述如下分离的方式,其过程可描述如下(1)需求分析;需求分析;(2)软硬件分别设计、开发、调试、测试;软硬件分别设计、开发、调试、测试;(3)系
9、统集成:软硬件集成;系统集成:软硬件集成;(4)集成测试;集成测试;(5)若系统正确,则结束,否则继续进行;若系统正确,则结束,否则继续进行;(6)若出现错误,需要对软、硬件分别验证和修改;若出现错误,需要对软、硬件分别验证和修改;(7)返回返回3,继续进行集成测试。,继续进行集成测试。14软硬件协同设计过程软硬件协同设计过程嵌入式系统的硬件软件协同设计技术嵌入式系统的硬件软件协同设计技术需求说明书需求说明书硬件设计硬件设计软软/硬件划分硬件划分接口定义接口定义软件设计软件设计编译调编译调试试程序库程序库硬件制作硬件制作硬件测试硬件测试软件仿真软件仿真软硬件联调软硬件联调产品发布产品发布产品认
10、证产品认证离线调试离线调试ICE调试器调试器15软硬件协同设计过程软硬件协同设计过程l软硬件协同设计过程可归纳为软硬件协同设计过程可归纳为(1)需求分析;需求分析;(2)软、硬件协同设计;软、硬件协同设计;(3)软硬件实现:软硬件实现:(4)软硬件协同测试和验证。软硬件协同测试和验证。这种方法的特点在协同设计这种方法的特点在协同设计(Co-design)、协同测协同测试试(Co-test)和协同验证和协同验证(Co-verification)上,充分考上,充分考虑了软硬件的关系,并在设计的每个层次上给以测试虑了软硬件的关系,并在设计的每个层次上给以测试验证,使得尽早发现和解决问题,避免灾难性错
11、误的验证,使得尽早发现和解决问题,避免灾难性错误的出现。出现。16关于关于嵌入式系统的可重构设计技术嵌入式系统的可重构设计技术1可重构定义可重构定义l所谓可重构是指:在软件或硬件系统中,如果可以利用可重所谓可重构是指:在软件或硬件系统中,如果可以利用可重用的资源,经过重构或重组使之实现不同功能的系统,以适用的资源,经过重构或重组使之实现不同功能的系统,以适应不同应用的要求,则称这种系统是可重构的。应不同应用的要求,则称这种系统是可重构的。l重构与重组是可重构系统改变其功能的两种方式。重构与重组是可重构系统改变其功能的两种方式。l可重构的目的有两点:可重构的目的有两点:(1)为了扩展系统的功能,
12、使之能适为了扩展系统的功能,使之能适应不同应用的要求;应不同应用的要求;(2)为了节省软硬件的开发费用,尽可为了节省软硬件的开发费用,尽可能使用已有的资源来构造新的系统。能使用已有的资源来构造新的系统。l可重构可以按解决不同问题的层次分成可重构可以按解决不同问题的层次分成4类:电路级可重构、类:电路级可重构、指令级可重构、结构级可重构和软件级可重构。指令级可重构、结构级可重构和软件级可重构。17l如果按重构发生的时间划分,可重构技术又可分为静态可重构如果按重构发生的时间划分,可重构技术又可分为静态可重构(StaticReconfiguration)和动态系统重构和动态系统重构(DynamicR
13、econfiguration)。l如果重构发生在系统运行前,则称为静态可重构,如图如果重构发生在系统运行前,则称为静态可重构,如图2-25(a)所示。如果在系统运行时可以重构,即系统本身可以)所示。如果在系统运行时可以重构,即系统本身可以根据不同条件改变自身功能,则称为动态可重构,如图根据不同条件改变自身功能,则称为动态可重构,如图2-25(b)所示。)所示。参数配置参数配置资源重组或重构资源重组或重构执行执行对象对象参数配置参数配置资源重组或重构资源重组或重构执行执行对象对象(a)静态重构)静态重构(b)动态重构)动态重构图图2-25系统重构过程系统重构过程18就动态重构实现范围的不同,又可
14、以分为全局重构就动态重构实现范围的不同,又可以分为全局重构和局部重构。和局部重构。(1)全局重构。所谓全局重构是指对系统进行全部的全局重构。所谓全局重构是指对系统进行全部的重新配置。重构前后系统相互独立,没有关联。重新配置。重构前后系统相互独立,没有关联。(2)局部重构。对系统的局部重新配置,与此同时,局部重构。对系统的局部重新配置,与此同时,其余局部的工作状态不受影响。局部重构对减小其余局部的工作状态不受影响。局部重构对减小重构的范围和单元数目,大大缩短重构时间,占重构的范围和单元数目,大大缩短重构时间,占有相当的优势。有相当的优势。192可重构技术的发展可重构技术的发展l可重构性真正向灵活
15、流畅迈出的第一步是嵌入式数可重构性真正向灵活流畅迈出的第一步是嵌入式数字计算机的出现。字计算机的出现。l在基于在基于SRAM的大型的大型FPGA出现以后,才第一次对出现以后,才第一次对目前大多数人所谈论的可重构计算展开研究。目前大多数人所谈论的可重构计算展开研究。l近年来,可重构技术在嵌入式应用领域发展迅速,近年来,可重构技术在嵌入式应用领域发展迅速,主要集中在现场可编程门阵列主要集中在现场可编程门阵列(FPGA)的应用上,使的应用上,使实时电路重构成为研究热点。实时电路重构成为研究热点。l为了获取市场竞争优势,减少产品开发周期,提高为了获取市场竞争优势,减少产品开发周期,提高嵌入式系统的可移
16、植性和互用性,增强竞争的核心嵌入式系统的可移植性和互用性,增强竞争的核心能力,未来的嵌入式系统领域将采用可重构技术来能力,未来的嵌入式系统领域将采用可重构技术来设计软硬件系统。设计软硬件系统。203可重构设计的可重构设计的优点优点l可根据应用需求动态地配置或重组相应软硬件资源可根据应用需求动态地配置或重组相应软硬件资源实现特定的功能;实现特定的功能;l提高系统的扩展性和系统灵活性,拓宽了系统应用提高系统的扩展性和系统灵活性,拓宽了系统应用范围;范围;l提高系统软提高系统软/硬件的可重用性,降低开发成本,减少硬件的可重用性,降低开发成本,减少产品开发时间;产品开发时间;l能为特定的应用领域提供灵活高效的解决方案,便能为特定的应用领域提供灵活高效的解决方案,便于系统的升级和错误修复;于系统的升级和错误修复;l可以降低系统功耗,在生产规模小时具有较高的性可以降低系统功耗,在生产规模小时具有较高的性能价格比。能价格比。215嵌入式开发工具与开发环境嵌入式开发工具与开发环境VISUALSTUDIO2005