嵌入式软件开发作业流程.docVIP

  1. 1、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多

嵌入式软件开发步骤

一、嵌入式软件开发步骤

1.1?嵌入式系统开发概述

????由嵌入式系统本身特征所影响,嵌入式系统开发和通用系统开发有很大区分。嵌入式系统开发关键分为系统总体开发、嵌入式硬件开发和嵌入式软件开发3大部分,其总体步骤图图1.1所表示。

图1.1?嵌入式系统开发步骤图

????在系统总体开发中,因为嵌入式系统和硬件依靠很紧密,往往一些需求只能经过特定硬件才能实现,所以需要进行处理器选型,以愈加好地满足产品需求。另外,对于有些硬件和软件全部能够实现功效,就需要在成本和性能上做出抉择。往往经过硬件实现会增加产品成品,但能大大提升产品性能和可靠性。

????再次,开发环境选择对于嵌入式系统开发也有很大影响。这里开发环境包含嵌入式操作系统选择和开发工具选择等。本书在4.1.5节对多种不一样嵌入式操作系统进行了比较,读者能够以此为依据进行相关选择。比如,对开发成本和进度限制较大产品能够选择嵌入式Linux,对实时性要求很高产品能够选择Vxworks等。

????因为本书关键讨论嵌入式软件应用开发,所以对硬件开发不做具体讲解,而关键讨论嵌入式软件开发步骤。

1.2?嵌入式软件开发概述

????嵌入式软件开发总体步骤为图4.15中“软件设计实现”部分所表示,它同通用计算机软件开发一样,分为需求分析、软件概要设计、软件具体设计、软件实现和软件测试。其中嵌入式软件需求分析和硬件需求分析合二为一,故没有分开画出。

因为在嵌入式软件开发工具很多,为了愈加好地帮助读者选择开发工具,下面首先对嵌入式软件开发过程中所使用工具做一简单归纳。

????嵌入式软件开发工具依据不一样开发过程而划分,比如在需求分析阶段,能够选择IBMRationalRose等软件,而在程序开发阶段能够采取CodeWarrior(下面要介绍ADS一个工具)等,在调试阶段所用Multi-ICE等。同时,不一样嵌入式操作系统往往会有配套开发工具,比如Vxworks有集成开发环境Tornado,WindowsCE集成开发环境WindowsCEPlatform等。另外,不一样处理器可能还有对应开发工具,比如ARM常见集成开发工具ADS、IAR和RealView等。在这里,大多数软件全部有比较高使用费用,但也能够大大加紧产品开发进度,用户能够依据需求自行选择。图4.16是嵌入式开发不一样阶段常见软件。

图1.2?嵌入式开发不一样阶段常见软件

嵌入式系统软件开发和通常软件开发区分关键在于软件实现部分,其中又能够分为编译和调试两部分,下面分别对这两部分进行讲解。

1.交叉编译

????嵌入式软件开发所采取编译为交叉编译。所谓交叉编译就是在一个平台上生成能够在另一个平台上实施代码。在第3章中已经提到,编译最关键工作就在将程序转化成运行该程序CPU所能识别机器代码,因为不一样体系结构有不一样指令系统。所以,不一样CPU需要有对应编译器,而交叉编译就如同翻译一样,把相同程序代码翻译成不一样CPU对应可实施二进制文件。要注意是,编译器本身也是程序,也要在和之对应某一个CPU平台上运行。嵌入式系统交叉编译环境图4.17所表示。

图4.17?交叉编译环境

?小知识???和交叉编译相对应,平时常见编译称为当地编译。

????这里通常将进行交叉编译主机称为宿主机,也就是一般通用PC,而将程序实际运行环境称为目标机,也就是嵌入式系统环境。因为通常通用计算机拥有很丰富系统资源、使用方便集成开发环境和调试工具等,而嵌入式系统系统资源很紧缺,无法在其上运行相关编译工具,所以,嵌入式系统开发需要借助宿主机(通用计算机)来编译出目标机可实施代码。

????因为编译过程包含编译、链接等多个阶段,所以,嵌入式交叉编译也包含交叉编译、交叉链接等过程,通常ARM交叉编译器为arm-elf-gcc、arm-linux-gcc等,交叉链接器为arm-elf-ld、arm-linux-ld等,交叉编译过程图4.18所表示。

图4.18?嵌入式交叉编译过程

2.交叉调试

????嵌入式软件经过编译和链接后即进入调试阶段,调试是软件开发过程中必不可少一个步骤,嵌入式软件开发过程中交叉调试和通用软件开发过程中调试方法有很大差异。在常见软件开发中,调试器和被调试程序往往运行在同一台计算机上,调试器是一个单独运行着进程,它经过操作系统提供调试接口来控制被调试进程。而在嵌入式软件开发中,调试时采取是在宿主机和目标机之间进行交叉调试,调试器仍然运行在宿主机通用操作系统之上,但被调试进程却是运行在基于特定硬件平台嵌入式操作系统中,调试器和被调试进程经过串口或网络进行通信,调试器能够控制、访问被调试进程,读取被调试进程目前状态,并能够改变被调试进程运行状态。

????嵌入式系统交叉调

您可能关注的文档

文档评论(0)

190****4390 + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档