《嵌入式系统设计开发流程课件》由会员分享,可在线阅读,更多相关《嵌入式系统设计开发流程课件(62页珍藏版)》请在金锄头文库上搜索。
1、嵌入式系统设计嵌入式系统设计嵌入式系统设计嵌入式系统设计第二讲 嵌入式系统开发流程授课教师:谭毅电邮地址:课件密码:123452024/8/111嵌入式系统设计开发流程嵌入式系统设计嵌入式系统设计嵌入式系统设计嵌入式系统设计内容提纲项目开发生命周期嵌入式系统的开发流程2024/8/112嵌入式系统设计开发流程嵌入式系统设计嵌入式系统设计嵌入式系统设计嵌入式系统设计项目开发生命周期概述识别需求提出方案执行项目结束项目2024/8/113嵌入式系统设计开发流程嵌入式系统设计嵌入式系统设计嵌入式系统设计嵌入式系统设计概述可以把嵌入式系统的开发看作对一个项目的实施;项目的生命周期一般分为识别需求、提出
2、解决方案、执行项目和结束项目4个阶段; 结束项目执行项目提出解决方案识别需求投入人力时间2024/8/114嵌入式系统设计开发流程嵌入式系统设计嵌入式系统设计嵌入式系统设计嵌入式系统设计识别需求是项目生命周期的最初阶段,主要任务是确认需求,分析投资收益比,研究项目的可行性,分析所需条件; 风险分析制定系统规范需求风险时间风险资金风险项目管理风险系统功能系统限制系统开发资源识别需求2024/8/115嵌入式系统设计开发流程嵌入式系统设计嵌入式系统设计嵌入式系统设计嵌入式系统设计提出方案向客户提交标书、介绍解决方案,赢得项目合同,既要展示实力又要合理报价;如果竞标成功则签定合同,厂商开始承担项目成
3、败的责任;系统规划系统设计规划分析预估项目进程设计系统架构寻找适当方案提出方案2024/8/116嵌入式系统设计开发流程嵌入式系统设计嵌入式系统设计嵌入式系统设计嵌入式系统设计执行项目由项目经理负责,细化方案,制定计划,协调人力和其他资源,监控进展,分析项目偏差;系统实现系统测试从硬件做起从驱动程序移植开始做起从现成平台做起功能测试集成测试系统测试执行项目环境测试出货测试系统测试系统测试环境测试系统调试2024/8/117嵌入式系统设计开发流程嵌入式系统设计嵌入式系统设计嵌入式系统设计嵌入式系统设计结束项目主要包括移交工作成果,帮助客户实现商务目标;系统交接给维护人员;结清各种款项;售后服务项
4、目讨论结束项目2024/8/118嵌入式系统设计开发流程嵌入式系统设计嵌入式系统设计嵌入式系统设计嵌入式系统设计嵌入式系统的开发流程概述需求分析、规格说明系统结构设计、硬件和软件的选择构件技术、构件设计与实现系统集成、测试与验收2024/8/119嵌入式系统设计开发流程嵌入式系统设计嵌入式系统设计嵌入式系统设计嵌入式系统设计概述嵌入式系统是软硬件综合体:硬件架构上以嵌入式处理器为中心,配置存储器、I/O设备、通信模块等必要的外设;软件部分以软件开发平台为核心,向上提供应用编程接口(API);嵌入式系统中,软件和硬件紧密配合,协调工作,共同完成系统预定的功能;2024/8/1110嵌入式系统设计
5、开发流程嵌入式系统设计嵌入式系统设计嵌入式系统设计嵌入式系统设计问题问题:功 能 、 性能要求价 格 、 开发 周 期 等约束设计:设计: 选择 折衷 分析比较 计算 评价嵌入式系统嵌入式系统方法方法工具工具嵌入式系统设计2024/8/1111嵌入式系统设计开发流程嵌入式系统设计嵌入式系统设计嵌入式系统设计嵌入式系统设计(嵌入式系统工程)设计方法简介由上而下是一个正统的设计方式,也就是说,所有的设计皆是遵循系统工程的流程来进行;由下而上表示一个系统是由已经有的基础(或组件)为起点,开始往上延伸,最后将系统完成;2024/8/1112嵌入式系统设计开发流程嵌入式系统设计嵌入式系统设计嵌入式系统设
6、计嵌入式系统设计 需求分析规格说明书系统结构设计构件设计测试由上而下由下而上2024/8/1113嵌入式系统设计开发流程嵌入式系统设计嵌入式系统设计嵌入式系统设计嵌入式系统设计系统设计一般流程系统结构设计系统需求分析模具结构设计硬件构件设计软件构件设计系统集成系统测试产品规格说明书2024/8/1114嵌入式系统设计开发流程嵌入式系统设计嵌入式系统设计嵌入式系统设计嵌入式系统设计需求分析需求分析的内容评价标准需求分析的描述例:GPS移动地图的需求2024/8/1115嵌入式系统设计开发流程嵌入式系统设计嵌入式系统设计嵌入式系统设计嵌入式系统设计需求分析的内容作用使用户和设计者有效交流、沟通,明
7、确设计目标w设计者 设计什么?有哪些要求?w用户 将得到的系统是什么样的?目标形成需求文档内容功能性需求 做什么?w输入,输出,功能,非功能性需求 其他属性w可靠性,速度,功耗,成本,大小,重量,设计时间, 2024/8/1116嵌入式系统设计开发流程嵌入式系统设计嵌入式系统设计嵌入式系统设计嵌入式系统设计评价标准正确性无二义性完整性可检验性一致性可追踪性2024/8/1117嵌入式系统设计开发流程嵌入式系统设计嵌入式系统设计嵌入式系统设计嵌入式系统设计需求分析的描述自然语言需求说明书需求分析表形式化描述用例图等DOORS2024/8/1118嵌入式系统设计开发流程嵌入式系统设计嵌入式系统设计
8、嵌入式系统设计嵌入式系统设计例:GPS移动地图的需求名称CPS移动地图 目的为驾驶者提供的用户级移动地图 输入一个电源按钮,两个控制按钮输出逆光LCD,显示400600像素分辨率 功能使用5种接收器的GPS系统;三种用户可选的分辨率总是显示当前的经纬度 性能0.25s内即可更新一次屏幕 生产成本100美元 功耗100mW物理尺寸和重量不大于216m2,12盎司(约340g) 2024/8/1119嵌入式系统设计开发流程嵌入式系统设计嵌入式系统设计嵌入式系统设计嵌入式系统设计规格说明规格说明的目标规格说明书的描述例:GPS系统规格说明书内容2024/8/1120嵌入式系统设计开发流程嵌入式系统设
9、计嵌入式系统设计嵌入式系统设计嵌入式系统设计规格说明的目标规格说明与需求的比较需求的提炼是可用来创建体系结构的关于系统的更详尽、更精确、更一致的描述目标形成规格说明书内容包含系统体系结构设计的足够信息2024/8/1121嵌入式系统设计开发流程嵌入式系统设计嵌入式系统设计嵌入式系统设计嵌入式系统设计规格说明书的描述自然语言形式化描述UMLRSMLSDL2024/8/1122嵌入式系统设计开发流程嵌入式系统设计嵌入式系统设计嵌入式系统设计嵌入式系统设计例:GPS系统规格说明书内容从GPS卫星接收到的数据地图数据用户界面必须执行的满足客户需求的操作保持系统运行所需的后备动作,如操纵GPS接收机 2
10、024/8/1123嵌入式系统设计开发流程嵌入式系统设计嵌入式系统设计嵌入式系统设计嵌入式系统设计系统结构设计系统结构设计的内容评价标准系统结构的描述系统结构设计的验证软硬件的划分2024/8/1124嵌入式系统设计开发流程嵌入式系统设计嵌入式系统设计嵌入式系统设计嵌入式系统设计系统结构设计的内容作用实现系统的蓝图,系统整体结构的一个计划目标形成结构设计文档内容系统分析系统软硬件整体结构的设计软硬件划分软硬件平台的确定标准构件和自行设计构件的确定2024/8/1125嵌入式系统设计开发流程嵌入式系统设计嵌入式系统设计嵌入式系统设计嵌入式系统设计2024/8/1126嵌入式系统设计开发流程嵌入式
11、系统设计嵌入式系统设计嵌入式系统设计嵌入式系统设计评价标准有弹性简单可实现层次清晰功能分布平衡平衡技术和经济约束满足功能需求和非功能需求可重用2024/8/1127嵌入式系统设计开发流程嵌入式系统设计嵌入式系统设计嵌入式系统设计嵌入式系统设计系统结构的描述非形式化方式自然语言结构框图形式化方法UML建模2024/8/1128嵌入式系统设计开发流程嵌入式系统设计嵌入式系统设计嵌入式系统设计嵌入式系统设计系统结构设计的验证结构设计的正确性非常关键详细设计和实现的基础,对开发周期、成本有很大影响验证所关心的问题结构设计是否满足功能、性能要求、能否实现验证方法形式化方法仿真w系统结构、软件结构、硬件结
12、构其他方法w如基于开发板的原型系统2024/8/1129嵌入式系统设计开发流程嵌入式系统设计嵌入式系统设计嵌入式系统设计嵌入式系统设计引入错误数目引入错误数目修改错误开销修改错误开销开发周期系统结构设计软硬件详细设计软硬件实现系统引入错误和修改错误开销分布系统引入错误和修改错误开销分布2024/8/1130嵌入式系统设计开发流程嵌入式系统设计嵌入式系统设计嵌入式系统设计嵌入式系统设计软硬件的划分设计中涉及硬件、软件部件,必须决定什么功能由硬件实现或软件实现硬件和软件具有双重性软硬件变动对系统的决策造成影响划分和选择需要考虑多种因素硬件和软件的双重性是划分决策的前提2024/8/1131嵌入式系
13、统设计开发流程嵌入式系统设计嵌入式系统设计嵌入式系统设计嵌入式系统设计通常由软件实现的部分操作系统功能任务调度资源管理设备驱动协议栈TCPIP应用软件框架除基本系统、物理接口、基本逻辑电路外,许多由硬件实现的功能都可以由软件实现2024/8/1132嵌入式系统设计开发流程嵌入式系统设计嵌入式系统设计嵌入式系统设计嵌入式系统设计双重性部分(既可软件又可硬件实现)算法加密解密编码解码压缩解压数学运算浮点运算, FFT, 2024/8/1133嵌入式系统设计开发流程嵌入式系统设计嵌入式系统设计嵌入式系统设计嵌入式系统设计硬件和软件的选择概述处理器选择操作系统选择编程语言选择硬件调试工具选择集成开发环
14、境IDE选择2024/8/1134嵌入式系统设计开发流程嵌入式系统设计嵌入式系统设计嵌入式系统设计嵌入式系统设计概述包括:处理器、硬件部件、操作系统、编程语言、软件开发工具、硬件调试工具、软件组件等处理器是最重要的,同时操作系统和编程语言也是非常关键的处理器的选择往往同时会限制操作系统的选择,操作系统的选择又会限制开发工具的选择2024/8/1135嵌入式系统设计开发流程嵌入式系统设计嵌入式系统设计嵌入式系统设计嵌入式系统设计处理器选择处理器选择要考虑的主要因素有:处理器的性能 处理器的技术指标功耗软件支持工具处理器是否内置调试工具供应商是否提供评估板其它因素:生产规模、软件对硬件的依赖性20
15、24/8/1136嵌入式系统设计开发流程嵌入式系统设计嵌入式系统设计嵌入式系统设计嵌入式系统设计操作系统选择操作系统本身所提供的开发工具操作系统向硬件接口移植的难度操作系统的内存要求开发人员是否熟悉此操作系统及其提供的API操作系统是否提供硬件的驱动程序操作系统的是否具有可剪裁性操作系统的实时性能收费情况,技术支持情况2024/8/1137嵌入式系统设计开发流程嵌入式系统设计嵌入式系统设计嵌入式系统设计嵌入式系统设计编程语言选择编程语言的选择主要考虑以下因素n通用性n可移植性程度n执行效率n可维护性2024/8/1138嵌入式系统设计开发流程嵌入式系统设计嵌入式系统设计嵌入式系统设计嵌入式系统
16、设计硬件调试工具选择常用的硬件调试工具有以下几种:实时在线仿真器(ICE,In-Circuit Emulator)驻留监控软件ROM仿真器 JTAG仿真器,是目前使用最广泛的调试手段2024/8/1139嵌入式系统设计开发流程嵌入式系统设计嵌入式系统设计嵌入式系统设计嵌入式系统设计集成开发环境IDE选择集成开发环境IDE考虑的因素n系统调试器的功能n支持库函数与选择硬件和操作系统的原则一样:除非必要,尽量采用标准的 glibcn编译器开发商是否持续升级编译器n连接程序是否支持所有的文件格式和符号格式2024/8/1140嵌入式系统设计开发流程嵌入式系统设计嵌入式系统设计嵌入式系统设计嵌入式系统
17、设计构件技术标准构件和自行设计构件标准硬构件标准软构件自研硬构件自研软构件构件的选择2024/8/1141嵌入式系统设计开发流程嵌入式系统设计嵌入式系统设计嵌入式系统设计嵌入式系统设计标准构件和自行设计构件构件的实现选择标准自行设计标准构件 ?现成构件已经产品化形成规模生产标准构件 自行设计构件 用户系统构件包括了硬件构件和软件构件构件本身可以是层次性的,可以由子构件组成2024/8/1142嵌入式系统设计开发流程嵌入式系统设计嵌入式系统设计嵌入式系统设计嵌入式系统设计标准硬构件标准 IC RAM, ROM, 接口控制器,ASIC,标准 IP CPU核,标准模块GPRS模块,GSM模块,蓝牙模
18、块, 标准计算平台基于PC104的嵌入式计算机2024/8/1143嵌入式系统设计开发流程嵌入式系统设计嵌入式系统设计嵌入式系统设计嵌入式系统设计标准软构件OS / RTOS协议栈TCP/IP路由协议H.323图形开发包VxWorks的ZINK驱动程序2024/8/1144嵌入式系统设计开发流程嵌入式系统设计嵌入式系统设计嵌入式系统设计嵌入式系统设计自研硬构件内容逻辑电路,专用加速器,实现方式PCB: IC:PLD FPGA ASIC,EDA设计工具板级: w原理图设计工具wPCB设计工具ICw硬件描述语言: VHDL,Verilog2024/8/1145嵌入式系统设计开发流程嵌入式系统设计嵌
19、入式系统设计嵌入式系统设计嵌入式系统设计自研软构件驱动程序应用程序2024/8/1146嵌入式系统设计开发流程嵌入式系统设计嵌入式系统设计嵌入式系统设计嵌入式系统设计构件的选择授权构件的费用一般都较高,但大都经过严格的测试,可靠性高,调试时间短,而免费构件相反;现在也有一些免费的自由(软件)构件,它们的性能、可靠性也很好;因此在构件选择的时候要加以权衡,确定哪种方案更好;2024/8/1147嵌入式系统设计开发流程嵌入式系统设计嵌入式系统设计嵌入式系统设计嵌入式系统设计软硬件技术对系统结构的影响硬软件设计的趋势融合、渗透硬件设计的软件化wVHDL, VerilogwHANDL-C软件实现的硬件
20、化w各种算法的ASIC对系统设计的影响协同设计增加灵活性增加了风险2024/8/1148嵌入式系统设计开发流程嵌入式系统设计嵌入式系统设计嵌入式系统设计嵌入式系统设计构件设计与实现硬件构件设计硬件构件设计流程软件构件设计软件构件设计流程2024/8/1149嵌入式系统设计开发流程嵌入式系统设计嵌入式系统设计嵌入式系统设计嵌入式系统设计硬件构件设计设计硬件子系统功能电源子系统;最小系统;复位电路;定义硬件子系统间接口确定硬件各子系统原理图硬件子系统布版硬件子系统测试2024/8/1150嵌入式系统设计开发流程嵌入式系统设计嵌入式系统设计嵌入式系统设计嵌入式系统设计硬件构件设计流程2024/8/1
21、151嵌入式系统设计开发流程嵌入式系统设计嵌入式系统设计嵌入式系统设计嵌入式系统设计例:嵌入式系统硬件系统构件2024/8/1152嵌入式系统设计开发流程嵌入式系统设计嵌入式系统设计嵌入式系统设计嵌入式系统设计软件构件设计设计软件构件功能定义软件构件接口规定构件之间的调用关系规定软件构件出错处理方案2024/8/1153嵌入式系统设计开发流程嵌入式系统设计嵌入式系统设计嵌入式系统设计嵌入式系统设计软件构件设计流程2024/8/1154嵌入式系统设计开发流程嵌入式系统设计嵌入式系统设计嵌入式系统设计嵌入式系统设计系统集成、测试与验收系统集成系统测试系统验收2024/8/1155嵌入式系统设计开发
22、流程嵌入式系统设计嵌入式系统设计嵌入式系统设计嵌入式系统设计系统集成系统集成:把系统的软件、硬件集成在一起,进行调试,发现并改进构件设计过程中的错误;集成可分两步:在宿主机上模拟集成(软集成)在目标机上集成各构件设计阶段尽可能地按阶段组装系统和相对独立地测试系统功能;如果每次只对一部分模块排错,很可能更容易发现和识别简单的错误;2024/8/1156嵌入式系统设计开发流程嵌入式系统设计嵌入式系统设计嵌入式系统设计嵌入式系统设计系统测试系统测试:对系统进行测试,看是否满足规格说明书中给定的功能要求;选择测试实例:功能测试w极限情况测试、边界测试、异常测试、错误测试、随机测试、性能测试覆盖测试w语
23、句测试、判定或分支覆盖、条件覆盖灰盒测试2024/8/1157嵌入式系统设计开发流程嵌入式系统设计嵌入式系统设计嵌入式系统设计嵌入式系统设计系统验收系统经过测试,确定实现规格说明书功能时停止测试;整理开发文档和资料,提交开发报告;组织系统验收,开发结束 2024/8/1158嵌入式系统设计开发流程嵌入式系统设计嵌入式系统设计嵌入式系统设计嵌入式系统设计例:验收阶段提交的文档样例技术文件目录技术任务书技术方案报告产品标准(草案)技术条件可靠性技术设计技术设计说明书试产总结测试报告2024/8/1159嵌入式系统设计开发流程嵌入式系统设计嵌入式系统设计嵌入式系统设计嵌入式系统设计想一想如何选择嵌入式处理器和嵌入式操作系统简述嵌入式系统的设计过程2024/8/1160嵌入式系统设计开发流程嵌入式系统设计嵌入式系统设计嵌入式系统设计嵌入式系统设计本章内容小结需求分析、规格说明系统结构设计、硬件和软件的选择构件技术、构件设计与实现系统集成、测试与验收2024/8/1161嵌入式系统设计开发流程嵌入式系统设计嵌入式系统设计嵌入式系统设计嵌入式系统设计本章课后作业2024/8/1162嵌入式系统设计开发流程