ARM嵌入式系统基础及应用第一版 教学课件 ppt 作者 黄俊 全书 第10章

上传人:E**** 文档编号:89331405 上传时间:2019-05-23 格式:PPT 页数:70 大小:392.50KB
返回 下载 相关 举报
ARM嵌入式系统基础及应用第一版 教学课件 ppt 作者 黄俊 全书 第10章_第1页
第1页 / 共70页
ARM嵌入式系统基础及应用第一版 教学课件 ppt 作者 黄俊 全书 第10章_第2页
第2页 / 共70页
ARM嵌入式系统基础及应用第一版 教学课件 ppt 作者 黄俊 全书 第10章_第3页
第3页 / 共70页
ARM嵌入式系统基础及应用第一版 教学课件 ppt 作者 黄俊 全书 第10章_第4页
第4页 / 共70页
ARM嵌入式系统基础及应用第一版 教学课件 ppt 作者 黄俊 全书 第10章_第5页
第5页 / 共70页
点击查看更多>>
资源描述

《ARM嵌入式系统基础及应用第一版 教学课件 ppt 作者 黄俊 全书 第10章》由会员分享,可在线阅读,更多相关《ARM嵌入式系统基础及应用第一版 教学课件 ppt 作者 黄俊 全书 第10章(70页珍藏版)》请在金锄头文库上搜索。

1、第10章 嵌入式系统项目开发方法,10.1 嵌入式系统项目主要开发流程 10.2 嵌入式系统工程设计方法简介 10.3 本章小结,项目开发涉及到大量人力、物力,为了使各种资源协同工作,充分保证项目开发质量,减少因质量问题所引起的开发延迟和投入运行后可能发生的大量维护费用,定义一个合适的项目研发流程显得尤为重要。其作用具体表现有:对项目组的内部管理有力,使工作有条不紊;项目组可以控制项目研发质量,提高研发水平。本章将介绍嵌入式系统项目开发的一些基本方法和原则,为读者进行嵌入式系统开发提供参考。 一个项目的开发要经历数个流程,需要合理安排,才能做到最终优质高效地完成项目的开发。根据不同的工程要求,

2、研发过程采用不同的模型来展开,具体的模型有下面几种。,1. 线形顺序模型(瀑布模型) 模型概念:瀑布模型(Waterfall Model)是由W.W.Royce在1970年最初提出的软件开发模型,在瀑布模型中,开发被认为是按照需求分析、设计、实现、测试、集成和维护的顺序顺畅地进行。 模型特点:瀑布模型最早强调系统开发应有完整的周期,且必须完整地经历周期的每一开发阶段,并系统化地考虑分析与设计的技术、时间与资源投入等,因此瀑布模型又可以称为“系统发展生命周期”(System Development Life Cycle,SDLC)。,由于该模式强调系统开发过程需有完整的规划、分析、设计、测试及文

3、件等的管理与控制,因此能有效地确保系统品质,它已经成为业界大多数软件开发的标准。,2. 迭代模型 迭代模型是RUP(Rational Unified Process,统一软件开发过程/统一软件过程)推荐的研发周期模型。在RUP中,迭代被定义为:包括产品发布(稳定、可执行的产品版本)的全部开发活动和要使用该发布所必需的所有其他外围元素。所以,在某种程度上,开发迭代是一次完整地经过所有工作流程的过程,它至少包括需求工作流程、分析设计工作流程、实施工作流程和测试工作流程。实质上,它类似小型的瀑布式项目。RUP认为,所有的阶段(需求及其他)都可以细分为迭代。每一次迭代都会产生一个可以发布的产品,这个产

4、品是最终产品的一个子集。,3. 增量模型 增量模型是一种非整体开发的模型。该模型具有较大的灵活性,适合于软件需求不明确、设计方案有一定风险的软件项目。 增量模型和瀑布模型之间的本质区别是:瀑布模型属于整体开发模型,它规定在开始下一个阶段的工作之前,必须完成前一阶段的所有细节。而增量模型属于非整体开发模型,它推迟某些阶段或所有阶段中的细节,从而较早地产生工作软件。,4. 喷泉模型 喷泉模型的开发过程有分析、系统设计、软件设计和实现4个阶段,各阶段相互重叠。它反映了软件过程并行性的特点,以分析为基础,资源消耗成塔状。喷泉模型强调增量开发,整个过程是一个迭代的逐步提炼的过程。,5. 智能模型 智能模

5、型也称为基于知识的软件开发模型,是知识工程与软件工程相结合的软件开发模型。其主要特点是必须建立知识库,并将模型本身、软件工程知识、特定领域知识放入知识库。其具体描述可以使用形式功能规约,也可以使用知识处理语言描述等。,嵌入式系统项目主要开发流程包括以下步骤:问题定义和可行性分析(预研报告、立项报告)产品商标和型号立项和计划需求分析概要设计(总体设计)专利申请详细设计实现测试验收评审版权登记中试试运行申请证书生产定型鉴定、开始批量生产结题维护。 其中,在几个主要步骤之间均需要进行审查。由项目外的专家组成审查小组对该项目的设计进行审核确认,如果有问题则返回进行修正后再进入下一个步骤。,10.1 嵌

6、入式系统项目主要开发流程,10.1.1 需求分析 在开发一个嵌入式系统项目之前,首先要进行需求分析。需求分析是整个项目开发的基础,需求分析做得好,产品才能得到市场的认可,所开发的项目才有意义。 1. 需求分析的任务 对产品的需求(包括功能、性能、可生产性、可靠性、可维护性、可测试性等)进行定义,描述实现的初步考虑,对技术难点的解决方案制定实施计划和进一步的任务分解。,2. 需求分析的步骤 1) 获取用户的需求 这是需求分析中的第一项任务,也是最重要的一项任务。明确用户需要什么样的产品,包括产品的功能、性能、价格、尺寸、质量和功耗等,将需求细分为功能需求和非功能需求。对收集到的需求做进一步的分析

7、和整理,然后将用户需求以文档及项目视图等方式呈交给相关人员,大家共同确认需求分析是否真实地反映了用户的意图。最后,确定系统的整体目标和系统的工作范围。,2) 分析用户的需求 分析用户需求是与获取用户需求并行的,主要通过建立模型的方式来描述用户的需求,这为系统研发人员提供了一个交流的渠道。这些模型是指对需求进行抽象,以可视化的方式提供一个易于沟通的桥梁。用户需求的分析与获取有着相似的步骤,区别在于分析需求时使用模型来描述,以获取用户更明确的需求。,3) 编写需求分析文档 在明确用户需要的产品标准和分析好怎样满足用户的需求之后,应该编写一份需求分析文档。尤其对一个大型系统而言,进行需求分析是一项复

8、杂而费时的工作,而编写文档正是一个简化需求分析过程的好方法。总的来说,需求分析文档主要包括以下内容: 名称:这一项十分简单,但却十分有用。给该工程取一个名字不仅在和别人讨论这个工程时更加方便,也可以使设计的目的更加明确。, 目的:确定研发中的目标和要求。 输入和输出:这两项内容比较复杂,包含了大量细节。 数据类型:模拟电信号和数字数据; 数据特性:数据的表示方法,每个数据元素多少位等; 输入/输出设备的类型:按键、模/数转换器、视频显示器等。 功能:系统所做工作更详细的描述。从输入到输出进行分析是提出功能的一种好 方法。 性能:对系统使用中应该具备的各项性能参数的描述。, 生产成本:生产成本主

9、要包含了硬件构件的花费。如果不能确定要花费在硬件构件上费用的确切数目,那么要对最终产品的价格有一个粗略的了解,因为价格最终会影响系统的体系结构。 功耗:嵌入式系统功耗是一个重要的指标,设计中需要重点考虑这方面的信息。 物理尺寸和质量:系统的物理尺寸和质量是系统体系结构设计的基础。,4) 需求审查 需求分析的最后一步是根据需求文档对需求分析进行审查,主要包括有效性检查、一致性检查、完备性检查和现实性检查等。,10.1.2 总体方案设计 在完成项目的需求分析,写好需求分析文档之后,就要进行总体方案设计了。这部分工作我们也称为概要设计阶段。概要设计部分必须描述所设计的总体结构、外部接口、各主要部件的

10、功能以及各主要部件之间的接口,必要时还必须对主要部件的每一个部件进行描述。在这个阶段,设计者会大致考虑并照顾模块的内部实现,但不要过多纠缠于此,应主要集中于划分模块、分配任务、定义调用关系。模块间的接口与传递参数在这个阶段要定得十分细致明确,应编写严谨的数据手册,避免后续设计产生不解或误解。,概要设计一般不是一次就能做到位,而是要反复地进行结构调整。典型的调整是合并功能重复的模块,或者进一步分解出可以复用的模块。在概要设计阶段,应最大限度地提取可以重用的模块,建立合理的结构体系,节省后续环节的工作量。概要设计文档最重要的部分是分层数据流图、结构图、数据字典以及相应的文字说明等。以概要设计文档为

11、依据,各个模块的详细设计可以并行展开。,在概要设计阶段需要编写概要设计说明书。概要设计说明书的内容包括: 提出系统体系结构,划分软硬件功能;定义软件和硬件之间的协议和其他接口关系;关键技术的研究及实现。 将硬件总体逻辑划分为独立的物理实体,定义每个物理实体的接口关系(协议、时序关系、电气特征);物理实体定位为板级。,图10.1 总体方案设计, 将软件总体逻辑划分为相对独立的模块,定义每个模块的接口关系(协议、时序关系等);模块至少要划分为界面和后台部分,对于界面部分,还要列出它将要基于的硬件平台。 下面从总体方案设计开始重点阐述在整个系统设计中需要考虑的问题,如图10.1所示。 在设计过程中,

12、具体功能的实现都围绕目标应用而提出,功能、性能及成本等因素都是紧密联系、互相影响的,需要综合考虑。通常做一个具体产品时,需要根据目标应用从上述模块中选择所需要的模块,当这些功能模块确定之后,接下来需要考虑性能方面的问题。,10.1.3 详细设计阶段 概要设计就是设计软件的结构,包括组成模块、模块的层次结构、模块的调用关系、每个模块的功能等等。同时,还要设计该项目的应用系统的总体数据结构和数据库结构,即应用系统要存储什么数据,这些数据是什么样的结构,它们之间有什么关系。详细设计阶段就是为每个模块完成的功能进行具体的描述,要把功能描述转变为精确的、结构化的过程描述。,在详细设计阶段,各个模块可以分

13、给不同的人去并行设计。设计者的工作对象是一个模块,根据概要设计赋予的局部任务和对外接口,设计并表达出模块的算法、流程、状态转换等内容。这里要注意,如果发现有结构调整(如分解出子模块等)的必要,必须返回到概要设计阶段,将调整反应到概要设计文档中,而不能就地解决。详细设计文档最重要的部分是模块的流程图、状态图、局部变量及相应的文字说明等。每个模块均需要提供详细的设计文档。,1. 划分硬件与软件 从体系结构上看,嵌入式系统是软件和硬件的统一体。因为嵌入式设计关系到硬件与软件的分工,设计人员必须决定问题的哪一部分在硬件中解决,哪一部分在软件中解决,这种选择称为软/硬件划分决策。 详细模块设计部分必须给

14、出每一个基本部件的功能、算法和过程描述,扩充概要设计,以获得处理逻辑、数据结构和数据定义的更加详尽的描述,直到设计完善到足以能实现的地步。对硬件部分,要详细设计每个物理实体,包括原理图、单板软件接口、关键技术和器件说明。,对软件部分,要详细设计每个模块,包括每一模块的进一步逻辑功能划分、流程图、数据结构、编程工具及环境。,2. 硬件设计 1) 设计硬件子系统 硬件子系统的设计一般采用由上而下的设计方法。设计硬件子系统时先将硬件分成部件或模块,并画出一张或多张硬件部件的框图。一个框图表示一个单独的电路板或电路板的一部分(如处理器子系统、存储器子系统可以作为一个模块)、外设等,除非硬件设计非常简单

15、或使用现成的板卡,否则很可能还需要将框图用于一个或多个电路板。把电路逻辑分割成大致对应于各功能的一些部件,这些功能将由某个成品芯片或某个需要制备的PAL(可编程阵列逻辑)芯片等提供。,例如,CPU在任何情况下都是一个标准模块,同样的还有存储器芯片和很多其他模块,如UART部件、以太网部件、现场可编程门阵列(FPGA)、子电路板等。 找出硬件各部件也就是将系统设计细化,把系统分成更多的可管理的小块,能够被独立地考虑,还可能被单独设计和实现。此外,这也有助于找出哪些部件可以是成品或可利用以前项目的部件,而不是从头做起。 这一阶段设计的硬件框图不仅对硬件设计者,而且对软件工程师和项目管理人员都非常有

16、用。框图提供了一个快速直观的参考,框图给出了硬件之间的通信方式,硬件各部件之间的连接,并且帮助设计者在头脑中构建出一个高级的系统框架。,2) 定义硬件接口 接下来的步骤是设计硬件与软件之间的接口。接口的设计需要硬件设计者和软件设计者协同工作才能完成。硬件接口说明至少需要有以下几点。 (1) I/O端口:需要列出硬件所用到的所有端口、端口地址、端口的属性(只读、只写、读写)、能写入各端口的所有命令和命令序列的意义;对于状态端口,需定义状态表示的意义。,(2) 硬件寄存器:对每个寄存器需要设计寄存器的地址和寄存器中的位地址、每个位表示的意义、对寄存器如何读/写的说明(例如,是通过读写某个I/O端口,还是命令序列)以及使用该寄存器的时序要求或其他约束。 (3) 共享内存或内存映像I/O的地址:对内存映像I/O,需说明用以进行每个可能的I/O操作的读/写序列和地址分配。

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 高等教育 > 大学课件

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号