1、1内容提纲内容提纲n项目开发生命周期项目开发生命周期n嵌入式系统的开发流程嵌入式系统的开发流程2一、项目开发生命周期一、项目开发生命周期n概述概述3概述概述n可以把嵌入式系统的开发看作对一个项目的实施;可以把嵌入式系统的开发看作对一个项目的实施;n项目的生命周期一般分为项目的生命周期一般分为识别需求识别需求、提出解决方提出解决方案案、执行项目执行项目和和结束项目结束项目4个阶段;个阶段; 结束结束项目项目执行项目执行项目提出提出解决解决方案方案识识别别需需求求4n是项目生命周期的最初阶段,主要任务是确认是项目生命周期的最初阶段,主要任务是确认需求,分析投资收益比,研究项目的可行性,需求,分析投
2、资收益比,研究项目的可行性,分析所需条件;分析所需条件; 风险分析风险分析制定系统规范制定系统规范需求风险需求风险时间风险时间风险资金风险资金风险项目管理风险项目管理风险系统功能系统功能系统限制系统限制系统开发资源系统开发资源识别需求识别需求5n向客户提交标书、介绍解决方案,赢得项目合向客户提交标书、介绍解决方案,赢得项目合同,既要展示实力又要合理报价;同,既要展示实力又要合理报价;n如果竞标成功则签定合同,厂商开始承担项目如果竞标成功则签定合同,厂商开始承担项目成败的责任;成败的责任;系统规划系统规划系统设计系统设计规划分析规划分析预估项目进程预估项目进程设计系统架构设计系统架构寻找适当方案
3、寻找适当方案提出方案提出方案6n由项目经理负责,细化方案,制定计划,协调由项目经理负责,细化方案,制定计划,协调人力和其他资源,监控进展,分析项目偏差;人力和其他资源,监控进展,分析项目偏差;系统实现系统实现系统测试系统测试从硬件做起从硬件做起从驱动程序移植开始做起从驱动程序移植开始做起从现成平台做起从现成平台做起功能测试功能测试集成测试集成测试系统测试系统测试执行项目执行项目环境测试环境测试出货测试出货测试系统测试系统测试系统测试系统测试环境测试环境测试系统调试系统调试7n主要包括移交工作成果,帮助客户实现商主要包括移交工作成果,帮助客户实现商务目标;务目标;n系统交接给维护人员;系统交接给
4、维护人员;n结清各种款项;结清各种款项;售后服务售后服务项目讨论项目讨论结束项目结束项目8二、嵌入式系统的开发流程二、嵌入式系统的开发流程 P23n概述概述n需求分析、需求分析、规格说明规格说明n系统结构设计、硬件和软件的选择系统结构设计、硬件和软件的选择n构件技术、构件设计与实现构件技术、构件设计与实现n系统集成、测试与验收系统集成、测试与验收9概述概述n嵌入式系统是软硬件综合体:嵌入式系统是软硬件综合体:硬件架构上以嵌入式处理器为中心,配置硬件架构上以嵌入式处理器为中心,配置存储器、存储器、I/O设备、通信模块等必要的外设设备、通信模块等必要的外设软件部分以软件开发平台为核心,向上提软件部
5、分以软件开发平台为核心,向上提供应用编程接口(供应用编程接口(API););n嵌入式系统中,软件和硬件紧密配合,协嵌入式系统中,软件和硬件紧密配合,协调工作,共同完成系统预定的功能;调工作,共同完成系统预定的功能;10工具工具嵌入式系统设计嵌入式系统设计嵌入式系统的设计是,在应用方法、工具等嵌入式系统的设计是,在应用方法、工具等手段的条件下针对问题进行求解的过程手段的条件下针对问题进行求解的过程11(嵌入式系统工程)设计方法简介(嵌入式系统工程)设计方法简介n由上而下由上而下是一个正统的设计方式,也就是一个正统的设计方式,也就是说,所有的设计皆是遵循系统工程的是说,所有的设计皆是遵循系统工程的
6、流程来进行;流程来进行;n由下而上由下而上表示一个系统是由已经有的基表示一个系统是由已经有的基础(或组件)为起点,开始往上延伸,础(或组件)为起点,开始往上延伸,最后将系统完成;最后将系统完成;12 需求分析需求分析规格说明书规格说明书系统结构设计系统结构设计构件设计构件设计测试测试由由上上而而下下由由下下而而上上13系统设计一般流程系统设计一般流程系统结构设计系统结构设计系统需求分析系统需求分析模具结构设计模具结构设计硬件构件设计硬件构件设计软件构件设计软件构件设计系统集成系统集成系统测试系统测试产品产品规格说明书规格说明书141. 需求分析需求分析n需求分析的内容需求分析的内容n评价标准评
7、价标准n需求分析的描述需求分析的描述n例:例:GPS移动地图的需求移动地图的需求151)需求分析的内容)需求分析的内容n作用作用使用户和设计者有效交流、沟通,明确设计目标使用户和设计者有效交流、沟通,明确设计目标n设计者设计者 设计什么?有哪些要求?设计什么?有哪些要求?n用户用户 将得到的系统是什么样的?将得到的系统是什么样的?n目标目标形成需求文档形成需求文档n内容内容功能性需求功能性需求 做什么做什么?n输入输入,输出输出,功能,功能,非功能性需求非功能性需求 其他属性其他属性n可靠性,速度,功耗,成本可靠性,速度,功耗,成本,大小大小,重量重量,设计时间设计时间162 2)评价标准)评
8、价标准n正确性正确性n无二义性无二义性n完整性完整性n可检验性可检验性n一致性一致性n可追踪性可追踪性173 3)需求分析的描述)需求分析的描述n自然语言自然语言需求说明书需求说明书需求分析表需求分析表n形式化描述形式化描述用例图等用例图等18例:例:GPS移动地图的需求移动地图的需求名称名称GPS移动地图移动地图 目的目的为驾驶者提供的用户级移动地图为驾驶者提供的用户级移动地图 输入输入一个电源按钮,两个控制按钮一个电源按钮,两个控制按钮输出输出逆光逆光LCD,显示,显示400600像素分辨率像素分辨率 功能功能使用使用5种接收器的种接收器的GPS系统;三种用户系统;三种用户可选的分辨率总是
9、显示当前的经纬度可选的分辨率总是显示当前的经纬度 性能性能0.25s内即可更新一次屏幕内即可更新一次屏幕 生产成本生产成本100美元美元 功耗功耗100mW物理尺寸和重量物理尺寸和重量不大于不大于216m2,12盎司(约盎司(约340g) 19系统设计一般流程系统设计一般流程系统结构设计系统结构设计系统需求分析系统需求分析模具结构设计模具结构设计硬件构件设计硬件构件设计软件构件设计软件构件设计系统集成系统集成系统测试系统测试产品产品20 2.2.规格说明规格说明n规格说明的目标规格说明的目标n规格说明书的描述规格说明书的描述n例:例:GPS系统规格说明书内容系统规格说明书内容211 1)规格说
10、明的目标)规格说明的目标n规格说明与需求的比较规格说明与需求的比较需求的提炼需求的提炼是可用来创建体系结构的关于系统的是可用来创建体系结构的关于系统的更详尽、更精确、更一致的描述更详尽、更精确、更一致的描述n目标目标形成规格说明书形成规格说明书n内容内容包含系统体系结构设计的足够信息包含系统体系结构设计的足够信息222 2)规格说明书的描述)规格说明书的描述n自然语言自然语言n形式化描述形式化描述UMLSDL23nUML(Unified Modeling Language)是一种原本设计用来描述对象导向程是一种原本设计用来描述对象导向程序语言开发的图形化语言。由于它具序语言开发的图形化语言。由
11、于它具有描述事物的多重性,所以理论上也有描述事物的多重性,所以理论上也可以被拉到其他领域使用。可以被拉到其他领域使用。n 在实际使用上,根据不同的使用情在实际使用上,根据不同的使用情况,况,UML提供了不同的图形来描述系提供了不同的图形来描述系统。在统。在UML中,包括了下面几种图形:中,包括了下面几种图形:类图、状态图、对象图、用例图、顺类图、状态图、对象图、用例图、顺序图、协作图、活动图、组件图和部序图、协作图、活动图、组件图和部署图署图。24nUML在嵌入式系统设计中的应用在嵌入式系统设计中的应用 25SDLnSDL语言是为描述复杂的实时系统而特语言是为描述复杂的实时系统而特别设计的,只
12、要系统的行为能用扩展的别设计的,只要系统的行为能用扩展的有限状态机来描述,并且其重点在交互有限状态机来描述,并且其重点在交互方面,就能够用方面,就能够用SDL来说明该系统所具来说明该系统所具有的行为,也可以描述其实际行为有的行为,也可以描述其实际行为nSDL具有两种不同的形式:文本表示法具有两种不同的形式:文本表示法(PR)和图形表示法()和图形表示法(GR)nSDL是形式化定义的,可以对其进行分是形式化定义的,可以对其进行分析、模拟和验证析、模拟和验证26例:例:GPS系统规格说明书内容系统规格说明书内容n从从GPS卫星接收到的数据卫星接收到的数据n地图数据地图数据n用户界面用户界面n必须执
13、行的满足客户需求的操作必须执行的满足客户需求的操作n保持系统运行所需的后备动作,如操保持系统运行所需的后备动作,如操纵纵GPS接收机接收机 27系统设计一般流程系统设计一般流程系统需求分析系统需求分析模具结构设计模具结构设计硬件构件设计硬件构件设计软件构件设计软件构件设计系统集成系统集成系统测试系统测试产品产品规格说明书规格说明书28 3.系统结构设计系统结构设计n系统结构设计的内容系统结构设计的内容n评价标准评价标准n系统结构的描述系统结构的描述n系统结构设计的验证系统结构设计的验证n软硬件的划分软硬件的划分291 1)系统结构设计的内容)系统结构设计的内容n作用作用实现系统的蓝图,系统整体
14、结构的一个计划实现系统的蓝图,系统整体结构的一个计划n目标目标形成形成结构设计文档结构设计文档n内容内容系统分析系统分析系统软硬件整体结构的设计系统软硬件整体结构的设计软硬件划分软硬件划分软硬件平台的确定软硬件平台的确定标准构件和自行设计构件的确定标准构件和自行设计构件的确定30312)评价标准)评价标准n有弹性有弹性n简单简单n可实现可实现n层次清晰层次清晰n功能分布平衡功能分布平衡n平衡技术和经济约束平衡技术和经济约束n满足功能需求和非功能需求满足功能需求和非功能需求n可重用可重用323)系统结构的描述)系统结构的描述n非形式化方式非形式化方式自然语言自然语言结构框图结构框图n形式化方法形
15、式化方法UML建模建模334)系统结构设计的验证)系统结构设计的验证n结构设计的正确性非常关键结构设计的正确性非常关键详细设计和实现的基础,对开发周期、成详细设计和实现的基础,对开发周期、成本有很大影响本有很大影响n验证所关心的问题验证所关心的问题结构设计是否满足功能、性能要求、能否结构设计是否满足功能、性能要求、能否实现实现n验证方法验证方法形式化方法形式化方法仿真仿真n系统结构、软件结构、硬件结构系统结构、软件结构、硬件结构其他方法其他方法n如基于开发板的原型系统如基于开发板的原型系统34355 5)软硬件的划分)软硬件的划分n设计中涉及硬件、软件部件,必须决定设计中涉及硬件、软件部件,必
16、须决定什么功能由硬件实现或软件实现什么功能由硬件实现或软件实现n硬件和软件具有双重性硬件和软件具有双重性n软硬件变动对系统的决策造成影响软硬件变动对系统的决策造成影响n划分和选择需要考虑多种因素划分和选择需要考虑多种因素n硬件和软件的双重性是划分决策的前提硬件和软件的双重性是划分决策的前提36通常由软件实现的部分通常由软件实现的部分n操作系统功能操作系统功能任务调度任务调度资源管理资源管理设备驱动设备驱动n协议栈协议栈TCPIPn应用软件框架应用软件框架n除基本系统、物理接口、基本逻辑电除基本系统、物理接口、基本逻辑电路外,许多由硬件实现的功能都可以路外,许多由硬件实现的功能都可以由软件实现由
17、软件实现37双重性部分(既可软件又可硬件实现)双重性部分(既可软件又可硬件实现)n算法算法加密解密加密解密编码解码编码解码压缩解压压缩解压n数学运算数学运算浮点运算,浮点运算, FFT, 38系统设计一般流程系统设计一般流程系统结构设计系统结构设计系统需求分析系统需求分析模具结构设计模具结构设计系统集成系统集成系统测试系统测试产品产品规格说明书规格说明书39 4. 硬件和软件的选择硬件和软件的选择 P25n概述概述n处理器选择处理器选择n操作系统选择操作系统选择n编程语言编程语言选择选择n硬件调试工具选择硬件调试工具选择n集成开发环境集成开发环境IDEIDE选择选择401)概述)概述n包括:处
18、理器、硬件部件、操作系统、包括:处理器、硬件部件、操作系统、编程语言、软件开发工具、硬件调试工编程语言、软件开发工具、硬件调试工具、软件组件等具、软件组件等n处理器是最重要的,同时操作系统和编处理器是最重要的,同时操作系统和编程语言也是非常关键的程语言也是非常关键的n处理器的选择往往同时会限制操作系统处理器的选择往往同时会限制操作系统的选择,操作系统的选择又会限制开发的选择,操作系统的选择又会限制开发工具的选择工具的选择412)处理器选择)处理器选择 P26n处理器选择要考虑的主要因素有:处理器选择要考虑的主要因素有:处理器的性能处理器的性能 处理器的技术指标处理器的技术指标功耗功耗软件支持工
19、具软件支持工具处理器是否内置调试工具处理器是否内置调试工具供应商是否提供评估板供应商是否提供评估板其它因素:生产规模、软件对硬件的依赖性其它因素:生产规模、软件对硬件的依赖性42处理器的性能处理器的性能n性能因素:时钟频率、内部寄存器大小、性能因素:时钟频率、内部寄存器大小、指令是否对等处理所有的寄存器等指令是否对等处理所有的寄存器等n嵌入式系统设计的目标:选取能够完成嵌入式系统设计的目标:选取能够完成作业的最合适的微处理器和作业的最合适的微处理器和I/O子系统子系统n若设计是面向高性能的应用,可考虑某若设计是面向高性能的应用,可考虑某些新的微处理器,其价格极为低廉。如些新的微处理器,其价格极
20、为低廉。如PowerPC,ARM,MIPS43处理器的技术指标处理器的技术指标n系统所要求的硬件是否无需过多的交系统所要求的硬件是否无需过多的交合逻辑(合逻辑(GL)就能连接到处理器上)就能连接到处理器上n其支持芯片,如其支持芯片,如DMA控制器、内存管控制器、内存管理、中断控制器、时钟、串行设备等理、中断控制器、时钟、串行设备等配套部件配套部件44功耗功耗n嵌入式微处理器最大且增长最快的市嵌入式微处理器最大且增长最快的市场是手持设备、场是手持设备、PDA、手机、电子记、手机、电子记事本、智能家电等消费类电子产品事本、智能家电等消费类电子产品n要求微处理器具有高性能、低功耗的要求微处理器具有高
21、性能、低功耗的特点特点45软件支持工具软件支持工具n选择合适的软件开发工具对系统的实现选择合适的软件开发工具对系统的实现会起很大的作用会起很大的作用46处理器是否内置调试工具处理器是否内置调试工具n内置测试工具可以大大缩短调试周期、内置测试工具可以大大缩短调试周期、降低调试的难度降低调试的难度47供应商是否提供评估板供应商是否提供评估板n可以利用评估板以验证设计者的理论可以利用评估板以验证设计者的理论是否正确、验证其决策是否得当是否正确、验证其决策是否得当48其它因素:生产规模、软件对其它因素:生产规模、软件对硬件的依赖性硬件的依赖性493)操作系统选择)操作系统选择 P28n操作系统本身所提
22、供的开发工具操作系统本身所提供的开发工具n操作系统向硬件接口移植的难度操作系统向硬件接口移植的难度n操作系统的内存要求操作系统的内存要求n开发人员是否熟悉此操作系统及其提供开发人员是否熟悉此操作系统及其提供的的APIn操作系统是否提供硬件的驱动程序操作系统是否提供硬件的驱动程序n操作系统的是否具有可剪裁性操作系统的是否具有可剪裁性n操作系统的实时性能操作系统的实时性能n收费情况,技术支持情况收费情况,技术支持情况50操作系统本身所提供的开发工具操作系统本身所提供的开发工具n有些实时操作系统只支持该系统供应商有些实时操作系统只支持该系统供应商的开发工具,因此还需向操作系统供应的开发工具,因此还需
23、向操作系统供应商购买编译器、调试器等开发工具商购买编译器、调试器等开发工具n有些操作系统使用广泛,且具有第三方有些操作系统使用广泛,且具有第三方工具可使用,选择余地较大工具可使用,选择余地较大51操作系统向硬件接口移植的难度操作系统向硬件接口移植的难度n操作系统到硬件的移植是关系到整个操作系统到硬件的移植是关系到整个系统能否按期完工的一个关键因素系统能否按期完工的一个关键因素n应选择移植性强的开发系统应选择移植性强的开发系统52操作系统的内存要求操作系统的内存要求n均衡考虑是否需要额扩展的均衡考虑是否需要额扩展的RAM或或EEPROM来满足操作系统对内存的要求来满足操作系统对内存的要求n某些操
24、作系统对内存的要求,可以由开某些操作系统对内存的要求,可以由开发人员依照应用需求分配所需资源发人员依照应用需求分配所需资源53开发人员是否熟悉此操作系统及开发人员是否熟悉此操作系统及其提供的其提供的API54 操作系统是否提供硬件的驱动程序操作系统是否提供硬件的驱动程序55操作系统的是否具有可剪裁性操作系统的是否具有可剪裁性n能否根据实际需求进行系统功能的裁减能否根据实际需求进行系统功能的裁减n某些操作系统具有较强的可裁减性,如某些操作系统具有较强的可裁减性,如嵌入式嵌入式Linux、VxWorks等等56操作系统的实时性能操作系统的实时性能 根据具体嵌入式应用功能需求差异及不同根据具体嵌入式
25、应用功能需求差异及不同RTOS 间的性能指标差异,间的性能指标差异,RTOS有三种选择有三种选择方案:方案:n一、根据应用需要和公司实力,自主开发研究一、根据应用需要和公司实力,自主开发研究n二、二、 充分考虑系统需求和流行充分考虑系统需求和流行RTOS的性能指的性能指标、性价比,选择商用标、性价比,选择商用RTOS,如,如Windows CE、VxWorks等等n三、考虑嵌入式三、考虑嵌入式Linux这种开发源代码的免费这种开发源代码的免费自由软件自由软件57收费情况,技术支持情况收费情况,技术支持情况584 4)编程语言)编程语言选择选择 P30n编程语言的选择主要考虑以下因素编程语言的选
26、择主要考虑以下因素通用性通用性可移植性程度可移植性程度执行效率执行效率可维护性可维护性59通用性通用性n嵌入式处理器的种类繁多,不同体系的嵌入式处理器的种类繁多,不同体系的微处理器都有专用的汇编语言,整个系微处理器都有专用的汇编语言,整个系统编程更加困难,软件复用无法实现,统编程更加困难,软件复用无法实现,通用性差。通用性差。n高级语言一般和机器的硬件联系较少,高级语言一般和机器的硬件联系较少,比较流行的高级语言对多数微处理器有比较流行的高级语言对多数微处理器有良好的支持,通用性好良好的支持,通用性好60可移植性程度可移植性程度n汇编语言和具体的微处理器密切相关,汇编语言和具体的微处理器密切相
27、关,某个微处理设计的程序不能直接移植某个微处理设计的程序不能直接移植到另一个不同种类的微处理器上使用,到另一个不同种类的微处理器上使用,因此移植性差。因此移植性差。n高级语言对所有的微处理器都是通用高级语言对所有的微处理器都是通用的,因此,程序可以在不同的平台上的,因此,程序可以在不同的平台上运行,可移植性好。运行,可移植性好。61执行效率执行效率n高级语言编译和开销较大,应用程序也高级语言编译和开销较大,应用程序也大,执行速度较慢。大,执行速度较慢。n汇编语言可以直接和硬件打交道,执行汇编语言可以直接和硬件打交道,执行速度快,开销小,但带来的问题是编程速度快,开销小,但带来的问题是编程复杂,
28、开发周期长。复杂,开发周期长。n因此,存在一个开发时间和运行性能的因此,存在一个开发时间和运行性能的权衡。权衡。62可维护性可维护性n低级语言如汇编语言编写的程序可维护低级语言如汇编语言编写的程序可维护性不高。性不高。n高级语言编写的程序往往是模块化设计高级语言编写的程序往往是模块化设计的,各个模块之间的接口是固定的,因的,各个模块之间的接口是固定的,因此,当系统出现问题时,可以很快将问此,当系统出现问题时,可以很快将问题定位在某个模块内,并尽快得以解决。题定位在某个模块内,并尽快得以解决。另外,模块化设计也利于系统功能的扩另外,模块化设计也利于系统功能的扩展和升级。展和升级。635 5)硬件
29、调试工具选择)硬件调试工具选择 P31P31n常用的硬件调试工具有以下几种:常用的硬件调试工具有以下几种:实时在线仿真器实时在线仿真器(ICE,In-Circuit Emulator)逻辑分析仪逻辑分析仪ROM仿真器仿真器 JTAG仿真器仿真器64实时在线仿真器实时在线仿真器(ICE,In-Circuit Emulator)nICE是一个可被控制的是一个可被控制的MCU,ICE可以可以通过一根短电缆线连接到目标板上通过一根短电缆线连接到目标板上nICE支持常规的调试操作:如单步运行、支持常规的调试操作:如单步运行、断点、内存检查等调试断点、内存检查等调试65逻辑分析仪逻辑分析仪n一种类似于示波
30、器的波形测试设备一种类似于示波器的波形测试设备n主要用于检测硬件电路工作时的逻辑主要用于检测硬件电路工作时的逻辑电平并加以存储,用图形方式直观表电平并加以存储,用图形方式直观表达出来,便于用户检测、分析电路设达出来,便于用户检测、分析电路设计中的错误计中的错误66ROM仿真器仿真器n用于仿真用于仿真ROM芯片芯片n可以将程序下载到可以将程序下载到ROM仿真器中,然仿真器中,然后直接调试目标板上的程序,避免了后直接调试目标板上的程序,避免了每次修改程序后还需烧结的麻烦每次修改程序后还需烧结的麻烦67JTAG仿真器仿真器nJTAG仿真器是目前使用最广泛的调试仿真器是目前使用最广泛的调试手段(用于测
31、试手段(用于测试PC板)板)nJTAG仿真器能测试仿真器能测试PC板上的结点能板上的结点能否正确运行,若不能,则测试仪还能否正确运行,若不能,则测试仪还能查明这个结点是否与其它电源或地线查明这个结点是否与其它电源或地线短路,是否开路或错误地连接到了电短路,是否开路或错误地连接到了电路中的其它结点上路中的其它结点上686 6)集成开发环境)集成开发环境IDEIDE选择选择 P33n集成开发环境集成开发环境IDEIDE考虑的因素考虑的因素系统调试器的功能系统调试器的功能支持库函数与选择硬件和操作系统的支持库函数与选择硬件和操作系统的原则一样:除非必要,尽量采用标准原则一样:除非必要,尽量采用标准的
32、的 glibc编译器开发商是否持续升级编译器编译器开发商是否持续升级编译器连接程序是否支持所有的文件格式和连接程序是否支持所有的文件格式和符号格式符号格式69系统设计一般流程系统设计一般流程系统结构设计系统结构设计系统需求分析系统需求分析模具结构设计模具结构设计系统集成系统集成系统测试系统测试产品产品规格说明书规格说明书70 5. 构件技术构件技术n标准构件和自行设计构件标准构件和自行设计构件n标准硬构件标准硬构件n标准软构件标准软构件n自研硬构件自研硬构件n自研软构件自研软构件n构件的选择构件的选择711)标准构件和自行设计构件)标准构件和自行设计构件n构件的实现构件的实现选择标准选择标准自
33、行设计自行设计n标准构件标准构件 ?现成构件?现成构件已经产品化已经产品化形成规模生产形成规模生产n标准构件标准构件 自行设计构件自行设计构件 用户系统用户系统n构件包括了硬件构件和软件构件构件包括了硬件构件和软件构件n构件本身可以是层次性的,可以由子构件组成构件本身可以是层次性的,可以由子构件组成722)标准硬构件)标准硬构件n标准标准 IC RAM, ROM, 接口控制器,接口控制器,n标准标准 IP CPU核,核,n标准模块标准模块GPRS模块模块,GSM模块模块,蓝牙模块蓝牙模块, n标准计算平台标准计算平台基于基于PC104的嵌入式计算机的嵌入式计算机733)标准软构件)标准软构件n
34、OS / RTOSn协议栈协议栈TCP/IP路由协议路由协议H.323n图形开发包图形开发包VxWorks的的ZINKn驱动程序驱动程序744)自研硬构件)自研硬构件n内容内容逻辑电路,专用加速器,逻辑电路,专用加速器,n实现方式实现方式PCB(印刷电路板):(印刷电路板):IC:PLD FPGA ASIC,nEDA设计工具设计工具板级:板级: n原理图设计工具原理图设计工具nPCB设计工具设计工具ICn硬件描述语言硬件描述语言: VHDL,Verilog755)自研软构件)自研软构件n驱动程序驱动程序n应用程序应用程序n766)构件的选择)构件的选择n授权构件的费用一般都较高,但大都授权构件
35、的费用一般都较高,但大都经过严格的测试,可靠性高,调试时经过严格的测试,可靠性高,调试时间短,而免费构件相反;间短,而免费构件相反;n现在也有一些免费的自由(软件)构现在也有一些免费的自由(软件)构件,它们的性能、可靠性也很好;件,它们的性能、可靠性也很好;n因此在构件选择的时候要加以权衡,因此在构件选择的时候要加以权衡,确定哪种方案更好;确定哪种方案更好;777) 软硬件技术对系统结构的影响软硬件技术对系统结构的影响n硬软件设计的趋势硬软件设计的趋势融合、渗透融合、渗透硬件设计的软件化硬件设计的软件化nVHDL, VerilognHANDL-C软件实现的硬件化软件实现的硬件化n各种算法的各种
36、算法的ASICn对系统设计的影响对系统设计的影响协同设计协同设计增加灵活性增加灵活性增加了风险增加了风险78 8) 构件设计与实现构件设计与实现n硬件构件设计硬件构件设计n硬件构件设计流程硬件构件设计流程n软件构件设计软件构件设计n软件构件设计流程软件构件设计流程79硬件构件设计硬件构件设计n设计硬件子系统功能设计硬件子系统功能电源子系统;电源子系统;最小系统;最小系统;复位电路;复位电路;n定义硬件子系统间接口定义硬件子系统间接口n确定硬件各子系统原理图确定硬件各子系统原理图n硬件子系统布版硬件子系统布版n硬件子系统测试硬件子系统测试80硬件构件设计流程硬件构件设计流程81例:嵌入式系统硬件
37、系统构件例:嵌入式系统硬件系统构件82软件构件设计软件构件设计n设计软件构件功能设计软件构件功能n定义软件构件接口定义软件构件接口n规定构件之间的调用关系规定构件之间的调用关系n规定软件构件出错处理方案规定软件构件出错处理方案n83软件构件设计流程软件构件设计流程84系统设计一般流程系统设计一般流程系统结构设计系统结构设计系统需求分析系统需求分析模具结构设计模具结构设计硬件构件设计硬件构件设计软件构件设计软件构件设计规格说明书规格说明书856. 系统集成、测试与验收系统集成、测试与验收 P37n系统集成系统集成n系统测试系统测试n系统验收系统验收861)系统集成系统集成n系统集成:把系统的软件
38、、硬件集成在一系统集成:把系统的软件、硬件集成在一起,进行调试,发现并改进构件设计过程起,进行调试,发现并改进构件设计过程中的错误;中的错误;n集成可分两步:集成可分两步:在宿主机上模拟集成(软集成)在宿主机上模拟集成(软集成)在目标机上集成在目标机上集成n各构件设计阶段尽可能地按阶段组装系统各构件设计阶段尽可能地按阶段组装系统和相对独立地测试系统功能;和相对独立地测试系统功能;n如果每次只对一部分模块排错,很可能更如果每次只对一部分模块排错,很可能更容易发现和识别简单的错误;容易发现和识别简单的错误;872)系统测试系统测试n系统测试:对系统进行测试,看是否满系统测试:对系统进行测试,看是否
39、满足规格说明书中给定的功能要求;足规格说明书中给定的功能要求;n选择测试实例:选择测试实例:功能测试功能测试n极限情况测试、边界测试、异常测试、极限情况测试、边界测试、异常测试、错误测试、随机测试、性能测试错误测试、随机测试、性能测试覆盖测试覆盖测试n语句测试、判定或分支覆盖、条件覆盖语句测试、判定或分支覆盖、条件覆盖灰盒测试灰盒测试883)系统验收系统验收n系统经过测试,确定实现规格说明书系统经过测试,确定实现规格说明书功能时停止测试;功能时停止测试;n整理开发文档和资料,提交开发报告;整理开发文档和资料,提交开发报告;n组织系统验收,开发结束组织系统验收,开发结束 89例:验收阶段提交的文
40、档样例例:验收阶段提交的文档样例n技术文件目录技术文件目录n技术任务书技术任务书n技术方案报告技术方案报告n产品标准(草案)产品标准(草案)n技术条件技术条件n可靠性技术设计可靠性技术设计n技术设计说明书技术设计说明书n试产总结试产总结n测试报告测试报告90本讲内容小结本讲内容小结n需求分析、需求分析、规格说明规格说明n系统结构设计、硬件和软件的选择系统结构设计、硬件和软件的选择n构件技术、构件设计与实现构件技术、构件设计与实现n系统集成、测试与验收系统集成、测试与验收91想一想想一想n如何选择嵌入式处理器和嵌入式操作如何选择嵌入式处理器和嵌入式操作系统系统n简述嵌入式系统的设计过程简述嵌入式系统的设计过程