嵌入式系统开发过程剖析.ppt

  1. 1、本文档共18页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第2章 嵌入式系统开发过程 * * 第2章 嵌入式系统开发过程 主要内容 1 3 2 4 嵌入式软件开发的特点 嵌入式软件的开发流程 嵌入式系统的调试 板极支持包 2.1 嵌入式软件开发的特点 嵌入式系统与通用计算机系统的差别: 人机交互界面 有限的功能 时间关键性和稳定性 嵌入式软件开发的特点: 需要交叉开发环境:交叉开发环境是指实现编译、链接和调试应用程序代码的环境。与运行应用程序的环境不同,它分散在有通信连接的宿主机与目标机环境之中。 宿主机(Host)是一台通用计算机,一般是PC机。它通过串口或网络连接与目标机通信。 目标机(Target) 可以是嵌入式应用软件的实际运行环境,也可以是能替代实际环境的仿真系统。 引入任务设计方法 需要固化程序 软件开发难度大 嵌入式应用软件对实时性、稳定性、可靠性、抗干扰性等性能的要求都比通用软件的要求更为严格和苛刻。 2.2 嵌入式系统开发的流程 嵌入式软件的开发流程与通用软件的开发流程大同小异,但开发所使用的设计方法具有嵌入式开发的特点。整个开发流程可分为: 需求分析阶段 设计阶段 生成代码阶段 固化阶段 需求分析阶段 嵌入式系统应用需求中最为突出的是注重应用的时效性,需求分析阶段的主要任务是: (1)对问题的识别和分析 对用户提出的问题进行抽象识别用以产生以下的需求:功能需求、性能需求、环境需求、可靠性需求、安全需求、用户界面需求、资源使用需求、软件成本与开发进度需求。 (2)制订规格说明文档 经过对问题的识别,产生了系统各方面的需求。通过对规格的说明,文档得以清晰、准确地描述。这些说明文档包括需求规格说明书和初级的用户手册等。 (3)需求评审 需求评审作为系统进入下一阶段前最后的需求分析复查手段,在需求分析的最后阶段对各项需求进行评估,以保证软件需求的质量。需求评审的内容包括正确性、无歧义性、安全性、可验证性、一致性、可理解性、可修改性、可追踪性等多个方面。 设计阶段 系统的设计阶段包括系统设计、任务设计和任务的详细设计。由于嵌入式系统中任务的并发性,嵌入式软件开发中引入了DARTS的设计方法。 DARTS设计方法:是结构化分析/结构化设计的扩展。它给出划分任务的方法,并提供定义任务间接口的机制。 DARTS设计方法的设计步骤如下: (1)数据流分析 (2)划分任务 (3)定义任务间的接口 生成代码阶段 生成代码阶段需要完成的工作包括代码编程、交叉编译和链接、交叉调试和测试等。 代码编程 生成代码阶段 在嵌入式系统的开发过程中,一般采用的方法是先在通用PC上编程,然后通过交叉编译链接,将程序做成目标平台上可以运行的二进制代码格式。最后将程序下载到目标平台上的特定位置,在目标板上启动运行这段二进制代码。 生成代码阶段 交叉编译和链接 嵌入式软件开发编码完成后,要进行编译和链接以生成可执行代码。但是,在开发过程中设计人员普遍使用Intel的x86系列CPU的计算机进行开发,而目标环境的处理芯片却是多种多样的,如ARM,DSP,PowerPC,DragonBall系列等,这就要求开发机上的编译器能支持交叉编译。 嵌入式集成开发环境都支持交叉编译、链接,如WindRiver公司的TornadoⅡ以及GNU套件等。交叉编译链接生成两种类型的可执行文件:调试用的可执行文件和固化的可执行文件。 生成代码阶段 交叉调试 交叉调试,又叫远程调试,具有以下特点: 调试器和被调试的程序运行在不同的机器上。调试器运行在PC或工作站上,而被调试程序运行在各式的专用目标机上; 调试器通过某种通信方式与目标机建立联系,如串口、并口、网络、JTAG或者专用的通信方式; 在目标机上一般具有某种调试代理,这种代理能与调试器一起配合完成对目标机上运行程序的调试。这种代理可以是某种能支持调试的硬件,也可以是某种软件; 目标机可以是一种仿真机。通过在宿主机上运行目标机的仿真软件,仿真一台目标机,使整个调试工作只在一台计算机上进行。 测试 嵌入式系统开发的测试与通用软件的测试相似,分为单元测试和系统集成测试。 固化阶段 嵌入式系统的应用软件是针对特定的实际专业领域的,基于相应的嵌入式硬件平台,并能完成用户预期任务的计算机软件。 嵌入式软件的特点如下: (1)软件要求固态化存储。 (2)软件代码要求高质量、高可靠性。 (3)系统软件的高实时性是基本要求。 (4)多任务实时操作系统成为嵌入式应用软件的必需。 总结:嵌入式软件开发的要点 嵌入式应用软件高度依赖目标应用的软硬件环境,软件的部分任务功能函数由汇编语言完成,具有高度的不可移植性。 为了保证实时性能,使用效率高和速度快的

文档评论(0)

四月 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档