嵌入式系统软件开发和设计流程

上传人:kms****20 文档编号:40881089 上传时间:2018-05-27 格式:DOC 页数:21 大小:55KB
返回 下载 相关 举报
嵌入式系统软件开发和设计流程_第1页
第1页 / 共21页
嵌入式系统软件开发和设计流程_第2页
第2页 / 共21页
嵌入式系统软件开发和设计流程_第3页
第3页 / 共21页
嵌入式系统软件开发和设计流程_第4页
第4页 / 共21页
嵌入式系统软件开发和设计流程_第5页
第5页 / 共21页
点击查看更多>>
资源描述

《嵌入式系统软件开发和设计流程》由会员分享,可在线阅读,更多相关《嵌入式系统软件开发和设计流程(21页珍藏版)》请在金锄头文库上搜索。

1、嵌入式系统软件开发和设计流程嵌入式系统软件开发和设计流程本文由 hquwgz 贡献ppt 文档可能在 WAP 端浏览体验不佳。建议您优先选择 TXT,或下载源文件到本机查看。嵌入式系统及应用第九章 嵌入式系统软件的开发主要内容嵌入式软件开发工具 嵌入式系统开发模式 实时软件分析设计方法第一节 嵌入式软件开发工具嵌入式软件开发工具的分类 嵌入式软件的交叉开发环境 嵌入式软件实现阶段的开发过程 嵌入式软件开发工具的发展趋势嵌入式软件开发工具“工欲善其事,必先利其器” 嵌入式软件开发工具的 集成度和可用性将直接关 系到嵌入式系统的开发效 率。嵌入式软件开发工具的分类嵌入式软件开发阶段嵌入式软件开发工

2、具的分类根据不同的阶段,嵌入式软件开发工具 可以分为:需求分析工具(Requirement Analysis Tools) 软件设计工具(Software Design Tools) 编码、调试工具(Coding Tools) 测试工具(Testing Tools) 配置管理工具、维护工具等Rational Rose RealTime ObjectGeode Rhapsody TAU Tornado LambdaTOOL pRISM+ Spectra Win CE Platform Builder CodeWarrior Xray Debugger Logiscope CodeTESTPhas

3、es Requirement Analysis Software Design Coding Test Release主要嵌入式软件开发工具产品嵌入式软件开发工具的分类嵌入式软件的开发可以分为以下几种 :编写简单的板级测试软件,主要是辅助硬件的调 试 开发基本的驱动程序 开发特定嵌入式操作系统的驱动程序(板级支持 包) 开发嵌入式系统软件,如:嵌入式操作系统等 开发应用软件嵌入式软件开发工具的分类从以上嵌入式软件开发分类来看,嵌入式 软件开发工具可以分为:与嵌入式 OS 相关的开发工具,用于开发:基于嵌入式 OS 的应用 部分驱动程序等与嵌入式 OS 无关的开发工具,用于开发:基本的驱动程序

4、辅助硬件调试程序 系统软件等嵌入式软件的交叉开发环境交叉开发环境是指用于嵌入式软件开发的 所有工具软件的集合,一般包括:文本编辑器 交叉编译器 交叉调试器 仿真器 下载器等交叉开发环境由宿主机和目标机组成,宿 主机与目标机之间在物理连接的基础上建 立起逻辑连接。运行平台 Target目标机应用系统 调 试 代 理开发平台 Host宿主机开发环境 运 行 库 应用软件 应用中间件 目标机 OS 目标机硬件 编辑 编译 连接 调试宿主机 OS 宿主机硬件交叉开发环境嵌入式软件的交叉开发环境宿主机(Host) :是用于开发嵌入式系统的计算 机。一般为PC 机(或者工作站) ,具备丰富的软 硬件资源,

5、为嵌入式软件的开发提供全过程支持。 目标机(Target):即所开发的嵌入式系统,是 嵌入式软件的运行环境,其硬件软件是为特定应 用定制的。 在开发过程中,目标机端需接收和执行宿主机发 出的各种命令如设置断点、读内存、写内存等, 将结果返回给宿主机,配合宿主机各方面的工作。嵌入式软件的交叉开发环境物理连接和逻辑连接 物理连接是指宿主机与目标机通过物理线路连接 物理连接 在一起,连接方式主要有三种:串口 以太口 OCD(On Chip Debug)方式,如 JTAG、BDM 等物理连接是逻辑连接的基础。 逻辑连接指宿主机与目标机间按某种通信协议建 逻辑连接 立起来的通信连接,目前逐步形成了一些通

6、信协 议的标准。嵌入式软件实现阶段的开发过程设计完成后,嵌入式软件的开发进入实现阶段, 可分为三个步骤:生成、调试和固化运行。软件的生成主要是在宿主机上进行,利用各种工具完成 软件的生成 对应用程序的编辑、交叉编译和链接工作,生成可供调试 或固化的目标程序。 调试是通过交叉调试器完成软件的调试工作。调试完成 调试 后还需进行必要的测试工作。 固化运行是先用一定的工具将应用程序固化到目标机上, 固化运行 然后启动目标机,在没有任何工具干预的情况下应用程序 能自动地启动运行。嵌入式软件生成阶段三个过程源代码程序的编 写 编译成各个目标 模块 链接成可供下载 调试或固化的目 标程序库文件源程序目标

7、模块可供调 试 /固 化编辑器交叉编 译器交叉链 接器交叉编译把在宿主机上编写的高级语言程序编译成 可以运行在目标机上的代码,即在宿主机 上能够编译生成另一种 CPU(嵌入式微处 理器)上的二进制程序。嵌入式软件的调试交叉调试器是指调试程序和被调试程序运行在不同机器上的 调试器 调试器通过某种方式能控制目标机上被调试程序 的运行方式 通过调试器能查看和修改目标机上的内存、寄存 器以及被调试程序中的变量等交叉调试 调试器和被调试程序运行在不同 的计算机上 可独立运行,无需操作系统支持 可独立运行, 被调试程序的装载由调试器完成 需要通过外部通信的方式来控制 被调试程序 可以直接调试不同指令集的程

8、序非交叉调试 调试器和被调试程序运行在同一 台计算机上 需要操作系统的支持 被调试程序的装载由专门的 Loader 程序完成 Loader 程序完成 不需要通过外部通信的方式来控 制被调试程序 只能直接调试相同指令集的程序嵌入式软件的调试交叉调试方式Crash and Burn Rom Monitor Rom Emulator In Circuit Emulator On Chip DebuggingSimulator 方式(非交叉)在宿主机上编写代码 反复检查代码, 反复检查代码,直到编译 通过, 通过,生成可执行程序 将程序固化( 将程序固化(Burn)到目标机的非易失 ) 性存储器( 性

9、存储器(E2PROM、FLASH 等)中 、 等Crash and Burn启动目标机运行, 启动目标机运行,观 察程序是否正常工作 N最早的 嵌入式 应用软 件调试 方法。Y在宿主机上反复检查 码,查找问题根源 改写代码结束ROM MonitorROM Monitor 是被固化且运行在目标机上的 一段程序,负责监控目标机上被调试程序 的运行,与宿主机端的调试器一起完成对 应用程序的调试。 调试器与 ROM Monitor 之间的通信遵循远程 调试协议。宿主机 调试器目标机 监控程 序(ROM 被调试 Monitor) 程序 嵌入式 硬件 物理上的连接 ROM Monitor 调试方式 调试方

10、式逻辑上的连接Windows 或其它桌 或其它桌 面操作系统 PC 机等硬件 机等硬件ROM Monitor在目标机上电或复位后首先执行的就是 ROM Monitor,它对目标机进行一些必要的 初始化初始化要求的外围设备,如最基本的串口和用于 内存刷新的系统计时器芯片; 初始化用于下载映像的内存系统; 初始化中断控制器和安装中断处理程序。初始化自己的程序空间 等待宿主机端的命令ROM MonitorROM Monitor 能配合调试器完成:程序映像下载 对目标机系统内存的读写 对寄存器的读写 设置和清除不同类型的断点 单步执行指令 复位系统 等调试功能ROM Monitor调试过程 (1)启动

11、目标机,监控器掌握对目标机的控制,等待和 调试器建立连接; (2)启动调试器,并和监控器建立起通信连接; (3)使用调试器将应用程序下载到目标机上的 RAM 空间 中;(4)使用调试器进行调试,发出各种调试命令,监控器 解释并执行这些命令,通过目标机上的各种异常来 获取对目标机的控制,将命令执行结果回传给调试 器; (5)如果程序有问题,在调试器的帮助下定位错误;修 改之后再重新编译链接并下载程序,开始新的调试, 如此反复直至程序正确运行为止。ROM Monitor优点1) 提高调试程序的效率 ,缩短开发周期,降低成本2) 简单、方便 3) 可扩展性强,可支持许多高级调试功能 4) 成本低廉,

12、不需专门的调试硬件支持 5) 几乎所有的交叉调试器都支持这种方式ROM Monitor缺点1) 2)Debug Monitor 需要用 Crash and Burn 方法开发。 当 ROM Monitor 占用 CPU 时,应用程序不响应外部的中 断,因此不便调试有时间特性的程序。 某些调试功能依赖于 CPU 硬件的支持(如硬件断点功能) ROM Monitor 要占用目标机一定数量的资源,如 CPU、 RAM、ROM 和通信设备等资源。 调试环境不同于实际目标环境。3) 4)5)仿真开发方式嵌入式应用的开发经常会遭遇缺少目标 机环境、缺乏目标机芯片等资源的问题, 而开发过程又不可能停止,因此

13、自然就 提出了根据不同的应用需要,利用仿真 器件、仿真环境进行开发的方法。 硬件仿真开发ROM Emulator ICE OCD软件仿真开发ROM EmulatorROM Emulator 是一种用于替代目标机上的 ROM 芯片的设备,即ROM 仿真器。利用这 种设备,目标机可以没有 ROM 芯片,但目 标机的 CPU 可以读取 ROM Emulator 设备上 ROM 芯片的内容:ROM Emulator 设备上的 ROM 芯片的地址可以实时地映射到目标机 的ROM 地址空间,从而仿真(Emulation) 目标机的 ROM。ROM EmulatorROM Emulator 的调试方式是一种

14、不完全的 调试方式:ROM Emulator 设备只是为目标 机提供 ROM 芯片和在 Target 和 Host 间建立 一条高速的通信通道,因此它经常和前面 两种调试方式结合起来形成一种完备的调 试方式。ROM Emulator 的典型应用就是和 ROM Monitor 的调试方式相结合。ROM Emulator优点 目标机可以没有 ROM 芯片、可以使用 ROM Emulator 提供的 ROM 空间且不需要用别的 工具来写 ROM。 缺点 目标机必须能支持外部 ROM 存储空间,而 且由于其通常要和 ROM Monitor 配合使用,因此它拥有 ROM Monitor 的所有缺点。IC

15、EICE(In-Circuit Emulator)是一种用于替代 目标机上 CPU 的设备,即在线仿真器。 它比一般的 CPU 有更多的引出线,能够将 内部的信号输出到被控制的目标机。 ICE 上的 Memory 也可以被映射到用户的程 序空间,这样即使目标机不存在的情形下 也可以进行代码的调试。ICE连接 ICE 和目标机时,一般是将目标机的 CPU 取下,而将 ICE的 CPU 引出线接到目标机的 CPU 插槽。 用 ICE 进行调试时,在Host 端运行的调试器通 过 ICE 来控制目标机上运行的程序。宿主开 发平台ICE 调试结构 调试结构目标平台ICEICE功能特点同时支持软断点和硬

16、件断点的设置 设置各种复杂的断点和触发器 实时跟踪目标程序的运行,并可实现选择性的 跟踪 支持“Time Stamp” 允许用户设置“Timer” 提供“Shadow RAM” ,能在不中断被调试程序 的运行下查看内存和变量即非干扰调试查询ICE适用于:1) 2) 3) 4)调试实时的应用系统 调试设备驱动程序 对硬件进行功能和性能的测试 实时性能分析缺点:1) 2)价格太昂贵,不利于团队开发 所仿 CPU 有限OCDOCD(On Chip Debugging)是 CPU 芯片 提供的一种调试功能(片上调试) ,可以 认为是一种廉价的 ICE 功能:OCD 的价格只 有ICE 的 20%,但提供了 ICE 80%的功能。宿主机 调试器目标机逻辑上的连接被调试程序Windows 或其它桌 或其它桌 面操作系统 PC 机等硬件 机等硬件 仿真器 物理连接 并口、 并口、串口 或网络接口 为特定处理 器而建造OCD 接 嵌入式 接 硬件 口针形连接器OCD 调试结构 调试结构OCD调试方法1) 2) 3)将 CPU 的模式分为一般模式和调试模式 一般模式下, CPU

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 生活休闲 > 科普知识

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