大摩娱乐注册 大摩娱乐登录 大摩娱乐招商QQ

Navigation menu

来源:未知 责任编辑:admin

嵌入式系统软件的开发

  物理连接和逻辑连接 ◦ 物理连接是指宿主机与目标机通过物理线 路连接在一起,连接方式主要有三种:

  ◦ 物理连接是逻辑连接的基础。 ◦ 逻辑连接指宿主机与目标机间按某种通信 协议建立起来的通信连接,目前逐步形成 了一些通信协议的标准。

  ◦ 编写简单的板级测试软件,主要是辅助硬 件的调试 ◦ 开发基本的驱动程序 ◦ 开发特定嵌入式操作系统的驱动程序(板 级支持包) ◦ 开发嵌入式系统软件,如:嵌入式操作系 统等 ◦ 开发应用软件

  ROM Monitor ROM Monitor是被固化且运行在目标机 上的一段程序,负责监控目标机上被调 试程序的运行,与宿主机端的调试器一 起完成对应用程序的调试。  调试器与ROM Monitor之间的通信遵循 远程调试协议。

  宿主机(Host) :是用于开发嵌入式系统的 计算机。一般为PC机(或者工作站),具备 丰富的软硬件资源,为嵌入式软件的开发提 供全过程支持。  目标机(Target):即所开发的嵌入式系统, 是嵌入式软件的运行环境,其硬件软件是为 特定应用定制的。  在开发过程中,目标机端需接收和执行宿主 机发出的各种命令如设臵断点、读内存、写 内存等,将结果返回给宿主机,配合宿主机 各方面的工作。

  ROM Emulator 优点 目标机可以没有ROM芯片、可以使用 ROM Emulator提供的ROM空间且不需 要用别的工具来写ROM。  缺点 目标机必须能支持外部ROM存储空间, 而且由于其通常要和ROM Monitor配合 使用,因此它拥有ROM Monitor的所有 缺点。

  ICE ICE(In-Circuit Emulator)是一种用于 替代目标机上CPU的设备,即在线仿真 器。  它比一般的CPU有更多的引出线,能够 将内部的信号输出到被控制的目标机。  ICE上的Memory也可以被映射到用户的 程序空间,这样即使目标机不存在的情 形下也可以进行代码的调试。

  当ROM Monitor占用CPU时,应用程序不响应外部的中 断,因此不便调试有时间特性的程序。

  ROM Monitor要占用目标机一定数量的资源,如CPU、 RAM、ROM和通信设备等资源。

  仿真开发方式 嵌入式应用的开发经常会遭遇缺少目标 机环境、缺乏目标机芯片等资源的问题, 而开发过程又不可能停止,因此自然就 提出了根据不同的应用需要,利用仿真 器件、仿真环境进行开发的方法。 硬件仿真开发

  ROM Emulator ROM Emulator是一种用于替代目标机 上的ROM芯片的设备,即ROM仿真器。 利用这种设备,目标机可以没有ROM 芯片,但目标机的CPU可以读取ROM Emulator设备上ROM芯片的内容:ROM Emulator设备上的ROM芯片的地址可以 实时地映射到目标机的ROM地址空间, 从而仿真(Emulation)目标机的ROM。

  在宿主机上编写代码 反复检查代码,直到编译 通过,生成可执行程序 将程序固化(Burn)到目标机的非易失 性存储器(E2PROM、FLASH等)中

  连接ICE和目标机时,一般是将目标机的CPU 取下,而将ICE的CPU引出线接到目标机的 CPU插槽。  用ICE进行调试时,在Host端运行的调试器通 过ICE来控制目标机上运行的程序。

  同时支持软断点和硬件断点的设臵 设臵各种复杂的断点和触发器 实时跟踪目标程序的运行,并可实现选择性的

  嵌入式软件开发工具的分类 嵌入式软件的交叉开发环境 嵌入式软件实现阶段的开发过程 嵌入式软件开发工具的发展趋势

  嵌入式软件开发工具 “工欲善其事,必先利其器” 嵌入式软件开发工具的 集成度和可用性将直接关 系到嵌入式系统的开发效 率。

  ◦ ◦ ◦ ◦ ◦ ◦ ◦ 程序映像下载 对目标机系统内存的读写 对寄存器的读写 设臵和清除不同类型的断点 单步执行指令 复位系统 …等调试功能

  调试过程 (1)启动目标机,监控器掌握对目标机的控制,等待和 调试器建立连接; (2)启动调试器,并和监控器建立起通信连接; (3)使用调试器将应用程序下载到目标机上的RAM空间 中; (4)使用调试器进行调试,发出各种调试命令,监控器 解释并执行这些命令,通过目标机上的各种异常来 获取对目标机的控制,将命令执行结果回传给调试 器; (5)如果程序有问题,在调试器的帮助下定位错误;修 改之后再重新编译链接并下载程序,开始新的调试, 如此反复直至程序正确运行为止。

  设计完成后,嵌入式软件的开发进入实现阶段, 可分为三个步骤:生成、调试和固化运行。

  ◦ 软件的生成主要是在宿主机上进行,利用各种工具完成 对应用程序的编辑、交叉编译和链接工作,生成可供调 试或固化的目标程序。 ◦ 调试是通过交叉调试器完成软件的调试工作。调试完成 后还需进行必要的测试工作。 ◦ 固化运行是先用一定的工具将应用程序固化到目标机上, 然后启动目标机,在没有任何工具干预的情况下应用程 序能自动地启动运行。

  ROM Emulator ROM Emulator的调试方式是一种不完 全的调试方式:ROM Emulator设备只 是为目标机提供ROM芯片和在Target和 Host间建立一条高速的通信通道,因此 它经常和前面两种调试方式结合起来形 成一种完备的调试方式。ROM Emulator的典型应用就是和ROM Monitor的调试方式相结合。

  非交叉调试 调试器和被调试程序运行在同一 台计算机上 需要操作系统的支持 被调试程序的装载由专门的 Loader程序完成 不需要通过外部通信的方式来控 制被调试程序

  在目标机上电或复位后首先执行的就是 ROM Monitor,它对目标机进行一些必要的 初始化

  ◦ 初始化要求的外围设备,如最基本的串口和用 于内存刷新的系统计时器芯片; ◦ 初始化用于下载映像的内存系统; ◦ 初始化中断控制器和安装中断处理程序。

  提供“Shadow RAM”,能在不中断被调试程序 的运行下查看内存和变量即非干扰调试查询

  将CPU的模式分为一般模式和调试模式 一般模式下, CPU从内存读取指令执行 调试模式下,CPU首先从调试端口读取指令,通过 调试端口可以控制CPU进入和退出调试模式;Host 端的调试器可以直接向目标机发送要执行的指令,

  – 源代码程序的 编写 – 编译成各个目 标模块 – 链接成可供下 载调试或固化 的目标程序

  把在宿主机上编写的高级语言程序编译 成可以运行在目标机上的代码,即在宿 主机上能够编译生成另一种CPU(嵌入 式微处理器)上的二进制程序。

  ◦ ◦ ◦ ◦ ◦ 文本编辑器 交叉编译器 交叉调试器 仿真器 下载器等

  交叉开发环境由宿主机和目标机组成,宿 主机与目标机之间在物理连接的基础上建 立起逻辑连接。

  ◦ 是指调试程序和被调试程序运行在不同机器上 的调试器 ◦ 调试器通过某种方式能控制目标机上被调试程 序的运行方式

  ◦ 通过调试器能查看和修改目标机上的内存、寄 存器以及被调试程序中的变量等

  交叉调试 调试器和被调试程序运行在不同 的计算机上 可独立运行,无需操作系统支持 被调试程序的装载由调试器完成 需要通过外部通信的方式来控制 被调试程序