ImageVerifierCode 换一换
格式:DOCX , 页数:41 ,大小:363.28KB ,
资源ID:20887597      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/20887597.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(嵌入式软件开发流程知识讲解Word文档下载推荐.docx)为本站会员(b****5)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

嵌入式软件开发流程知识讲解Word文档下载推荐.docx

1、Logijcope Irtuhi-ICE-Reqiiraaent Softwffe Codhz TE IheAmVsis Desist图12嵌入式开发不同阶段的常用软件嵌入式系统的软件开发与通常软件开发的区别主要在于软件实现部分,其中又可以分为编译和调试 两部分,下面分别对这两部分进行讲解。1.交叉編译嵌入式软件开发所采用的编译为交叉编译。所谓交叉编译就是在一个平台上生成可以在另一个平 台上执行的代码。在第3童中已经提到,编译的最主要的工作就在将程序转化成运行该程序的CPU所能 识别的机器代码,由于不同的体系结构有不同的指令系统。因此,不同的CPU需要有相应的编译器.而 交叉编译就如同翻译一样

2、,把相同的程序代码翻译成不同CPU的对应可执行二进制文件。要注意的是, 编译器本身也是程序,也要在与之对应的某一个CPU平台上运行。嵌入式系统交叉编译环境如图4.17所 刁J图4.17交叉编译环境这里一股将进行交叉编译的主机称为宿主机,也就是普通的通用PC,而将程序实际的运行环境称为目 标机,也就是嵌入式系统环境。由于一般通用计算机拥有非常丰富的系统资源、使用方便的集成开发环境 和调试工具等,而嵌入式系统的系统资源非常紧缺,无法在其上运行相关的编译工具,因此,嵌入式系统 的开发需要借助宿主机(通用计算机)来编译出目标机的可执行代码。由于编译的过程包括编译、链接等几个阶段,因此,嵌入式的交叉编译

3、也包括交叉编译、交叉链接等 过程,通常ARM的交叉编译器为arm-elf-gcc、arm-linux-gcc等,交叉链接器为arm-elf-ld、arm-linux-ld 等,交叉编译过程如图4.18所示。图4.18嵌入式交叉编译过程2.交叉调试嵌入式软件经过编译和链接后即进入调试阶段,调试是软件开发过程中必不可少的一个环节,嵌入式 软件开发过程中的交叉调试与通用软件开发过程中的调试方式有很大的差别。在常见软件开发中,调试器 与被调试的程序往往运行在同一台计算机上,调试器是一个单独运行着的进程,它通过操作系统提供的调 试接口来控制被调试的进程。而在嵌入式软件开发中,调试时采用的是在宿主机和目标

4、机之间进行的交叉 调试,调试器仍然运行在宿主机的通用操作系统之上,但被调试的进程却是运行在基于特定硬件平台的嵌 入式操作系统中,调试器和被调试进程通过串口或者网络进行通信,调试器可以控制、访问被调试进程, 读取被调试进程的当前状态,并能够改变被调试进程的运行状态。嵌入式系统的交叉调试有多种方法,主要可分为软件方式和硬件方式两种。它们一般都具有如下一些 典型特点。调试器和被调试进程运行在不同的机器上,调试器运行在PC机(宿主机),而被调试的进 程则运行在各种专业调试板上(目标板)。调试器通过某种通信方式(串口、并口、网络、JTAG等)控制被调试进程。在目标机上一般会具备某种形式的调试代理,它负贵

5、与调试器共同配合完成对目标机上运行 看的进程的调试。这种调试代理可能是某些支持调试功能的硬件设备,也可能是某些专门的调试 软件(如 gdbserver)。目标机可能是某种形式的系统仿直器.通过在宿主机上运行目标机的仿真软件,整个调试过 程可以在一台计算机上运行。此时物理上虽然只有一台计算机,但逻辑上仍然存在着宿主机和目 标机的区别。下面分别就软件调试桩方式和硬件片上调试两种方式进行详细介绍。(1)软件方式。软件调试主要是通过插入调试桩的方式来进行的。调试桩方式进行调试 是通过目标操作系统和调试器内分别加入某些功能模块,二者互通信息来进行 调试。该方式的典型调试器有gdb调试器。gdb的交叉调试

6、器分为GdbServer和GdbClient,其中的GdbServer就 作为调试桩在安装在目标板上GdbClient就是驻于本地的gdb调试器。它们的 调试原理图如图4.19所示。A Kgdb k目标机応丄机图4.19 gdb远程调试原理图gdb调试的工作流程。首先,建立调试器(本地gdb)与目标操作系统的通信连接,可 通过串口、网卡、并口等多种方式。然后,在目标机上开启GdbServer进程,并监听对应端口。在宿主机上运行调试器gdb.这时,gdb就会自动寻找远端的通信 进程,也就是GdbServer的所在进程。在宿主机上的gdb通过GdbServer请求对目标机上的程序发出控 制命令。这

7、时,GdbServer将请求转化为程序的地址空间或目标平台 的某些寄存器的访问,这对于没有虚拟存储器的简单的嵌入式操作系 统而言,是十分容易的。GdbServer把目标操作系统的所有异常处理转向通信模块,并告 知宿主机上gdb当前有异常。宿主机上的gdb向用户显示被调试程序产生了哪一类异常。这样就完成了调试的整个过程。这个方案的实质是用软件接管目标机的全部 异常处理及部分中断处理,并在其中插入调试端口通信模块,与主机的调试器 进行交互。但是它只能在目标机系统初始化完毕、调试通信端口初始化完成后 才能起作用,因此,一般只能用于调试运行于目标操作系统之上的应用程序, 而不宜用来调试目标操作系统的内

8、核代码及启动代码。而且,它必须改变目标 操作系统,因此,也就多了一个不用于正式发布的调试版。(2)硬件调试。相对于软件调试而言,使用硬件调试器可以获得更强大的调试功能和更优秀 的调试性能。硬件调试器的基本原理是通过仿真硬件的执行过程,让开发者在 调试时可以随时了解到系统的当前执行情况。目前嵌入式系统开发中最常用到 的硬件调试器是 ROMMonitor、ROMEmulator. In-CircuitEmulator 和 In CircuitDebuggero采用ROMMonitor方式进行交叉调试需要在宿主机上运行调试器,在宿主机 上运行ROM监视器(ROMMonitor)和被调试程序,宿主机通

9、过调试器与目标 机上的ROM监视器遵循远程调试协议建立通信连接。ROM监视器可以是一段 运行在目标机ROM上的可执行程序,也可以是一个专门的硬件调试设备.它负 责监控目标机上被调试程序的运行情况,能够与宿主机端的调试器一同完成对 应用程序的调试。在使用这种调试方式时,被调试程序首先通过ROM监视器下载到目标机, 然后在ROM监视器的监控下完成调试。优点:ROM监视器功能强大,能够完成设置断点、单步执行、查看寄存 器、修改内存空间等各项调试功能。确定:同软件调试一样,使用ROM监视器目标机和宿主机必须建立通信连 接。其原理图如图4.20所示。HtflA图4.20 ROMMomtor调试方式采用R

10、OMEmulator方式进行交叉调试时需要使用ROM仿真器,并且它通 常被插入到目标机上的ROM插槽中,专门用于仿真目标机上的ROM芯片。在使用这种调试方式时,被调试程序首先下载到ROM仿真器中,因此等效 于下载到目标机的ROM芯片上,然后在ROM仿真器中完成对目标程序的调 试。避免了每次修改程序后都必须重新烧写到目标机的ROM中。缺点:ROM仿真器本身比较昂贵,功能相对来讲又比较单一,只适应于某 些特定场合。其原理如图4.21所示。R标机 帘上蜒图4.21 ROMEmulator调试方式采用In-CircuitEmulator (ICE)方式进行交叉调试时需要使用在线仿真器,它是目前最为有效

11、的嵌入式系统的调试手段。它是仿照目标机上的CPU而专门设计的硬件,可以完全仿真处理器芯片的行为。仿真器与目标板可以通过仿真头连接,与宿主机可以通过串口、并口、网线或USB 口等连接方式。由于仿真 器自成体系,所以调试时既可以连接目标板,也可以不连接目标板。在线仿真器提供了非常丰富的调试功能。在使用在线仿真器进行调试的过程 中,可以按顺序单步执行,也可以倒退执行,还可以实时查看所有需要的数 据,从而给调试过程带来了很多的便利。嵌入式系统应用的一个显著特点是与 现实世界中的硬件直接相关,并存在各种异变和事先未知的变化,从而给微处 理器的指令执行带来各种不确定因素,这种不确定性在目前情况下只有通过在

12、 线仿真器才有可能发现。功能强大,软硬件都可做到完全实时在线调试。价格昂贵。其原理如图4.22所示。II标机 佈上机图4.22 ICE调试方式采用In-CircuitDebugger (ICD)方式进行交叉调试时需要使用在线调试器。由于ICE的价格非常昂贵并且每种CPU都需要一种与之对应的ICE,使 得开发成本非常高。一个比较好的解决办法是让CPU直接在其内部实现调试功 能,并通过在开发板上引出的调试端口发送调试命令和接收调试信息,完成调 试过程。如使用非常广泛的ARM处理器的JTAG端口技术就是由此而诞生的。JTAG是1985年指定的检测PCB和IC芯片的一个标准。1990年被修改成 为IE

13、EE的一个标准,即IEEEU49.1O JTAG标准所采用的主要技术为边界扫描技术,它的基本思想就是在靠近芯片的输入输出管脚上增加一个移位寄存器单元。因为这些移位寄存器单元都分布在芯片的边界上(周围),所以被称为边界扫描寄存器(BoundaryScan Register Cell)。当芯片处于调试状态时候,这些边界扫描寄存器可以将芯片和外围的输入输 出隔离开来。通过这些边界扫描寄存器单元,可以实现对芯片输入输出信号的 观察和控制。对于芯片的输入管脚,可通过与之相连的边界扫描寄存器单元把 信号(数据)加载到该管脚中去;对于芯片的输出管脚,可以通过与之相连的 边界扫描寄存器单元捕获 (CAPTUR

14、E)该管脚的输出信号。这样,边界扫描 寄存器提供了一个便捷的方式用于观测和控制所需要调试的芯片。现在较为高档的微处理器都带有JTAG接口,包括ARM7、ARM9、 StrongARM. DSP寧 通过JTAG接口可以方便地对目标系统进行测试,同 时,还可以实现Flash编程,这是非常受欢迎的。连接简单,成本低。特性受制于芯片厂商。其原理如图4.23所示。图4.23 JTAG调试方式开发流程框图:阶段流程图文档项目 立项 阶段i需求分析报告 i需求分析评审报告产品定义产品技术规范 i项目开发计划 |风险控制计划 I质量控制计划 系统分析文档 T产岳技采爲袜谡讦芳 |案(包括工艺) i系统分析评审

15、报告 !软件设计过程文档 !硬件设计过程文档 i结构设计过程文档 i工艺设计过程文档 |软件V1.0 ! PCB V1.0 i ti设计文档 I工艺说明!分单元测试报告i设计验证阶段iTijlT2ftAlT3ICTCTA材软硬件及工艺调|装机报告i例试分析报告整机测试评估报告软件FTA版本|硬件FTA版本软硬件饭甘 敝土 nmznT2谡讦文移试产报告 例试分析报告I软件CTA版本|硬件CTA版本饭2 Bit 甘及工艺结构及T3设计文档试产报告 例试分析报告 整机测试评估报告产备段量准阶全套DVT报告工艺文件量产 转移附录:1、结构设计及制作流程图2、软件设计流程图 3、硬件设计流程图附录1.结

16、构设计及制作流程图:表单3D模型修改3D模型评估报告 结构设计进度表结构详细设计结构设计进度表结构设计内部评审记 录workingsample 配色 表workingsample 验收 报告结构BOM结构设计外部评审记 录模具制作检讨记录表 模具制作申请表 模具备品清单模具制作注意事项表 工装夹具制作清单 物料进度按排需求表 配色方案表模具制作进度表参青文件:工业设计流程,ID设计流程附录2.软件设计流程图:软件 需求 分析软件需求规格书 软件开发计划 软件开发风险控制计 划软件测试计划软件单元源代码 单元调试报告 单元测试用例单元测试分析报告 集成后的软件及源代 码软件集成调试报告 软件操作

17、手册 系统测试软件 系统测试用软件文档 软件系统测试分析报 告发布版本参考文件:附录3.硬件设计流程图:阶段 流程图 表单硬件需求评估硬件需求分析报告 硬件开发计划 硬件测试计划rti加迟亚由硬件详细设计说明书 硬件电路原理图 硬件BOM硬件设计内部评审记 录PCB数据 器件规格书 硬件子系统软件 装配图硬件单元测试分析报 告电装总结报告 硬件系统测试版本 硬件系统测试分析报 告硬件评审验证报告 发布版本1、 PCB布板流程图 2、 LCD认证流程图LCD认证流程图:硬件 结构 其他各部i i样品!提供i各部!确认i装机 甘一一一一一*一一一一 i软件开发规范Software Developm

18、ent SpecificationVersion: Vl.ODate:2010-06-22Prepared byDocument Revision History 文档修订记录VERSION 版本DATE日期DESCRIPTION内容说明INDIVIDUAL修订人1.0初稿1Introduction 简介个成熟稳定的组织或者团队,能够减少风险经常地成功地达成目标。成功 的含义是:按时、预算内【即符合成本要求】、符合质量要求。换言之,成熟 稳定的团队,能够避免以下问题:组织方面出现问题对需求缺乏管理缺乏计划和控制估算错误同时,还要在以下几个方面做得比较出色:人员调度与工作安排工作量估计预算管理责

19、权分配与平衡执行与监控沟通本文档是软件开发规范,力求使团队打下一个良好的基础,以便逐步成长为成 熟稳定的团队。团队需要一个逐步标准、规范的开发过程,在这个过程中团 队得到锻炼成员能力得到提高,风险得到控制。主要内容是: 定义软件开发的流程;定义软件开发的文档格式;定义涉及的角色;定义涉及的信息;描述开发流程;1.1Purpose 目标本文档的目标是:统一软件开发团队的流程、文档; 促进团队成员的沟通,减少误解;促使程序员书写易维护的代码;提高代码编写效率;使每个成员成为一个高效的程序员;1.2Scope 范围本文档,包含:项目管理的流程;项目策划项目追踪配置管理质量保证同行评审涉及文档;项目计

20、划mpp需求规格说明书SRSDelphi 估算项目状态报告配置库样式CheckList评审表变更申请表开发工具的规范;数据库设计工具功能设计工具IDE配置工具1.3Definitions, Acronyms, and Abbreviations.术语,缩略词SPP项目策划 Software Project PlanningSPTO项目追踪 Software Project Tracking & OversightSCM配置管理 Software Configuration ManagementSQA质量保证 Software Quality AssurancePR同行评审Peer Review

21、BaseLine基线SCCBBoard软件配置控制委员会 Software Configuration ControlCR变更请求 Change RequestSDLC软件开发生命周期Software Development L辻e CycleRUP统一开发过程 Rational Unified ProcessXP极限【敏捷方法】eXtreme ProgrammingTDD测试驱动 Test Driven Development14 References 引用CMM2CMM31.5Overview文档组织本文档主要分为四大部分:概述;描述了团队组织开发过程的高层视图; TSP 和 PSP ;按

22、照团队和个人描述流程规范;工具规范;描述了开发工具的详细规范;文档;涉及的文档格式;2The Overall Description 概述本部分是开发团队开发过程的高层描述。它描述了开发过程规范的背景,用来和所有涉及各方就基本过程达成共识。2.1Software Development Organizing 开发团队组织结构 说明:1=1表示公司的行政部门 表示公司的逻辑部门实线表示参加产品实现的组织和人员(不表示所属关系) 虚线表示工作的汇报关系,如SQAE向SQA经理汇报。2.2Project Base Process 项目基本流程项目定义 制定计划 计划实施 项目终止 时间基本流程说明:

23、项目启动:本阶段主要是进行可行性分析,定义项目,识别需求;制定计划:本阶段主要是计划策划,估算工作量.制定具体的可执行的计划;计划实施:本阶段主要是实施计划,完成计划中的各项任务,报告计划状态;项目终止:计划执行完毕,总结项目;23 CMM Base Process CMM 基本过程基本过程说明:SCM :软件配置管理,所有活动的基础,一切制品必须放入配置库;SPP:软件项目策划,估算工作量,制定详细计划【项目的制定计划阶 段】;SPTO:项目追踪,报告项目状态,评估并更新计划【项目的计划实施阶 段】;PR:同行评审,进入基线的前提条件,降低风险,提高质量的有效手 段;SQA:质量保证,预防风

24、险的有效手段;2.3.1 SC、I软件配置管理配置管理主要解决:版本施c丽黒结h田丁目 Vss. SVN VSTS定义配置项确定记录和报告配确定基线变更过2.3.2 SPP计划策划计划策划的核心是工作量估算在已知的停工和节假日时间不安排工作;不考虑加班时间;考虑测试及评审中发现冋题的返工需要的时间;考虑客户需求的稳定情况;考虑各项活动的交接和信息的项目跟踪计划组织和角色定2.3.3 SPTO项目追踪2.3.4 PR同行评审2.3.5 SOA质量保证SQA审核2.4 SDLC生命周期选择当前比较成熟稳定的SDLC是:WateiFall其中:RUP和XP是迭代式开发过程,风险是可控的。RUP的优点是过程清晰、文档齐全,但是过于庞杂,比较适合大规模的团队;XP的优点是过程简洁、推崇简单,但是不注重文档,难于交接,适合小规对于中等规模的团队来说应该基于RUP和XP,进行裁剪,找到适合的SDLC : SDLC的核心是:迭代式和TDD从全局看: Use-Case Driven 用例驱动基于 Aichitectuie迭代和递增的从微观看:TDD测试驱动ReFactor 重构Pair结对编程2.5Development Process 开发过程2.5.1 Development Phase 开发阶段需求分析阶段需求收集需求总结总体设计阶段总体架构部署模型概要设计阶段模块划分数据库设计详细设计阶段

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1