嵌入式操作系统及应用开发Chapter9嵌入式系统软件的开发.ppt

嵌入式操作系统及应用开发Chapter9嵌入式系统软件的开发.ppt

  1. 1、本文档共109页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第九章 嵌入式系统软件的开发 主要内容 嵌入式软件开发工具 嵌入式系统开发模式 实时软件分析设计方法 第一节 嵌入式软件开发工具 嵌入式软件开发工具 “工欲善其事,必先利其器” 嵌入式软件开发工具的集成度和可用性将直接关系到嵌入式系统的开发效率。 嵌入式软件开发工具的分类 嵌入式软件开发工具的分类 根据不同的阶段,嵌入式软件开发工具可以分为: 需求分析工具(Requirement Analysis Tools) 软件设计工具(Software Design Tools) 编码、调试工具(Coding Tools) 测试工具(Testing Tools) 配置管理工具、维护工具等 嵌入式软件开发工具的分类 嵌入式软件的开发可以分为以下几种 : 编写简单的板级测试软件,主要是辅助硬件的调试 开发基本的驱动程序 开发特定嵌入式操作系统的驱动程序(板级支持包) 开发嵌入式系统软件,如:嵌入式操作系统等 开发应用软件 嵌入式软件开发工具的分类 从以上嵌入式软件开发分类来看,嵌入式软件开发工具可以分为 : 与嵌入式OS相关的开发工具,用于开发基 于嵌入式OS的应用和部分的驱动程序等。 与嵌入式OS无关的开发工具,用于开发基本的驱动程序、辅助硬件调试,系统软件的开发等。 嵌入式软件的交叉开发环境 交叉开发环境是指用于嵌入式软件开发的所有工具软件的集合,一般包括文本编辑器、交叉编译器、交叉调试器、仿真器、下载器等工具。 交叉开发环境由宿主机和目标机组成,宿主机与目标机之间在物理连接的基础上建立起逻辑连接。 嵌入式软件的交叉开发环境 宿主机(Host) :是用于开发嵌入式系统的计算机。一般为PC机(或者工作站),具备丰富的软硬件资源,为嵌入式软件的开发提供全过程支持。 目标机(Target):即所开发的嵌入式系统,是嵌入式软件的运行环境,其硬件软件是为特定应用定制的。 在开发过程中,目标机端需接收和执行宿主机发出的各种命令如设置断点、读内存、写内存等,将结果返回给宿主机,配合宿主机各方面的工作。 嵌入式软件的交叉开发环境 物理连接和逻辑连接 物理连接是指宿主机与目标机通过物理线路连接在一起,连接方式主要有三种:串口、以太口和OCD(On Chip Debug)方式如JTAG、BDM等。 物理连接是逻辑连接的基础。 逻辑连接指宿主机与目标机间按某种通信协议建立起来的通信连接,目前逐步形成了一些通信协议的标准。 嵌入式软件实现阶段的开发过程 设计完成后,嵌入式软件的开发进入实现阶段,可分为三个步骤:生成、调试和固化运行。 软件的生成主要是在宿主机上进行,利用各种工具完成对应用程序的编辑、交叉编译和链接工作,生成可供调试或固化的目标程序。 调试是通过交叉调试器完成软件的调试工作。调试完成后还需进行必要的测试工作。 固化运行是先用一定的工具将应用程序固化到目标机上,然后启动目标机,在没有任何工具干预的情况下应用程序能自动地启动运行。 嵌入式软件生成阶段 交叉编译 把在宿主机上编写的高级语言程序编译成可以运行在目标机上的代码,即在宿主机上能够编译生成另一种CPU(嵌入式微处理器)上的二进制程序。 嵌入式软件的调试 交叉调试器 是指调试程序和被调试程序运行在不同机器上的调试器, 调试器通过某种方式能控制目标机上被调试程序的运行方式,并且通过调试器能查看和修改目标机上的内存、寄存器以及被调试程序中的变量等。 嵌入式软件的调试 交叉调试方式 Crash and Burn Rom Monitor Rom Emulator In Circuit Emulator On Chip Debugging Simulator方式(非交叉) Crash and Burn 最早的嵌入式应用软件调试方法。 在宿主机上编写代码 反复检查代码,直到编译通过,生成可执行程序 将程序固化(Burn)到目标机的非易失性存储器(E2PROM、FLASH等)中 启动目标机运行,观察程序是否正常工作 如果程序不能正常工作(Crash),则在宿主机上反复检查代码,查找问题根源 改写代码 重复3)~6),直到程序正常工作 ROM Monitor ROM Monitor是被固化且运行在目标机上的一段程序,负责监控目标机上被调试程序的运行,与宿主机端的调试器一起完成对应用程序的调试。 调试器与ROM Monitor之间的通信遵循远程调试协议。 ROM Monitor 在目标机上电或复位后首先执行的就是ROM Monitor,它对目标机进行一些必要的初始化 初始化要求的外围设备,如最基本的串口和用于内存刷新的系统计时器芯片; 初始化用于下载映像的内存系统; 初始化中断控制器和安装中断处理程序。 初始化自己的程序空间 等待宿主机端的

文档评论(0)

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

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

1亿VIP精品文档

相关文档