218
版权所有 © 2002, 2003 ARM Limited 保留所有权利 ARM DUI 0174C RealView Debugger 扩展 1.6.1

pudn.comread.pudn.com/downloads102/ebook/419574/arm...ii 版权所有 © 2002, 2003 ARM Limited 保留所有权利 ARM DUI 0174C RealView Debugger k 1 版权所有 © 2002, 2003 ARM

  • Upload
    others

  • View
    35

  • Download
    0

Embed Size (px)

Citation preview

Page 1: pudn.comread.pudn.com/downloads102/ebook/419574/arm...ii 版权所有 © 2002, 2003 ARM Limited 保留所有权利 ARM DUI 0174C RealView Debugger k 1 版权所有 © 2002, 2003 ARM

RealView™ Debugger 扩展1.6.1

版权所有 © 2002, 2003 ARM Limited 保留所有权利ARM DUI 0174C

Page 2: pudn.comread.pudn.com/downloads102/ebook/419574/arm...ii 版权所有 © 2002, 2003 ARM Limited 保留所有权利 ARM DUI 0174C RealView Debugger k 1 版权所有 © 2002, 2003 ARM

RealView Debugger

版权所有 © 2002, 2003 ARM Limited 保留所有权利

本文档进行了以下更改

标有 ® 或 ™ 的词语和徽标是 ARM Limited 拥有的注册商标或商标 此处提及的其它品牌和名称可能

是其相关所有者的商标

除非事先得到版权所有人的书面许可 否则不得以任何形式改编或复制本文档包含或产品描述的全

部或部分信息

本文档描述的产品将进行持续的开发和改进 ARM 将如实提供所有产品特性以及本文档包含的使

用方法 但是 所有暗示或明示的担保 包括但不限于对特定用途适销性或适用性的暗示担保 均

不包括在内

本文档的目的仅在于帮助读者使用产品 对由于使用本文档中的任何信息 这些信息中的任何错误

或遗漏或任何不正确的使用产品而导致的任何损失或损害 ARM Limited 概不负责

本文档供公开参阅 本文档的分发不受限制

本文档中的信息是关于所开发产品的 新信息

http://www.arm.com

2002 年 4 月 A RealView Debugger 1.5 版

2002 年 9 月 B RealView Debugger 1.6 版

2003 年 2 月 C RealView Debugger 1.6.1 版

ii 版权所有 © 2002, 2003 ARM Limited 保留所有权利 ARM DUI 0174C

Page 3: pudn.comread.pudn.com/downloads102/ebook/419574/arm...ii 版权所有 © 2002, 2003 ARM Limited 保留所有权利 ARM DUI 0174C RealView Debugger k 1 版权所有 © 2002, 2003 ARM

目录

RealView Debugger

关于本书 ......................................................................................................... vi反馈 ............................................................................................................... xii

1 RealView Debugger 1.1 关于 RealView Debugger 扩展 .................................................................... 1-21.2 许可 ............................................................................................................. 1-41.3 支持的平台 .................................................................................................. 1-51.4 受支持的硬件 .............................................................................................. 1-6

2 RealView Debugger 2.1 关于使用 RealView Debugger 跟踪 ............................................................ 2-22.2 使用入门 ...................................................................................................... 2-72.3 配置 ETM .................................................................................................. 2-102.4 配置跟踪捕获 ............................................................................................ 2-152.5 使用 Analysis 窗口 .................................................................................... 2-332.6 在 RealView Debugger 中使用跟踪的示例 ................................................ 2-74

ARM DUI 0174C 版权所有 © 2002, 2003 ARM Limited 保留所有权利 iii

Page 4: pudn.comread.pudn.com/downloads102/ebook/419574/arm...ii 版权所有 © 2002, 2003 ARM Limited 保留所有权利 ARM DUI 0174C RealView Debugger k 1 版权所有 © 2002, 2003 ARM

目录

3 RTOS 3.1 关于实时操作系统 (RTOS) ......................................................................... 3-23.2 使用 RealView Debugger RTOS 支持 ........................................................ 3-43.3 使线程与视图关联 ....................................................................................... 3-83.4 使用 Resource Viewer 窗口 ...................................................................... 3-113.5 使用 Process Control 窗格中的线程 ......................................................... 3-133.6 RTOS 资源 CLI 命令 ................................................................................. 3-14

4 DSP 4.1 关于 DSP 和 RealView Debugger DSP 支持 .............................................. 4-24.2 使用 DSP .................................................................................................... 4-3

5 5.1 RealView Debugger 中的多目标连接概述 .................................................. 5-25.2 RealView Debugger 多处理器体系结构 ...................................................... 5-35.3 管理多个目标 ............................................................................................ 5-105.4 显示一致性 ................................................................................................ 5-285.5 处理器执行同步 ........................................................................................ 5-36

AA.1 ARM MultiTrace 和 ARM Multi-ICE ............................................................ A-2A.2 Agilent 16600 或 16700 逻辑分析仪和 Emulation Probe ............................ A-4A.3 Agilent 16600 或 16700 逻辑分析仪和 Multi-ICE ........................................ A-8A.4 Agilent Emulation Probe 和 Trace Port Analyzer (E5904B) ..................... A-11A.5 Tektronix TLA 600 或 TLA 700 Logic Analyzer 和 Multi-ICE .................... A-14

BB.1 ARM MultiTrace 和 ARM Multi-ICE ............................................................ B-2B.2 ARM Multi-ICE for XScale .......................................................................... B-6B.3 Agilent 16600 或 16700 Logic Analyzer 和 Emulation Probe ..................... B-8B.4 Agilent 16600 或 16700 Logic Analyzer 和 ARM Multi-ICE ...................... B-14B.5 Agilent Trace Port Analyzer 和 Agilent Emulation Probe .......................... B-16B.6 Tektronix TLA 600 或 TLA700 和 ARM Multi-ICE ..................................... B-19B.7 ARMulator ETM 仿真 ................................................................................ B-22B.8 使用 Simulator Broker 连接的模拟器 ........................................................ B-24

iv 版权所有 © 2002, 2003 ARM Limited 保留所有权利 ARM DUI 0174C

Page 5: pudn.comread.pudn.com/downloads102/ebook/419574/arm...ii 版权所有 © 2002, 2003 ARM Limited 保留所有权利 ARM DUI 0174C RealView Debugger k 1 版权所有 © 2002, 2003 ARM

本前言对 RealView™ Debugger Extensions 1.6 版用户指南进行了介绍 它包含以下部分

• 第 vi 页关于本书

• 第 xii 页反馈

ARM DUI 0174C 版权所有 © 2002, 2003 ARM Limited 保留所有权利 v

Page 6: pudn.comread.pudn.com/downloads102/ebook/419574/arm...ii 版权所有 © 2002, 2003 ARM Limited 保留所有权利 ARM DUI 0174C RealView Debugger k 1 版权所有 © 2002, 2003 ARM

前言

本书介绍了如何使用以下 RealView Debugger 扩展

• RealView Debugger 跟踪扩展 仅适用于许可用户

• RealView Debugger 实时操作系统 (RTOS) 扩展 需要 RTOS 供应商的附加软件支持

• RealView Debugger 数字信号处理器 (DSP) 扩展 仅适用于许可用户

• RealView Debugger 多处理器扩展 仅适用于许可用户

本书仅介绍调试器扩展 有关调试器的详情 请参阅 RealView Debugger 文档系列中的其它书目

本书专为 RealView Debugger 扩展的许可用户而写 我们假定所有的用户均为经验丰富的程序员 并具有一些跟踪 调试多处理器目标 DSP 或 RTOS 开发的经验 视他们有权使用的功能而定

虽然不需要用户具有使用 RealView Debugger 的经验 但我们建议用户在使用扩展之前先自己熟悉如何执行普通调试操作 我们假定使用对象的技术水平相对较高 视使用的 RealView Debugger 扩展而定 以下是建议的其它经验

用户应了解实时跟踪如何有助于调试以全时钟速度运行的程序

RTOS

您应具有一些调试 RTOS 的经验

DSP

您应具有一些调试在 DSP 目标上运行的程序的经验

本书由以下章节组成

1 RealView Debugger 扩展简介扩展简介扩展简介扩展简介

阅读本章 您可以了解 RealView Debugger 扩展的概览 适用于每个扩展的系统需求以及有关本书结构的详情

2 使用使用使用使用 RealView Debugger 跟踪跟踪跟踪跟踪

阅读本章 您可以了解 RealView Debugger 为跟踪提供的支持说明 其中包括如何使用 RealView Debugger 生成跟踪数据以及如何使用 Analysis 窗口分析跟踪输出

vi 版权所有 © 2002, 2003 ARM Limited 保留所有权利 ARM DUI 0174C

Page 7: pudn.comread.pudn.com/downloads102/ebook/419574/arm...ii 版权所有 © 2002, 2003 ARM Limited 保留所有权利 ARM DUI 0174C RealView Debugger k 1 版权所有 © 2002, 2003 ARM

前言

3 RTOS 支持支持支持支持

阅读本章 您可以了解 RealView Debugger 为调试 RTOS 提供的支持说明

4 DSP 支持支持支持支持

阅读本章 您可以了解有关 RealView Debugger 为调试在 DSP 目标上运行的程序提供的支持说明

5 使用多目标连接使用多目标连接使用多目标连接使用多目标连接

阅读本章 您可以了解可使您一次性建立多个连接的 RealView Debugger 功能的详情 在调试多处理器上运行的多任务应用程序或使用多线程调试多任务应用程序时 此功能非常有用

A 设置跟踪硬件设置跟踪硬件设置跟踪硬件设置跟踪硬件 阅读本附录 您可以详细了解如何为受 RealView Debugger 支持的跟踪配置设置硬件

B 设置跟踪软件设置跟踪软件设置跟踪软件设置跟踪软件 阅读本附录 您可以详细了解如何为受 RealView Debugger 支持的跟踪配置设置软件

词汇表词汇表词汇表词汇表 参阅本词汇表 了解本书中所用术语的有关说明

本书使用了以下印刷惯例

斜体 突出显示重要注释 介绍特殊术语 表示内部交叉链接和引用

突出显示界面要素 如菜单名称 表示 ARM 处理器信号名称 必要时还用于说明列表中的术语

等宽 表示可以从键盘输入的文本 如命令 文件和程序名以及源代码

等宽 表示允许的命令或选项缩写 可只输入下划线标记的文本无需输入命令或选项的全名

等宽斜体 表示此处的命令和函数变量可用特定值代替

表示使用示例代码以外的语言关键字

ARM DUI 0174C 版权所有 © 2002, 2003 ARM Limited 保留所有权利 vii

Page 8: pudn.comread.pudn.com/downloads102/ebook/419574/arm...ii 版权所有 © 2002, 2003 ARM Limited 保留所有权利 ARM DUI 0174C RealView Debugger k 1 版权所有 © 2002, 2003 ARM

前言

本图说明了本手册中事件计时图解的惯例

阴影区域表示值未确定时的期间 例如由于状态更改而需要对许多数据结构进行更改 状态更改的准确时间相对于其它显示事件可变时也使用阴影区域

瞬时事件用于表示触发 例如软件中断

本部分列出了 ARM Limited 和第三方发布的 可提供有关 ARM 系列处理器开发代码附加信息的相关读物

ARM 将定期对其文档进行更新和更正 有关 新勘误表 附录以及 ARM 常见问题列表 请访问 http://www.arm.com 的 Documentation 部分

ARM

本书是 RealView Debugger 文档系列中的一部分 此系列还包括

• RealView Debugger v1.6 Essentials Guide (ARM DUI 0181)

• RealView Debugger v1.6 User Guide (ARM DUI 0153)

• RealView Debugger v1.6 Target Configuration Guide (ARM DUI 0182)

• RealView Debugger v1.6 Command Line Reference Guide (ARM DUI 0175)

Stable state

Stable state to undefined

FALSE to TRUE, uncertain timing

Momentary event

Stable state to another stable state

Part of sequence omitted for clarity

Arrow indicating related events

TRUE to FALSE

viii 版权所有 © 2002, 2003 ARM Limited 保留所有权利 ARM DUI 0174C

Page 9: pudn.comread.pudn.com/downloads102/ebook/419574/arm...ii 版权所有 © 2002, 2003 ARM Limited 保留所有权利 ARM DUI 0174C RealView Debugger k 1 版权所有 © 2002, 2003 ARM

前言

如果您将 RealView Debugger 与 ARM Developer Suite™ (ADS) v1.2 配合使用 则请参阅 ADS 文档系列中的以下说明书 以了解更多信息

• Getting Started (ARM DUI 0064)

• ADS Compilers and Libraries Guide (ARM DUI 0067)

• ADS Linker and Utilities Guide (ARM DUI 0151)

• CodeWarrior IDE Guide (ARM DUI 0065)

• AXD and armsd Debuggers Guide (ARM DUI 0066)

• ADS Assembler Guide (ARM DUI 0068)

• ADS Debug Target Guide (ARM DUI 0058)

• ADS Developer Guide (ARM DUI 0056)

如果您将 RealView Debugger 与 RealView Compilation Tools (RVCT) v1.2 配合使用 则请参阅 RVCT 文档系列中的以下说明书 以了解更多信息

• RealView Compilation Tools v1.2 Getting Started Guide (ARM DUI 0202)

• RealView Compilation Tools v1.2 Compilers and Libraries Guide (ARM DUI 0205)

• RealView Compilation Tools v1.2 Linker and Utilities Guide (ARM DUI 0206)

• RealView Compilation Tools v1.2 Assembler Guide (ARM DUI 0204)

• RealView Compilation Tools v1.2 Developer Guide (ARM DUI 0203)

以下文档提供了有关 ARM 结构 处理器 相关设备及软件界面的基本信息

• ARM Architecture Reference Manual (ARM DDI 0100) 该手册以 ADS 电子形式提供 也有印刷版

David Seal ARM Architecture Reference Manual 第二版 2001 Addison Wesley ISBN 0-201-73719-1

• ARM Reference Peripheral Specification (ARM DDI 0062)

• ARM-Thumb® Procedure Call Standard (ATPCS) Specification (SWS ESPC 0002)

有关适用于 RealView Debugger 的 ARM 调试界面信息 请参阅以下文档

• ARM Agilent Debug Interface User Guide (ARM DUI 0158)

• Multi-ICE® Version 2.2 User Guide (ARM DUI 0048)

• ARM MultiTrace™ User Guide (ARM DUI 0150)

ARM DUI 0174C 版权所有 © 2002, 2003 ARM Limited 保留所有权利 ix

Page 10: pudn.comread.pudn.com/downloads102/ebook/419574/arm...ii 版权所有 © 2002, 2003 ARM Limited 保留所有权利 ARM DUI 0174C RealView Debugger k 1 版权所有 © 2002, 2003 ARM

前言

有关 ARM Limited 特定处理器的信息 请参阅以下文档

• ARM7DI™ Datasheet (ARM DDI 0027)

• ARM710T™ Datasheet (ARM DDI 0086)

• ARM720T™ Datasheet (ARM DDI 0087)

• ARM740T™ Datasheet (ARM DDI 0008)

• ARM7TDMI™ Technical Reference Manual (ARM DDI 0210)

• ARM7EJ-S™ Technical Reference Manual (ARM DDI 0214)

• ARM9TDMI™ Technical Reference Manual (ARM DDI 0180)

• ARM920T™ Technical Reference Manual (ARM DDI 0151)

• ARM922T™ Technical Reference Manual (ARM DDI 0184)

• ARM9EJ-S™ Technical Reference Manual (ARM DDI 0222)

• ARM926EJ-S™ Technical Reference Manual (ARM DDI 0198)

• ARM940T™ Technical Reference Manual (ARM DDI 0144)

• ARM946E-S™ Technical Reference Manual (ARM DDI 0201)

• ARM966E-S™ Technical Reference Manual (ARM DDI 0213)

• ARM1020E™ Technical Reference Manual (ARM DDI 0177)

• ARM1022E™ Technical Reference Manual (ARM DDI 0237)

• ARM Embedded Trace Macrocell Specification (ARM IHI 0014)

有关 FLEXlm 许可证管理系统 由 GLOBEtrotter Inc. 提供 可控制 ARM 应用程序的使用 的详情 请参阅以下文档

• ARM FLEXlm License Management Guide v2.0 (ARM DUI 0209)

要获得 RealView Debugger v1.6.1 中许可证管理的详情 请确保使用本文档的 2.0 版 2002 年出版

要全面了解 ARM 体系结构 请参阅

Steve Furber ARM System-on-Chip Architecture Second Edition 2000 Addison Wesley ISBN 0-201-67519-6

有关 RealView Debugger 搜索和模式匹配工具中所用常规表达式的详细介绍请参阅

Jeffrey E. F. Friedl Mastering Regular Expressions Powerful Techniques for Perl and Other Tools 1997 O'Reilly & Associates Inc. ISBN 1-56592-257-3

x 版权所有 © 2002, 2003 ARM Limited 保留所有权利 ARM DUI 0174C

Page 11: pudn.comread.pudn.com/downloads102/ebook/419574/arm...ii 版权所有 © 2002, 2003 ARM Limited 保留所有权利 ARM DUI 0174C RealView Debugger k 1 版权所有 © 2002, 2003 ARM

前言

有关 C 编程语言 RealView Debugger 宏和表达式的基本语言 的权威性指南请参阅

Brian W. Kernighan Dennis M. Ritchie The C Programming Language second edition 1989 Prentice-Hall ISBN 0-13-110362-8

有关 JTAG 标准的更多信息 请参阅

IEEE Standard Test Access Port and Boundary Scan Architecture (IEEE Std. 1149.1)可从 IEEE (www.ieee.org) 获取

有关 AXYS Design Automation, Inc. 的 OakDSPCore MaxCore 模拟器联系人信息可从以下网址 http://www.axysdesign.com 获得

有关本手册中介绍的 Agilent 分析仪的附加信息 请参阅以下读物

• E5903-97000 Trace Port Analysis for ARM ETM User's Guide Agilent1999

• E3459-97002 Emulation for the ARM7/ARM9 User's Guide Agilent 1999

要访问这些文档 请访问网站 http://www.agilent.com

有关本手册中介绍的 Tektronix Trace 控制器软件的附加信息 请参阅以下读物

• Tektronix TLA Logic Analyzer ARM ETM Support Package Instructions Dragonfly Software LLC 2000

有关本手册中介绍的 Tektronix 分析仪的附加信息 请参阅以下读物

• Tektronix 网站 http://www.tek.com

• Dragonfly Software 网站 http://www.dfsw.com

ARM DUI 0174C 版权所有 © 2002, 2003 ARM Limited 保留所有权利 xi

Page 12: pudn.comread.pudn.com/downloads102/ebook/419574/arm...ii 版权所有 © 2002, 2003 ARM Limited 保留所有权利 ARM DUI 0174C RealView Debugger k 1 版权所有 © 2002, 2003 ARM

前言

ARM Limited 乐于收到有关 RealView Debugger 及其文档的任何反馈

RealView Debugger

如果对 RealView Debugger 有任何疑问 请提交一份 Software Problem Report

1. 从 RealView Debugger 主菜单选择 Help → Send a Problem Report...

2. 完成 Software Problem Report 的所有部分

3. 要获得快捷 有用的答复 请提供

• 再现问题发生的独立样本代码 如果适用

• 您期望发生和实际发生的情况的详细说明

• 您使用的命令 包括所有命令行选项

• 解释问题的示例输出

4. 通过电子邮件将报告发送给供应商

如果您对本书有任何意见 请发送电子邮件到 [email protected] 并提供

• 文档标题

• 文档编号

• 您有意见的页码

• 您的意见的简单说明

我们还欢迎您对新增和改进之处提出一般建议

xii 版权所有 © 2002, 2003 ARM Limited 保留所有权利 ARM DUI 0174C

Page 13: pudn.comread.pudn.com/downloads102/ebook/419574/arm...ii 版权所有 © 2002, 2003 ARM Limited 保留所有权利 ARM DUI 0174C RealView Debugger k 1 版权所有 © 2002, 2003 ARM

第 1 章 RealView Debugger

本章简要介绍了许可用户可以使用的 RealView Debugger 扩展 并说明了如何在本书中获得这些扩展的更多信息 它包含以下部分

• 第 1-2 页关于 RealView Debugger 扩展

• 第 1-4 页许可

• 第 1-5 页支持的平台

• 第 1-6 页受支持的硬件

ARM DUI 0174C 版权所有 © 2002, 2003 ARM Limited 保留所有权利 1-1

Page 14: pudn.comread.pudn.com/downloads102/ebook/419574/arm...ii 版权所有 © 2002, 2003 ARM Limited 保留所有权利 ARM DUI 0174C RealView Debugger k 1 版权所有 © 2002, 2003 ARM

RealView Debugger 扩展简介

1.1 RealView Debugger

RealView Debugger 是一种程序 可使您执行源级或汇编语言程序并控制程序执行流程 除主要的 RealView Debugger 功能以外 用户还可以使用多项扩展功能 某些扩展功能只适用于持有相关许可证的用户

本部分列出了本书中全面介绍 RealView Debugger 扩展功能的一些章节

• 第二章 通过 RealView Debugger 跟踪

• 第 1-3 页第三章 RTOS 支持

• 第 1-3 页第四章 DSP 支持

• 第 1-3 页第五章 使用多个目标连接

本书仅介绍 RealView Debugger 的扩展功能 而未提供使用 RealView Debugger 执行普通调试任务的详情 有关使用 RealView Debugger 的详情 请参阅RealView Debugger v1.6 User Guide

1.1.1 RealView Debugger

本章介绍了如何使用 RealView Debugger 生成跟踪信息 以及如何使用 Analysis 窗口分析跟踪结果 您必须获得相关许可证才能使用此扩展功能 您可以使用跟踪硬件或模拟器执行跟踪 但是 将跟踪硬件与包含嵌入跟踪宏单元 (ETM) 的处理器配合使用可获得范围 广的跟踪和分析功能

您可以通过以下其中一种方法设置跟踪捕获详情

• 设置简单跟踪控制点 范围和触发器

• 设置可以包含条件的复杂跟踪控制点 该条件的类型类似于可为断点设置的条件类型

生成跟踪信息之后 您就可以使用 Analysis 窗口执行以下操作

• 配置跟踪选项 将其应用于执行的所有跟踪捕获

• 使用多达六种不同的视图查看跟踪和配置信息

• 过滤跟踪捕获的结果

• 搜索特定的跟踪信息项

• 操纵跟踪信息的显示

建议您在尝试对自己的程序进行跟踪之前阅读第 2-74 页在 RealView Debugger 中使用跟踪的示例 本部分提供了使用跟踪解决典型开发问题的示例 并且无需您具有使用 RealView Debugger 的经验

1-2 版权所有 © 2002, 2003 ARM Limited 保留所有权利 ARM DUI 0174C

Page 15: pudn.comread.pudn.com/downloads102/ebook/419574/arm...ii 版权所有 © 2002, 2003 ARM Limited 保留所有权利 ARM DUI 0174C RealView Debugger k 1 版权所有 © 2002, 2003 ARM

RealView Debugger 扩展简介

1.1.2 RTOS

本章介绍了 RealView Debugger 提供的 RTOS 支持 并说明了所提供支持级别的优势和限制 在使用此扩展功能之前 您必须获得所使用的 RTOS 的 RealView Debugger 支持软件包 有关如何获取的信息 请从 Code 窗口的 Help 菜单选择 Goto RealView RTOS Awareness Downloads

本章说明了如何使用 Code 窗口中的线程下拉式列表以及 Resource Viewer 窗口中可用的其它选项卡 使用这些工具 您可以

• 将线程附加至 Code 窗口或从中取消线程的连接 从而使您能够监控系统中的一个或多个线程

• 选择单个线程 以显示与该线程相关的寄存器 变量和代码

• 更改单个线程的寄存器和变量值

建议您在尝试使用 RealView Debugger 调试 RTOS 之前阅读第 3-4 页使用 RealView Debugger RTOS 支持 部分 此部分提供了两个调试 RTOS 的示例并假定您仅具有使用 RealView Debugger 执行单线程程序的经验

1.1.3 DSP

本章介绍了 RealView Debugger 提供的数字信号处理器 (DSP) 支持 它介绍了在使用 AXYS OakDSPCore MaxCore 模拟器或实际 DSP 硬件时提供的支持类型您必须获得相关许可证才能使用此扩展功能

1.1.4

本章介绍了 RealView Debugger 中支持多处理器调试的功能 它说明了如何将 RealView Debugger 用于调试混合的核心系统以及同步处理器操作 您必须获得相关许可证才能使用此扩展功能

ARM DUI 0174C 版权所有 © 2002, 2003 ARM Limited 保留所有权利 1-3

Page 16: pudn.comread.pudn.com/downloads102/ebook/419574/arm...ii 版权所有 © 2002, 2003 ARM Limited 保留所有权利 ARM DUI 0174C RealView Debugger k 1 版权所有 © 2002, 2003 ARM

RealView Debugger 扩展简介

1.2

要使用 Trace DSP 或多处理器扩展 您必须拥有有效的许可证 RTOS 扩展未得到 ARM 的许可 因此您必须获得适用于选定 RTOS 的启动软件 有关详情请参阅第 3 章 RTOS 支持

您可以在 45 天的临时许可期间 从首次安装 RealView Debugger 时开始 使用所有功能 但在临时许可期间到期之前 您必须获得所需扩展功能的永久许可证 有关详情 请参阅 ARM FLEXlm License Management Guide v2.0

所有 RealView Debugger 许可证均由 FLEXlm 许可证管理系统控制 您可以使用 FLEXlm 服务器软件 此软件可在 Windows Solaris 或 Linux 平台上运行 来跟踪和维持 RealView Debugger 许可证的控制 请参阅 ARM FLEXlm License Management Guide v2.0

1-4 版权所有 © 2002, 2003 ARM Limited 保留所有权利 ARM DUI 0174C

Page 17: pudn.comread.pudn.com/downloads102/ebook/419574/arm...ii 版权所有 © 2002, 2003 ARM Limited 保留所有权利 ARM DUI 0174C RealView Debugger k 1 版权所有 © 2002, 2003 ARM

RealView Debugger 扩展简介

1.3

支持 RealView Debugger 许可扩展功能的平台与支持 RealView Debugger 本身的平台相同 有关支持的平台的列表 请参阅安装说明

使用 RealView Debugger 扩展功能并没有其它软件要求 但 RTOS 扩展例外有关 RTOS 软件的信息 请参阅第 1-3 页第三章 RTOS 支持

ARM DUI 0174C 版权所有 © 2002, 2003 ARM Limited 保留所有权利 1-5

Page 18: pudn.comread.pudn.com/downloads102/ebook/419574/arm...ii 版权所有 © 2002, 2003 ARM Limited 保留所有权利 ARM DUI 0174C RealView Debugger k 1 版权所有 © 2002, 2003 ARM

RealView Debugger 扩展简介

1.4

RealView Debugger 扩展支持的硬件目标的类型视您使用的许可扩展而定

• 跟踪硬件

• RTOS 支持的硬件

• DSP 支持的硬件

1.4.1

对 RealView Debugger 的跟踪扩展要求您使用由 ETM 启用的 ARM 处理器或其它任何受支持并具有片上缓冲器功能的处理器 以便您可以查看跟踪缓冲器的内容 有关跟踪扩展支持的处理器详情 请参阅第 2-3 页系统要求

此外 跟踪扩展支持使用多个跟踪硬件配置 有关这些配置的详情 请参阅附录 A 设置跟踪硬件

1.4.2 RTOS

使用 RealView Debugger 的 RTOS 支持扩展功能对 RTOS 进行调试时 您可以使用 RealView Debugger 和 RTOS 支持软件包同时支持的任何处理器目标

1.4.3 DSP

RealView Debugger 的 DSP 支持扩展设计为仅与以下 DSP Group 处理器配合使用

• Oak

• TeakLite

1-6 版权所有 © 2002, 2003 ARM Limited 保留所有权利 ARM DUI 0174C

Page 19: pudn.comread.pudn.com/downloads102/ebook/419574/arm...ii 版权所有 © 2002, 2003 ARM Limited 保留所有权利 ARM DUI 0174C RealView Debugger k 1 版权所有 © 2002, 2003 ARM

第 2 章 RealView Debugger

本章介绍了如何使用 RealView Debugger 生成跟踪数据 以及如何使用 Analysis 窗口分析跟踪输出内容 它包含以下部分

• 第 2-2 页关于使用 RealView Debugger 跟踪

• 第 2-7 页使用入门

• 第 2-10 页配置 ETM

• 第 2-15 页配置跟踪捕获

• 第 2-33 页使用 Analysis 窗口

• 第 2-74 页在 RealView Debugger 中使用跟踪的示例

ARM DUI 0174C 版权所有 © 2002, 2003 ARM Limited 保留所有权利 2-1

Page 20: pudn.comread.pudn.com/downloads102/ebook/419574/arm...ii 版权所有 © 2002, 2003 ARM Limited 保留所有权利 ARM DUI 0174C RealView Debugger k 1 版权所有 © 2002, 2003 ARM

使用 RealView Debugger 跟踪

2.1 RealView Debugger

本部分介绍了使用 RealView Debugger 执行跟踪的系统要求 以及各种方法的优点和局限性 它包括以下部分

• 概述

• 第 2-3 页系统要求

• 第 2-4 页可用资源

2.1.1

RealView Debugger 使您能够对您的程序执行跟踪 您可以实时查看指令和数据访问非侵入型跟踪的历史记录 如果您尝试识别程序代码中的缺陷 这一点非常有用 程序以全时钟速度运行时 如果由于应用程序软件和硬件之间的交互作用而导致出现问题 一般都会执行跟踪 这些故障可能是间歇性的 很难通过传统的调试方法来识别 因为这些方法需要启动和停止处理器

RealView Debugger 允许您设置一些条件 以便在程序运行期间生成跟踪信息例如 您可以

• 启动和停止对跟踪点的跟踪

• 将跟踪点定义为一个地址范围 并在此范围内对指令和/或数据进行跟踪

• 定义触发 触发是一种事件 可以指示调试器在不停止处理器的情况下停止收集跟踪数据并显示触发位置周围的跟踪信息 实际显示的信息取决于触发在缓冲器内所处的位置

跟踪点可以是

这些包括单个触发点 跟踪起点和终点以及指令和数据访问的跟踪范围 有关详情 请参阅第 2-16 页设置简单跟踪点

这些包括 AND 或 OR 条件 执行次数条件和复杂比较 有关详情 请参阅第 2-21 页设置复杂跟踪点

您可以在 Code 窗口中设置跟踪点 然后使用 Analysis 窗口查看和分析捕获结果 Analysis 窗口使您可以访问大部分的跟踪功能 并且允许您使用六种选项卡视图类型中的任意一种来查看捕获的跟踪信息 包括 Profile 选项卡 显示对跟踪信息的统计分析

RealView Debugger 跟踪支持是一个独立许可的组件 您必须从 ARM 经销商处获得许可证

2-2 版权所有 © 2002, 2003 ARM Limited 保留所有权利 ARM DUI 0174C

Page 21: pudn.comread.pudn.com/downloads102/ebook/419574/arm...ii 版权所有 © 2002, 2003 ARM Limited 保留所有权利 ARM DUI 0174C RealView Debugger k 1 版权所有 © 2002, 2003 ARM

使用 RealView Debugger 跟踪

2.1.2

RealView Debugger 支持使用跟踪硬件或硬件模拟器进行跟踪 本部分介绍了两种跟踪类型的系统要求 它包含以下部分

• 跟踪硬件

• 第 2-4 页模拟器

要使用跟踪硬件来捕获跟踪信息 必须具备以下组件

• 跟踪解决方案 这可以为

— 启用 ETM 的处理器和跟踪捕获硬件设备 请参阅 ETM 跟踪解决方案

— 片上跟踪缓冲器解决方案 请参阅第 2-4 页片上跟踪缓冲器解决方案

• 联合测试操作组 (JTAG) 接口单元 可使用以下之一

— ARM Multi-ICE 2.0 版或更高版本

— Agilent 仿真模块

— Agilent 仿真探测器

有关连接硬件的详情 请参阅附录 A 设置跟踪硬件

有关这些硬件组件如何与 RealView Debugger 配合操作以允许您执行跟踪的说明 请参阅第 2-7 页使用入门

ETM

如果您使用的是 ETM 跟踪解决方案 则必须具备以下组件

• 启用了 ETM 的 ARM 处理器

• 跟踪捕获硬件设备 可以为以下之一

— ARM MultiTrace 单元

— Agilent 16600 或 16700 逻辑分析仪

— Agilent 跟踪端口分析仪

— Tektronix TLA 600 或 TLA 700 逻辑分析仪

ARM DUI 0174C 版权所有 © 2002, 2003 ARM Limited 保留所有权利 2-3

Page 22: pudn.comread.pudn.com/downloads102/ebook/419574/arm...ii 版权所有 © 2002, 2003 ARM Limited 保留所有权利 ARM DUI 0174C RealView Debugger k 1 版权所有 © 2002, 2003 ARM

使用 RealView Debugger 跟踪

RealView Debugger 跟踪支持以下片上跟踪缓冲器解决方案

• ARM On-Chip Trace (ETM9)

• DSP-Group Oak

• DSP-Group TeakLite

• Motorola 56600

• Intel XScale

如果您没有跟踪硬件 则可以使用以下硬件模拟器

• ARMulator

• AXYS OakDSPCore MaxCore 模拟器

2.1.3

本部分介绍了适用于每种跟踪方法的资源 它包含以下部分

• 附带 ARM 处理器 已启用 ETM 的跟踪硬件

• 第 2-5 页不带 ARM 处理器的跟踪硬件

• 第 2-6 页 ARMulator

• 第 2-6 页 OakDSPCore MaxCore 模拟器

有关设置信息 请参阅附录 A 设置跟踪硬件 和附录 B 设置跟踪软件

ARM ETM

与跟踪捕获相关的 ETM 资源 例如数据比较器 由 ETM 预先确定 并随配置的不同而有所不同 资源的数量和大小取决于您所使用的 ETM 大小 这些因素决定了您在 RealView Debugger 中设置跟踪点时可以使用哪些跟踪捕获资源

资源的数量和片上先入先出 (FIFO) 缓冲器的大小由专用集成电路 (ASIC) 设计者设置 采用三种标准配置 每种都针对硅面积 引脚数和调试功能复杂性具有不同的折衷方案 这三种配置分别称为 小型 中型 和 大型 如表 2-1 中所述

2-4 版权所有 © 2002, 2003 ARM Limited 保留所有权利 ARM DUI 0174C

Page 23: pudn.comread.pudn.com/downloads102/ebook/419574/arm...ii 版权所有 © 2002, 2003 ARM Limited 保留所有权利 ARM DUI 0174C RealView Debugger k 1 版权所有 © 2002, 2003 ARM

使用 RealView Debugger 跟踪

处理器制造商将 ETM 数据端口的宽度设定为以下大小之一

4 4 位 ETM 数据端口在被跟踪的设备上使用 9 个输出信号

8 8 位 ETM 数据端口在被跟踪的设备上使用 13 个输出信号

16 16 位 ETM 数据端口在被跟踪的设备上使用 21 个输出信号

要设置 ETM 还需要五个标准的 JTAG 接口引脚

RealView Debugger 查询您的设备 并且仅提供对已实施资源的访问权

RealView Debugger 不会检测 ETM 的所有可选部件 例如 FIFOFULL 是否均已连接在包含 ETM 的设备中 要确定这一点 请参阅设备附带的说明文档

ARM

如果您使用的是非 ARM 处理器 则只能执行基本的指令跟踪 您可以设置触发点以及启动和停止跟踪点 有关详情 请参阅第 2-16 页设置简单跟踪点但是不能设置跟踪范围或复杂跟踪点

2-1 ETM

成对地址比较器 1 4 8

数据比较器 0 2 8

存储器映射解码器 4 8 16

计数器 1 2 4

状态机存在 否 是 是

外部输入 2 4 4

外部输出 0 1 4

FIFOFULL 存在 是 是 是

FIFO 深度 字节数 9 (ETM7)

10 (ETM9)

18 (ETM7)

20 (ETM9)

45

跟踪信息包宽度 4/8 4/8/16 4/8/16

ARM DUI 0174C 版权所有 © 2002, 2003 ARM Limited 保留所有权利 2-5

Page 24: pudn.comread.pudn.com/downloads102/ebook/419574/arm...ii 版权所有 © 2002, 2003 ARM Limited 保留所有权利 ARM DUI 0174C RealView Debugger k 1 版权所有 © 2002, 2003 ARM

使用 RealView Debugger 跟踪

ARMulator

跟踪的可用资源取决于您要模拟的处理器变体

ETM ARM

跟踪的可用 ETM 资源随您选择的 ETM 处理器变体而有所不同有关各种 ETM 配置类型的可用资源详细信息 请参阅第 2-5 页表 2-1

要连接至 ARMulator 中已启用 ETM 的处理器 您必须使用 Connection Control 窗口中的 ARM-A-RR (RDI) 连接选项进行连接 有关在此窗口中连接至目标的详情 请参阅 RealView Debugger v1.6 Target Configuration Guide 中的 与目标连接 一章

如果您使用 ARM-A-RR 连接选项连接至 ARMulator 并且选择未启用 ETM 的处理器变体 则不能使用任何跟踪功能

ETM ARM

在此情况下 没有适用的 ETM 资源 只提供基本的指令跟踪支持 您只能设置触发点以及启动和停止跟踪点 有关详情 请参阅第 2-16 页设置简单跟踪点

要访问这些有限的跟踪功能 您必须使用 Connection Control 窗口中的 Connection Broker 选项 而不是 ARM-A-RR 连接选项 进行连接 有关在此窗口中连接至目标的详情 请参阅 RealView Debugger v1.6 Target Configuration Guide 中的 与目标连接 一章

ARMulator 不支持非 ARM 处理器

OakDSPCore MaxCore

只提供基本的指令跟踪支持 也就是说 您只能设置触发点以及启动和停止跟踪点 有关详情 请参阅第 2-16 页设置简单跟踪点

要访问这些有限的跟踪功能 您必须使用 Connection Control 窗口中的 Connection Broker 选项 而不是 ARM-A-RR 连接选项 进行连接 有关在此窗口中连接至目标的详情 请参阅 RealView Debugger v1.6 Target Configuration Guide 中的 与目标连接 一章

2-6 版权所有 © 2002, 2003 ARM Limited 保留所有权利 ARM DUI 0174C

Page 25: pudn.comread.pudn.com/downloads102/ebook/419574/arm...ii 版权所有 © 2002, 2003 ARM Limited 保留所有权利 ARM DUI 0174C RealView Debugger k 1 版权所有 © 2002, 2003 ARM

使用 RealView Debugger 跟踪

2.2

本部分概述了跟踪硬件组件如何协调操作以允许您使用 RealView Debugger 进行跟踪 并介绍了在配置系统后对程序进行跟踪的基本步骤 它包含以下部分

• 使用示例

• 跟踪硬件安装概述

• 第 2-9 页 RealView Debugger 跟踪过程

2.2.1

有关 RealView Debugger 跟踪和配置报告功能的简介 请参阅第 2-74 页在 RealView Debugger 中使用跟踪的示例 这些示例不需要具有 RealView Debugger 的任何使用经验 它们充分说明了使用跟踪功能来解决典型开发问题的好处建议您先执行这些示例 然后再对自己的程序进行跟踪

您必须满足以下条件 才能将跟踪功能扩展用于 RealView Debugger

1. 按照 ARM FLEXlm License Management Guide v2.0 中的说明获得许可证

2. 确保具有执行跟踪所需的系统组件 请参阅第 2-3 页系统要求

3. 确保已将 RealView Debugger 正确地连接至目标

• 如果您使用的是模拟器而不是跟踪硬件 请确保已正确地配置了连接 有关详情 请参阅附录 B 设置跟踪软件

• 如果您使用的是跟踪硬件 则必须先确保组件已正确地连接并配置有关如何安装和配置跟踪硬件的详情 请参阅附录 A 设置跟踪硬件 您还必须确保连接并配置选定的目标

2.2.2

第 2-8 页图 2-1 是一个示例 介绍了可以如何将 RealView Debugger 与 ARM 硬件配合使用以启用跟踪功能

如果您使用的是非 ARM 处理器 请参阅处理器说明文档 了解如何将它与其它跟踪硬件集成的有关详情

ARM DUI 0174C 版权所有 © 2002, 2003 ARM Limited 保留所有权利 2-7

Page 26: pudn.comread.pudn.com/downloads102/ebook/419574/arm...ii 版权所有 © 2002, 2003 ARM Limited 保留所有权利 ARM DUI 0174C RealView Debugger k 1 版权所有 © 2002, 2003 ARM

使用 RealView Debugger 跟踪

2-1

提供指令和数据访问实时跟踪功能的硬件要素包括

ASIC

它可以是以下各项之一

ETM ARM CPU 2-1 ARM 的这一系列 CPU 中包含 EmbeddedICE 逻辑 并且已启用 ETM ETM 可以监控 ARM 内核总线 并将压缩信息通过跟踪端口传送至跟踪捕获硬件 片上 ETM 包含一些在设计 ASIC 时选定的资源 用于检测处理器执行的一系列事件 这些资源包含在 RealView Debugger 中使用的触发和过滤逻辑 有关 RealView Debugger 支持的 ARM 处理器 已启用 ETM 的详情 请参阅第 2-3 页系统要求

ARM DSP 此 ASIC 使用一个片上跟踪缓冲器来存储跟踪信息 处理器将控制流程变化存储在片上跟踪缓冲器中 然后从此处外推跟踪数据 有关此处理器如何与其它跟踪硬件要素相互作用的详情 请参阅处理器附带的说明文档

XScale 这是一种基于 Intel® XScale™ 微体系结构内核的处理器内核 XScale 内核只能跟踪指令 不能跟踪数据

这是一种外部设备 用于存储来自跟踪端口的信息 有关 RealView Debugger 支持的跟踪捕获硬件设备的详情 请参阅第 2-3 页系统要求

����

��������� �����

� ��������� ��� ��� �

�������� ����

���� �����

� ������ ���

��� �����

� ����� �

����!���"� �##�

������ �

2-8 版权所有 © 2002, 2003 ARM Limited 保留所有权利 ARM DUI 0174C

Page 27: pudn.comread.pudn.com/downloads102/ebook/419574/arm...ii 版权所有 © 2002, 2003 ARM Limited 保留所有权利 ARM DUI 0174C RealView Debugger k 1 版权所有 © 2002, 2003 ARM

使用 RealView Debugger 跟踪

JTAG

此组件是一种协议转换器 可以将来自 RealView Debugger 的低级别命令转换为适用于 EmbeddedICE 逻辑和 ETM 的 JTAG 信号 有关 RealView Debugger 支持的 JTAG 设备的详情 请参阅第 2-3 页系统要求

2.2.3 RealView Debugger

建议您先熟悉一下跟踪过程 然后再尝试使用 RealView Debugger 对自己的程序执行跟踪捕获 此外 还建议您参阅第 2-74 页在 RealView Debugger 中使用跟踪的示例 以了解如何在典型开发环境中使用跟踪功能 对程序进行跟踪的完整过程如下所述

1. 确保您的硬件及软件已正确连接并配置 请参阅附录 A 设置跟踪硬件和附录 B 设置跟踪软件

2. 启动 RealView Debugger 并连接至支持跟踪功能的目标 有关支持的目标列表 请参阅第 2-3 页系统要求

3. 将要分析的映像加载到 RealView Debugger 中 有关加载映像的详情 请参阅 RealView Debugger v1.6 User Guide 中的 使用映像 一章

4. 使用以下一种或两种方法 更改常规跟踪配置选项

a. 对于已启用 ETM 的目标 请使用 Configure ETM 对话框 有关完成此对话框的完整详情 请参阅第 2-10 页配置 ETM

b. 对于未启用 ETM 的目标 不能使用 Configure ETM 对话框 您必须使用 Analysis 窗口的 Edit 菜单中的选项 有关详情 请参阅第 2-34 页配置跟踪选项

5. 在源文件中确定要执行跟踪的区域 然后相应设置跟踪点 请参阅第 2-15 页配置跟踪捕获

6. 执行程序 跟踪捕获结果将返回到 Analysis 窗口 您可以在此窗口中对结果进行分析 有关使用此窗口的详情 请参阅第 2-33 页使用 Analysis 窗口

跟踪资源以及 Analysis 窗口内选项的可用性取决于您的系统配置 有关各种配置可使用哪些资源的说明 请参阅第 2-4 页可用资源

本章介绍了如何使用 RealView Debugger GUI 执行与跟踪相关的操作 但是 使用 RealView Debugger 的命令行接口 (CLI) 也可以执行许多同样的操作 有关详情 请参阅 RealView Debugger v1.6 Command Line Reference Guide

ARM DUI 0174C 版权所有 © 2002, 2003 ARM Limited 保留所有权利 2-9

Page 28: pudn.comread.pudn.com/downloads102/ebook/419574/arm...ii 版权所有 © 2002, 2003 ARM Limited 保留所有权利 ARM DUI 0174C RealView Debugger k 1 版权所有 © 2002, 2003 ARM

使用 RealView Debugger 跟踪

2.3 ETM

使用 Configure ETM 对话框来配置 ETM 行为 在此对话框中配置的选项将应用于您执行的任何跟踪 与设置的跟踪捕获标准和执行的跟踪捕获次数无关 请参阅第 2-15 页配置跟踪捕获

要访问 Configure ETM 对话框 请选择以下一项

• Analysis 窗口中的 Edit → Configure Analyzer Properties...

• Code 窗口中的 Tools → Analyzer/Trace Control → Configure Analyzer Properties...

此对话框仅在使用已启用 ETM 的处理器变体 附带跟踪硬件或由 ARMulator 模拟 时才显示

Configure ETM 对话框如图 2-2 中所示

2-2 Configure ETM

制造商可以在硬件中启用或禁用由 ETM 提供的许多工具 RealView Debugger 使用的某些功能取决于您正在使用的跟踪捕获硬件是否支持 RealView Debugger 提供了各种机制 可以确定 ETM 和跟踪捕获硬件实际采用了哪些工具

2-10 版权所有 © 2002, 2003 ARM Limited 保留所有权利 ARM DUI 0174C

Page 29: pudn.comread.pudn.com/downloads102/ebook/419574/arm...ii 版权所有 © 2002, 2003 ARM Limited 保留所有权利 ARM DUI 0174C RealView Debugger k 1 版权所有 © 2002, 2003 ARM

使用 RealView Debugger 跟踪

RealView Debugger 将启用或禁用 ETM 配置选项 取决于您的目标上是否可以使用这些选项 对于由于特定目标限制而已固定的值 例如缓冲器大小 则会在 Configure ETM 对话框中显示该值 但修改此值的选项已被禁用 即便如此 仍然可能会有一些工具检测不到 还会有一些可选功能无法自动检测 例如 如果已存在 FIFOFULL 逻辑但未连接至处理器 ETM 会报告 FIFOFULL 逻辑存在 但是 FIFOFULL 逻辑并没有运行

本部分介绍了 Configure ETM 对话框中提供的选项 如第 2-10 页图 2-2 中所示配置 ETM 后单击 OK 保存配置 或者单击 Cancel 放弃任何更改

Configure ETM 对话框中的选项包括

Trace data width

缺省情况下 选定的单选按钮表示当前选定的数据端口宽度 您可以使用此选项更改用于广播跟踪信息的跟踪端口引脚数 这非常有用 例如跟踪端口引脚与通用输入/ 输出 (GPIO) 引脚复用 并且被配置为用作 GPIO 功能时 只有跟踪捕获硬件和目标设备支持的宽度才启用以供选择

Trace port mode

此控件用于指定跟踪端口的操作方式 它设置为以下值之一

Normal 正常模式 来自 ETM 的跟踪数据以处理器频率写入输出引脚

Multiplexed 使用此选项 可以减少跟踪端口所用的输出引脚数 通过以正常速率的两倍进行信号计时可在同一引脚上输出两个输出信号

De-Multiplexed 使用此选项可降低跟踪端口信号的信号切换频率 在两个引脚上输出一个输出信号 因此引脚以正常速率的一半计时

• 如果使用配备 ETM Architecture 1.1 版或更低版本的 ETM 硬件 则只能执行 Normal 模式操作

• 如果您使用多路处理或多路分解时钟 则可能需要更改跟踪捕获硬件的配置

Half-rate clocking enabled

如果要设置 ETM 半速计时信号 请选择此选项 此信号的效果取决于 ASIC 的实施 有关半速计时的详情 请参阅 ARM Embedded Trace Macrocell Specification 中的 ETM control register 部分

ARM DUI 0174C 版权所有 © 2002, 2003 ARM Limited 保留所有权利 2-11

Page 30: pudn.comread.pudn.com/downloads102/ebook/419574/arm...ii 版权所有 © 2002, 2003 ARM Limited 保留所有权利 ARM DUI 0174C RealView Debugger k 1 版权所有 © 2002, 2003 ARM

使用 RealView Debugger 跟踪

• 如果您使用的是配备 ETM v1.0 的 ETM 硬件 则不能使用此选项 配备 ETM v1.1 的硬件可能也支持此选项 但是 RealView Debugger 无法检测到这一点

• 如果您启用半速计时 可能需要更改跟踪捕获硬件的配置

• 并非所有跟踪捕获硬件均支持此功能 请参阅硬件附带的说明文档 查看是否可以使用此功能

Disable traceport

如果您要禁止跟踪端口输出 请选择此选项 如果硬件有两个或更多 ETM 共享一个信号跟踪端口 此选项将非常有用

Data tracing mode

此控件用于指定 ETM 为数据传送指令跟踪的信息类型 它设置为以下值之一

Trace data only 如果需要的是所传送值的相关信息而不是数据传送地址 请使用此选项

Trace address only 如果需要的是数据传送地址而不是所传送值的相关信息 请使用此选项

Trace data and address

如果同时需要数据传送地址和所传送值的相关信息 请使用此选项

此选项不启用跟踪 它允许您选择启用跟踪时将捕获的信息 有关如何启用跟踪的信息 请参阅第 2-34 页配置跟踪选项

Trace buffer size

此值表示由跟踪捕获硬件存储的跟踪周期 大数量 通常可以将此值设置为跟踪捕获硬件能够支持的 大值 但是减小此值可以加快跟踪解压的速度 缺省情况下 此字段会显示当前配置的跟踪捕获硬件的缓冲器大小

如果已禁用精确周期跟踪 跟踪捕获硬件通常会在一个和两个处理器周期之间捕获 从而捕获每一条指令 如果已启用精确周期跟踪 则会捕获已为其启用跟踪的每个周期

2-12 版权所有 © 2002, 2003 ARM Limited 保留所有权利 ARM DUI 0174C

Page 31: pudn.comread.pudn.com/downloads102/ebook/419574/arm...ii 版权所有 © 2002, 2003 ARM Limited 保留所有权利 ARM DUI 0174C RealView Debugger k 1 版权所有 © 2002, 2003 ARM

使用 RealView Debugger 跟踪

某些逻辑分析仪解决方案可能不支持可变的缓冲器大小 它们通常都存储 大的周期数 相反 某些逻辑分析仪解决方案可能仅支持部分设置的缓冲器大小 它们将选择 接近要求的缓冲器大小 有关详情 请参阅分析仪附带的说明文档

Memory map decode

这是与执行相关的值 随 ASIC 中的存储器映射解码逻辑的不同而有所不同 此值会写入控制寄存器 专用于配置存储器映射解码硬件 有关详情 请参阅 ASIC 说明文档

Processor stalling

ETM 包含一个 FIFO 缓冲器 其中保存了通过跟踪端口传输的跟踪数据 如果此 FIFO 缓冲器已满 则除非您已编程 ETM 以停止暂时停止 处理器 否则跟踪信息会丢失

ASIC 可以包含一种功能 以便停止处理器直至 FIFO 缓冲器清空要启用此功能 请选择 Stall processor to prevent overflow FIFO 缓冲器内的剩余字节数减少到在 FIFO highwater 中设置的数量后 处理器将尽快停止 而在 FIFO 缓冲器清空后它会重新启动

并非所有的 ASIC 都支持此功能 请参阅 ASIC 附带的说明文档找出是否已执行了 FIFOFULL

Enable Timestamping

选择此选项 启用了跟踪捕获硬件中的时间标记记录逻辑 时间标记显示在 Analysis 窗口的 Time/cycl 和 +Time 列中 请参阅第 2-41 页列类型 通过使用 View 菜单中的 Scale Time Units... 选项 您可以更改时间标记的显示格式 请参阅第 2-56 页过滤捕获的信息 例如 分析时间标记值允许您查看处理器执行期间何时出现了暂停 以及代码某个特殊部分的连续调用之间需要多长时间

但是 传送时间标记需要额外占用跟踪捕获硬件与主机连接的不少带宽 因此只有在必要时才能启用此功能

如果没有选择此选项 则在使用 Analysis 窗口中的 Profile 视图时将不会返回时间信息 在此情况下 Exec% 列将仅包含值 0 而不显示直方图信息

并非所有类型的跟踪捕获硬件均支持此功能 有关详情 请参阅硬件附带的说明文档

ARM DUI 0174C 版权所有 © 2002, 2003 ARM Limited 保留所有权利 2-13

Page 32: pudn.comread.pudn.com/downloads102/ebook/419574/arm...ii 版权所有 © 2002, 2003 ARM Limited 保留所有权利 ARM DUI 0174C RealView Debugger k 1 版权所有 © 2002, 2003 ARM

使用 RealView Debugger 跟踪

Cycle accurate tracing

此选项用于确定 ETM 是否在精确周期模式下操作 可用的模式包括

Cycle-accurate mode

在此模式下 ETM 会记录启用跟踪时执行的周期数Analysis 窗口的 Elem 列显示了在其中执行每条指令的周期的周期数 计数不包括中断跟踪期间执行的周期 您必须使用显示时间标记值的 Time/cycl 列来测量跟踪输出中的断开时间

只有在已启用时间标记时 请参阅本部分中的 Enable Timestamps 选项 时间标记值才会显示

Non cycle-accurate mode

在此模式下 ETM 不会记录周期数 Analysis 窗口中的 Elem 列显示了与触发点 如果已设置触发点 相关的行号

由于已捕获所有等待周期 因此精确周期跟踪填入捕获缓冲器的速度比非精确周期跟踪更快

Trace Coprocessor

如果需要跟踪与 Move Coprocessor from ARM Register (MCR) 和 Move ARM Register from Coprocessor (MRC) 指令相关的数据 请选择此选项

Suppress data on FIFO full

如果选择此选项 将禁止在发生 FIFO 溢出后通过跟踪端口输出某些版本的 ETM 会紧跟 FIFO 溢出生成不正确的跟踪数据 这种情况仅在附带低速存储器系统的高速缓存处理器上才会发生 也可能在高速缓存丢失与 ETM 上的 FIFO 溢出同时发生时发生 如果选择此选项 解压器将禁止 ETM 错误跟踪的数据 但是 某些正确跟踪的数据也可能会被禁止

如果 ETM 在这些环境下没有生成不正确的跟踪数据 则此选项为禁用

配置 ETM 后单击 OK 保存配置 或者单击 Cancel 放弃任何更改

2-14 版权所有 © 2002, 2003 ARM Limited 保留所有权利 ARM DUI 0174C

Page 33: pudn.comread.pudn.com/downloads102/ebook/419574/arm...ii 版权所有 © 2002, 2003 ARM Limited 保留所有权利 ARM DUI 0174C RealView Debugger k 1 版权所有 © 2002, 2003 ARM

使用 RealView Debugger 跟踪

2.4

本部分介绍了如何在 Code 窗口中设置简单和复杂跟踪点 以及如何在配置跟踪捕获条件后开始跟踪 它包含以下部分

• 关于设置跟踪点

• 第 2-16 页设置简单跟踪点

• 第 2-21 页设置复杂跟踪点

• 第 2-31 页编辑跟踪点

• 第 2-32 页开始跟踪捕获

2.4.1

RealView Debugger 允许您设置各种跟踪点 以便控制所跟踪程序信息的数量和内容 可以在以下任一项上设置跟踪点

• 一行源代码或一个源代码范围

• 一行汇编代码或一个汇编代码范围

• 一个存储器地址或一个存储器地址范围

配置跟踪捕获的详细内容并执行程序后 捕获的信息将返回至 Analysis 窗口您可以在此处缩小捕获结果的范围 从而进行进一步的过滤 请参阅第 2-56 页过滤捕获的信息

要设置简单或复杂跟踪点 必须

1. 确保您已正确地连接至目标 并已将映像加载至 RealView Debugger 中

2. 在程序中确定要收集跟踪信息的区域 根据您要跟踪的信息类型 您必须在 RealView Debugger 的以下 Code 窗口视图中密切注意您的程序

File Editor Src 使跟踪捕获标准以源视图中的程序指令为依据

File Editor Dsm 使跟踪捕获标准以反汇编视图中的程序指令为依据

Memory 使跟踪捕获标准以存储器地址范围为依据

3. 根据您要为捕获指定的标准复杂程度 选择以下可用跟踪捕获设置类型

Simple tracepoints

用于为存储器和数据访问设置触发点 跟踪起点和终点或跟踪范围 有关详情 请参阅设置简单跟踪点

ARM DUI 0174C 版权所有 © 2002, 2003 ARM Limited 保留所有权利 2-15

Page 34: pudn.comread.pudn.com/downloads102/ebook/419574/arm...ii 版权所有 © 2002, 2003 ARM Limited 保留所有权利 ARM DUI 0174C RealView Debugger k 1 版权所有 © 2002, 2003 ARM

使用 RealView Debugger 跟踪

Complex tracepoints

用于设置 AND 或 OR 条件 计数器条件和复杂比较 这些条件可以包括任何可支持的触发点和范围组合 有关详情 请参阅第 2-21 页设置复杂跟踪点

4. 在 RealView Debugger 的 Code 窗口中选择 View → Pane Views → Break/Tracepoints Pane 以显示 Break/Tracepoints 窗格 此窗格允许您查看 编辑和跟踪跟踪点 有关此窗格的详情 请参阅 RealView Debugger v1.6 User Guide 中的 使用断点 一章

5. 执行程序 根据您设置的详细信息开始跟踪捕获 如第 2-32 页开始跟踪捕获 中所述 有关详情 请参阅 RealView Debugger v1.6 User Guide 中关于 控制执行的部分

跟踪点选项的可用性取决于您的可用资源 如果 FIFO 配置为小 或者您已使用一些资源 则此部分中介绍的选项可能并不全都向您提供

2.4.2

有两个选项可用于设置简单跟踪点

• 如果您要指定某个在其中捕获跟踪信息的范围 则可以使用 Set Trace Range 选项 请参阅使用 Set Trace Range 设置简单跟踪点

• 您还可使用设置的触发以及跟踪起点和终点 要执行此操作 请使用 Set/Toggle Trace Point 选项 请参阅第 2-17 页使用 Set/Toggle Trace Point 设置简单跟踪点

Set Trace Range

要使用 Set Trace Range 设置简单跟踪点

1. 在 File Editor 窗格中突出显示程序内的一系列行 然后右击源文件左侧的灰色栏 此时将显示上下文菜单

2. 从上下文菜单中选择 Set Trace Range

RealView Debugger 将确保只捕获已选定程序指令范围内的跟踪信息 此范围以外的任何存储器分支和数据值均不会捕获 在 Analysis 窗口中 这些分支以 Trace Pause 状态行表示 请参阅第 2-45 页状态行 要确保跟踪捕获可访问带有分支的任何数据和存储器 您必须使用以下部分中介绍的 Trace Start Point 和 Trace End Point 选项

2-16 版权所有 © 2002, 2003 ARM Limited 保留所有权利 ARM DUI 0174C

Page 35: pudn.comread.pudn.com/downloads102/ebook/419574/arm...ii 版权所有 © 2002, 2003 ARM Limited 保留所有权利 ARM DUI 0174C RealView Debugger k 1 版权所有 © 2002, 2003 ARM

使用 RealView Debugger 跟踪

此选项不适用于非 ETM 目标

Set/Toggle Trace Point

Set/Toggle Trace Point List Selection 对话框允许您设置跟踪范围 跟踪起点和终点以及触发 您可以单独使用它们或相互结合使用 从而确保准确捕获所需区域的跟踪信息

设置触发 指出程序中的所需区域 要跟踪的实际信息取决于您是指定在触发前 触发后还是触发周围收集数据 请参阅第 2-34 页配置跟踪选项 中的 Collect data... 选项

设置跟踪范围 指出要捕获跟踪信息的区域 仅捕获指定区域的信息 不适用于分支的任何区域 在 Analysis 窗口中 这些分支以 Trace Pause 状态行表示 请参阅第 2-45 页状态行 您可以设置以下类型的范围

• 仅限于指令

• 指令和数据

您也可设置排除的跟踪范围 指出不捕获的跟踪信息区域 您可以设置以下类型的排除范围

• 指令和数据 不能与包含范围结合使用

• 仅限于数据 可与包含范围结合使用

如果您不设置范围的终点 则会使用缺省值 0xFFFFFFFF

设置跟踪起点和终点 指出要捕获跟踪信息的区域 跟踪信息从指定的起点开始返回 直至指定的终点 包括分支的任何区域如果您未设置跟踪终点 则从起点返回的跟踪信息会继续向前

ETM v1.1 或更低版本本身并不支持跟踪起点和终点 对于这些 ETM RealView Debugger 使用 ETM 状态机 如果可用 支持以下起点和终点限定数量的任何一个

• 多四个起点和 多两个终点

• 多两个起点和 多四个终点

RealView Debugger 使用的限制选项取决于您要设置的跟踪点类型 例如 如果您使用 ETM v1.1 或更低版本 并且设置了三个跟踪起点 则假定为上面的第一个选项 也就是说 您 多可设置四个起点 但只能设置两个终点

ARM DUI 0174C 版权所有 © 2002, 2003 ARM Limited 保留所有权利 2-17

Page 36: pudn.comread.pudn.com/downloads102/ebook/419574/arm...ii 版权所有 © 2002, 2003 ARM Limited 保留所有权利 ARM DUI 0174C RealView Debugger k 1 版权所有 © 2002, 2003 ARM

使用 RealView Debugger 跟踪

设置跟踪点 例如触发 时 List Selection 对话框中的相应 Clear 选项将变得可用 您可以选择 Clear 选项以删除设置的跟踪点 而代码左侧空白处的箭头图标也会被删除 Clear Range 选项用于删除您所设置范围的起点和终点

单独一行上可以设置多个跟踪点 因此如果您清除一个跟踪点而相同位置还存在另一个跟踪点 表示跟踪点的箭头图标将仍然存在

要使用 Set/Toggle Trace Point List Selection 对话框设置简单跟踪点

1. 将光标放在程序内要跟踪的行上 或者突出显示一系列行 然后右击源文件左侧的灰色栏 此时将显示上下文菜单

2. 从上下文菜单中选择 Set/Toggle Trace Point... 此操作将显示 List Selection 对话框 如第 2-18 页图 2-3 所示 在此对话框中 您可以选择各种选项以设置触发 跟踪点或跟踪范围

2-3 List Selection

此对话框中显示的选项取决于可用的资源 在某些情况下 您必须清除现有的跟踪点或范围 以便将资源释放用于新的跟踪点或范围

3. 从列表中选择所需的选项 选项包括

Set Trigger

在 File Editor 窗格或 Memory 窗格中的选定地址上设置明确触发点 选择 Set Trigger 时 左侧空白处靠近选定代码行的位置将出现一个箭头

Trace Start Point

在 File Editor 窗格或 Memory 窗格中的选定地址上设置跟踪起点 选择 Trace Start Point 时 左侧空白处靠近选定代码行的位置将出现在一个箭头

2-18 版权所有 © 2002, 2003 ARM Limited 保留所有权利 ARM DUI 0174C

Page 37: pudn.comread.pudn.com/downloads102/ebook/419574/arm...ii 版权所有 © 2002, 2003 ARM Limited 保留所有权利 ARM DUI 0174C RealView Debugger k 1 版权所有 © 2002, 2003 ARM

使用 RealView Debugger 跟踪

如果您在设置 Trace Start Point 时未设置 Trace End Point则会从起点开始返回所有包括的跟踪信息 并且返回的跟踪信息量取决于当前设置的缓冲器大小 请参阅第 2-34 页配置跟踪选项

此选项不可用于通过 Simulator Broker 进行连接

Trace Start Point (Instruction Only)

在 File Editor 窗格或 Memory 窗格中的选定地址上设置跟踪起点 跟踪从起点开始 且仅跟踪指令 选择 Trace Start Point (Instruction Only) 时 左侧空白处靠近选定代码行的位置将出现一个箭头

如果您在设置 Trace Start Point 时未设置 Trace End Point则会从起点开始返回所有包括的跟踪信息 并且返回的跟踪信息量取决于当前设置的缓冲器大小 请参阅第 2-34 页配置跟踪选项

此选项仅可用于通过 Simulator Broker 进行连接

Trace Start Point (Instruction and Data)

在 File Editor 窗格或 Memory 窗格中的选定地址上设置跟踪起点 跟踪从起点开始 跟踪指令和数据 选择 Trace Start Point (Instruction Only) 时 左侧空白处靠近选定代码行的位置将出现一个箭头

如果您在设置 Trace Start Point 时未设置 Trace End Point则会从起点开始返回所有包括的跟踪信息 并且返回的跟踪信息量取决于当前设置的缓冲器大小 请参阅第 2-34 页配置跟踪选项

此选项仅可用于通过 Simulator Broker 进行连接

Trace End Point

指示某个指令在特定地址关闭跟踪 从而确保停止任何正在进行的跟踪收集 选择 Trace End Point 时 左侧空白处靠近选定代码行的位置将出现一个箭头

如果设置跟踪终点而未设置跟踪起点 则系统不会返回跟踪信息且 Output 窗格中将显示一则警告

此选项不可用于通过 Simulator Broker 进行连接

ARM DUI 0174C 版权所有 © 2002, 2003 ARM Limited 保留所有权利 2-19

Page 38: pudn.comread.pudn.com/downloads102/ebook/419574/arm...ii 版权所有 © 2002, 2003 ARM Limited 保留所有权利 ARM DUI 0174C RealView Debugger k 1 版权所有 © 2002, 2003 ARM

使用 RealView Debugger 跟踪

Start of Trace Range (Instruction Only)

为仅捕获其程序指令跟踪的地址范围设置起点 选择此选项时左侧空白处靠近选定代码行的位置将出现一个箭头

选定范围起点后 List Selection 对话框中随即出现相应的范围终点 即这里的 End of Trace Range (Instruction Only) 选项 在您选择相关的范围终点之前 其它范围设置选项都不能使用

此选项不可用于通过 Simulator Broker 进行连接

Start of Trace Range (Instruction and Data)

为捕获其程序指令和数据访问跟踪的地址范围设置起点 选择此选项时 左侧空白处靠近选定代码行的位置将出现一个箭头

选定范围起点后 List Selection 对话框中的相应范围终点 在此情况下为 End of Trace Range (Instruction and Data) 将变得可用 在您选择相关的范围终点之前 其它范围设置选项都不能使用 选择范围终点时 左侧空白处靠近选定代码行的位置将出现一个箭头

此选项不可用于通过 Simulator Broker 进行连接

Start of Excluded Trace Range (Instruction and Data)

为不捕获其程序指令和数据访问跟踪的地址范围设置起点 此选项与 Start of Trace Range (Instruction and Data) 选项相反 您在其中设置的排除范围将确保捕获除指定范围以外的所有程序区域中的程序指令和数据访问

如果您指定的排除范围中包括另一个程序区域的分支 并且该分支区域本身已标记为捕获或者并未设置其它点 则会将其包含在跟踪捕获范围内

选择此选项时 左侧空白处靠近选定代码行的位置将出现一个箭头

选定范围起点后 List Selection 对话框中的相应范围终点 在此情况下为 End of Trace Range (Instruction and Data) 将变得可用 在您选择相关的范围终点之前 其它范围设置选项都不能使用 选择范围终点时 左侧空白处靠近选定代码行的位置将出现一个箭头

此选项不可用于通过 Simulator Broker 进行连接

2-20 版权所有 © 2002, 2003 ARM Limited 保留所有权利 ARM DUI 0174C

Page 39: pudn.comread.pudn.com/downloads102/ebook/419574/arm...ii 版权所有 © 2002, 2003 ARM Limited 保留所有权利 ARM DUI 0174C RealView Debugger k 1 版权所有 © 2002, 2003 ARM

使用 RealView Debugger 跟踪

Start of Excluded Trace Range (Data Only)

为地址范围设置起点 从而仅不捕获该范围的数据访问跟踪也就是说 除捕获您指定范围的程序指令 还捕获范围之外所有区域的程序指令和数据访问

如果您指定的排除范围中包括另一个程序区域的分支 并且该分支区域本身已标记为捕获或并未设置其它点 则跟踪捕获中将包含该分支区域的程序指令和数据访问

选择此选项时 左侧空白处靠近选定代码行的位置将出现一个箭头

选定范围起点后 List Selection 对话框中的相应范围终点 在此情况下为 End of Excluded Trace Range (Data Only) 将变得可用 在您选择相关的范围终点之前 其它范围设置选项都不能使用 选择范围终点时 左侧空白处靠近选定代码行的位置将出现一个箭头

此选项不可用于通过 Simulator Broker 进行连接

2.4.3

从 Code 窗口主菜单中选择 Debug → Tracepoints 显示 Tracepoints 菜单如图 2-4 中所示

2-4 Tracepoints

通过 Tracepoints 菜单 您可以选择以下选项

• 选择 Address/Data 使用 Set/Address/Data Break/Tracepoint 对话框设置复杂跟踪点 请参阅第 2-22 页使用 Set Address/Data Break/Tracepoint 对话框设置跟踪点

• 使用四个复杂跟踪点对话框中的一个 设置常用的复杂跟踪点 请参阅第 2-25 页使用复杂跟踪点对话框

ARM DUI 0174C 版权所有 © 2002, 2003 ARM Limited 保留所有权利 2-21

Page 40: pudn.comread.pudn.com/downloads102/ebook/419574/arm...ii 版权所有 © 2002, 2003 ARM Limited 保留所有权利 ARM DUI 0174C RealView Debugger k 1 版权所有 © 2002, 2003 ARM

使用 RealView Debugger 跟踪

Set Address/Data Break/Tracepoint

从 Tracepoints 菜单上选择 Address/Data... 显示 Set Address/Data Break/Tracepoint 对话框 如图 2-5 中所示

2-5 Set Address/Data Break/Tracepoint

有关使用此对话框的信息 请参阅 RealView Debugger v1.6 User Guide 中的 断点 一章 启用跟踪支持后 Set Address/Data Break/Tracepoint 对话框将包含以下附加跟踪点类型

Trace Instr Exec

出现在执行单元的每个指令地址 根据指定地址进行比较 如果其条件代码的值为 false 即便是指令也可能不能执行

Trace Instr Fetch

将捕获的每个指令的地址与您指定的地址进行比较

Trace DataValue Read

根据数据传送周期的源地址进行地址比较 比较的地址为数据值读取的地址 而不是加载指令的地址

Trace DataValue Write

指定的地址与数据写入指令的目的地地址相符 数据写入地址与存储指令的地址不同

2-22 版权所有 © 2002, 2003 ARM Limited 保留所有权利 ARM DUI 0174C

Page 41: pudn.comread.pudn.com/downloads102/ebook/419574/arm...ii 版权所有 © 2002, 2003 ARM Limited 保留所有权利 ARM DUI 0174C RealView Debugger k 1 版权所有 © 2002, 2003 ARM

使用 RealView Debugger 跟踪

Trace DataValue Access

指定的地址与读或写任一方向的存取相符

如果您选择合适的跟踪点类型且当前的目标支持选定的类型 此对话框的 HW Support 区域将填入内容 可用的硬件支持类型包括

HWPassCount 一个点在指定条件生效前可以转移的次数 双击此项显示 Prompt 对话框 如图 2-6 所示

2-6 HWPass Count

输入所需的转移计数 如果不设置此项 其缺省值为 Off并且将在每次命中该点时执行条件

Match=Size of Data Access

匹配数据访问大小的值 根据指定的地址比较数据传送大小 双击此项显示 List Selection 对话框 如第 2-23 页图 2-7 所示

2-7

选择所需值

• 如果不想比较数据访问大小 请选择 Any 这是缺省值

• 如果您要检查半字中的两个字节地址 请选择 Halfword 例如 如果您对以字节访问半字字节感兴趣 则必须使用此值

ARM DUI 0174C 版权所有 © 2002, 2003 ARM Limited 保留所有权利 2-23

Page 42: pudn.comread.pudn.com/downloads102/ebook/419574/arm...ii 版权所有 © 2002, 2003 ARM Limited 保留所有权利 ARM DUI 0174C RealView Debugger k 1 版权所有 © 2002, 2003 ARM

使用 RealView Debugger 跟踪

• 如果您要检查同一个字中的所有 4 个字节地址 请选择 Word 例如 如果您对以字节访问字的任何字节感兴趣 则必须使用此值

只有在对话框的 Break/Tracepoint Type 部分中选择 Trace DataValue Read Trace DataValue Write 或 Trace DataValue Access 时 才能使用此选项

Match=CheckCondition Code

匹配指定地址的执行状态 达到管道执行阶段的每个指令地址与您指定的地址进行比较 如果其条件代码的值为 false则可能不能执行

双击此项显示 List Selection 对话框 如图 2-8 所示

2-8

选择所需值

• 如果您不想匹配执行状态 请选择 Ignore 这是缺省值

• 选择 Pass 则只匹配执行的指令

• 选择 Fail 则只匹配未执行的指令

只有在对话框中选择 Break/Tracepoint Type 部分的 Trace Instr Exec 时 才可以使用此选项

如果您使用执行 ETM 1.0 或 1.1 版本的 ETM 硬件 则不能使用此项

OnBrk=Tracepoint Type

设置跟踪点类型

双击此项显示 List Selection 对话框 如图 2-9 所示

2-24 版权所有 © 2002, 2003 ARM Limited 保留所有权利 ARM DUI 0174C

Page 43: pudn.comread.pudn.com/downloads102/ebook/419574/arm...ii 版权所有 © 2002, 2003 ARM Limited 保留所有权利 ARM DUI 0174C RealView Debugger k 1 版权所有 © 2002, 2003 ARM

使用 RealView Debugger 跟踪

2-9

选择所需的跟踪点类型

• 如果要在选定的地址上设置明确的触发点 请选择 Trigger 这是缺省值

• 如果要在选定的地址开始跟踪 请选择 Start Tracing• 如果要在选定的地址停止跟踪 请选择 Stop Tracing• 如果只想跟踪指令 请选择 Trace Instr• 如果想同时跟踪指令和数据 请选择 Trace Instr and

Data

这些选项的操作方式与 List Selection 对话框中使用 Set/Toggle Tracepoint 设置简单跟踪点的选项相同 有关这些选项的详情 请参阅第 2-17 页使用 Set/Toggle Trace Point 设置简单跟踪点

您可以使用复杂跟踪点对话框设置特定类型的复杂跟踪点

在每个对话框中 您可以从下拉式列表中选择跟踪点类型和条件 并在文本框中输入所需的地址或地址范围 可用的跟踪点类型如下

Instr Exec 出现在执行单元的每个指令地址 根据指定地址进行比较 如果其条件代码的值为 false 即便是指令也可能不能执行

Instr Fetch 将捕获的每个指令的地址与您指定的地址进行比较

Data Access 将读或写方向访问的数据地址与您指定的地址进行比较

Data Read 将从中读取数据的地址与您指定的地址进行比较

Data Write 将写入数据的地址与您指定的地址进行比较

并不是所有的跟踪点类型都适用于所有的跟踪点单元

ARM DUI 0174C 版权所有 © 2002, 2003 ARM Limited 保留所有权利 2-25

Page 44: pudn.comread.pudn.com/downloads102/ebook/419574/arm...ii 版权所有 © 2002, 2003 ARM Limited 保留所有权利 ARM DUI 0174C RealView Debugger k 1 版权所有 © 2002, 2003 ARM

使用 RealView Debugger 跟踪

您可以按照以下方式输入地址和地址范围

• 从保存在个人历史记录文件的项目菜单中选择所需的项目 要显示此菜单 请单击下拉箭头 例如 从浏览器 个人收藏夹列表或先前使用过的地址列表中选择

• 在文本框中键入所需的地址或地址范围 如果需要 您可以使用右箭头 来输入条目语法 可用选项如下

Address Range 如果在文本框为空时选择此选项 RealView Debugger 将在文本框中插入 start .. end 将 start 替换为起始地址 并将 end 替换为结束地址

如果在文本框中有值时选择此选项 则 RealView Debugger 将把文本框中的值作为起始地址并在该值后面插入 .. 输入结束地址

Address Range by Length

如果在文本框为空时选择此选项 RealView Debugger 将在文本框中插入 start ..+ len 将 start 替换为起始地址 并将 len 替换为所需的偏移值

如果在文本框中有值时选择此选项 RealView Debugger 将把文本框中的值作为起始地址并在该值后面插入 ..+ 输入所需的偏移值

NOT Address Compare

如果选择此选项 RealView Debugger 将在文本框中插入 $NOT$ 输入所需值

Autocomplete Range

此选项将根据您输入的表达式生成一个自动范围 可为以下形式

• 函数名称 生成的地址范围是从该函数的起始地址到结束地址

• 结构 生成的地址范围是从该结构的起始地址到结束地址

• 数组符号 生成的地址范围是从变量的起始地址到结束地址 其中变量的结束地址为 start+sizeof(var) 例如 如果起始地址为 0x8000数组大小为 16 字节 则结束地址为 0x8010 即 0x8000+16

RealView Debugger 将信息过滤到只有通过生成的自动范围表示的行

2-26 版权所有 © 2002, 2003 ARM Limited 保留所有权利 ARM DUI 0174C

Page 45: pudn.comread.pudn.com/downloads102/ebook/419574/arm...ii 版权所有 © 2002, 2003 ARM Limited 保留所有权利 ARM DUI 0174C RealView Debugger k 1 版权所有 © 2002, 2003 ARM

使用 RealView Debugger 跟踪

输入一个符号并单击此选项 可以根据符号的大小来计算范围结束地址 例如 如果您输入一个函数 则自动完成范围是从该函数的起始地址到结束地址 与此相类似 输入一个全局变量可以查看自动完成的范围结束地址等于变量存储地址加上变量大小

Value Mask 值掩码允许您在比较值时指定单个位进行测试 测试基于以下因素进行

• 过滤器中的二进制 0 表示该位未测试

• 过滤器中的二进制 1 表示已将传送的相应位与 Data 值的相应位进行比较

如果选择此选项 RealView Debugger 将在文本框中插入 $MASK$=0xFFFFFFFF 输入要进行比较的值 然后编辑所需值的掩码

NOT Value Compare

如果选择此选项 RealView Debugger 将在文本框中插入 $NOT$ 输入所需值

并不是所有的菜单中都包含所有的选项

可用的复杂跟踪点有

• Trace on X after Y [and/or Z]...

• 第 2-28 页 Trace on X after Y executed N times...

• 第 2-29 页 Trace on X after A==B...

• 第 2-30 页 Trace if A==B in X...

Trace on X after Y [and/or Z]...

从 Tracepoints 菜单选择 Trace on X after Y [and/or Z]... 以显示 Trace on X after Y [and/or Z] 对话框 如第 2-27 页图 2-10 所示

2-10 Trace on X after Y [and/or Z]

ARM DUI 0174C 版权所有 © 2002, 2003 ARM Limited 保留所有权利 2-27

Page 46: pudn.comread.pudn.com/downloads102/ebook/419574/arm...ii 版权所有 © 2002, 2003 ARM Limited 保留所有权利 ARM DUI 0174C RealView Debugger k 1 版权所有 © 2002, 2003 ARM

使用 RealView Debugger 跟踪

您可以使用此对话框定义仅在满足一个或多个指定条件时才激活的跟踪点 例如 您可以将跟踪点设置为仅在执行第一个指定函数而没有执行第二个函数时激活

要设置复杂跟踪点

1. 从前两个下拉式列表中选择您要设置的跟踪点类型 例如 Trigger on Instr Exec

2. 对于第一个跟踪点单元 请指定要测试的地址或地址范围 如果 PC 在指定的范围内 则会触发这个跟踪点单元

3. 对于第二个跟踪点单元 请从下拉式列表中选择 After 或 Before• 如果您要跟踪点在指定的事件发生后触发 请选择 After• 如果您要跟踪点在指定的事件发生前触发 请选择 Before

按操作第一个跟踪点单元的同样方式选择跟踪点类型和地址范围

4. 如果您想指定第三个跟踪点单元 请从第一个下拉式列表中选择 AND 或 OR 从第二个下拉式列表中选择 After 或 Before 按操作第一个跟踪点单元的同样方式选择跟踪点类型和地址范围

5. 单击 OK 设置指定跟踪点

Trace on X after Y executed N times...

从 Tracepoints 菜单选择 Trace on X after Y executed N times... 以显示 Trace on X after Y executed N times... 对话框 如第 2-28 页图 2-11 所示

2-11 Trace on X after Y executed N times

您可以使用此对话框定义一个当次要条件达到指定的满足次数时激活的跟踪点 有关详细示例 请参阅第 2-82 页设置复杂跟踪点

2-28 版权所有 © 2002, 2003 ARM Limited 保留所有权利 ARM DUI 0174C

Page 47: pudn.comread.pudn.com/downloads102/ebook/419574/arm...ii 版权所有 © 2002, 2003 ARM Limited 保留所有权利 ARM DUI 0174C RealView Debugger k 1 版权所有 © 2002, 2003 ARM

使用 RealView Debugger 跟踪

要设置复杂跟踪点

1. 从前两个下拉式列表中选择您要设置的跟踪点类型 例如 Trigger on Instr Exec

2. 对于第一个跟踪点单元 请指定要测试的地址或地址范围 如果 PC 在指定的范围内 则会触发这个跟踪点单元

3. 输入次要条件所需的执行数

4. 对于第二个跟踪点单元 请按操作第一个跟踪点单元的同样方法选择跟踪点类型和地址范围

5. 单击 OK 设置指定跟踪点

Trace on X after A==B...

从 Tracepoints 菜单选择 Trace on X after A==B... 以显示 Trace on X after A==B 对话框 如图 2-12 所示

2-12 Trace on X after A==B

您可以使用此对话框设置仅在指定的存储器位置读取或写入指定值后才激活的跟踪点 例如 您可以在要执行的指定函数上设置跟踪点 但只有在零已写入指定变量后才执行

要设置复杂跟踪点

1. 从前两个下拉式列表中选择您要设置的跟踪点类型 例如 Trigger on Instr Exec

2. 对于第一个跟踪点单元 请指定要测试的地址或地址范围 如果 PC 在指定的范围内 则会触发这个跟踪点单元

ARM DUI 0174C 版权所有 © 2002, 2003 ARM Limited 保留所有权利 2-29

Page 48: pudn.comread.pudn.com/downloads102/ebook/419574/arm...ii 版权所有 © 2002, 2003 ARM Limited 保留所有权利 ARM DUI 0174C RealView Debugger k 1 版权所有 © 2002, 2003 ARM

使用 RealView Debugger 跟踪

3. 设置第二个跟踪点单元

• 选择跟踪点类型 例如 Data Access

• 指定要测试的地址 地址范围或变量

• 指定要与地址 地址范围或变量进行比较的值

4. 单击 OK 设置指定跟踪点

Trace if A==B in X...

从 Tracepoints 菜单选择 Trace if A==B in X... 以显示 Trace if A==B in X 对话框 如图 2-13 所示

2-13 Trace if A==B in X

您可以使用此对话框 在满足其它条件的同时在指定的存储器地址写入或读取的指定值上设置跟踪点 例如 您可以在由指定函数更改的指定变量值上设置跟踪点

要设置复杂跟踪点

1. 从前两个下拉式列表中选择您要设置的跟踪点类型 例如 Trigger on Instr Exec

2. 设置第一个跟踪点单元

• 选择跟踪点类型 例如 Data Access

• 指定要测试的地址 地址范围或变量

• 指定要与地址 地址范围或变量进行比较的值

3. 设置第二个跟踪点单元

• 选择跟踪点类型 例如 Data Access

• 指定要测试的地址或地址范围

4. 单击 OK 设置指定跟踪点

2-30 版权所有 © 2002, 2003 ARM Limited 保留所有权利 ARM DUI 0174C

Page 49: pudn.comread.pudn.com/downloads102/ebook/419574/arm...ii 版权所有 © 2002, 2003 ARM Limited 保留所有权利 ARM DUI 0174C RealView Debugger k 1 版权所有 © 2002, 2003 ARM

使用 RealView Debugger 跟踪

2.4.4

无论哪种类型的跟踪点 一旦设定就将显示在 Break/Tracepoints 窗格中如图 2-14 所示

2-14 Break/Tracepoints

在 Break/Tracepoints 窗格中 一个复杂跟踪点可能会显示为两个或两个以上的跟踪点

要查看特定跟踪点的地址和命令详情 请单击 展开显示内容

在 Break/Tracepoints 窗格中 您可以

• 第 2-31 页修改简单跟踪点

• 第 2-32 页禁用跟踪点

• 第 2-32 页删除跟踪点

• 第 2-32 页查找相应源代码

有关使用此窗格的基本详情以及如何隐藏或显示它的信息 请参阅 RealView Debugger v1.6 User Guide 中的 断点 一章

要修改简单跟踪点 请在 Break/Tracepoints 窗格中右击所需的跟踪点 然后从上下文菜单中选择 Edit Break/Tracepoint... 此时将显示 Set Address/Data Break/Tracepoint 对话框 根据需要编辑跟踪点 然后单击 OK 确认所作的任何更改 并关闭 Set Address/Data Break/Tracepoint 对话框

您不能使用此方法修改复杂跟踪点 如果您已设置复杂跟踪点并想进行更改则必须使用 Clear 选项将其删除 然后重新设置此跟踪点

ARM DUI 0174C 版权所有 © 2002, 2003 ARM Limited 保留所有权利 2-31

Page 50: pudn.comread.pudn.com/downloads102/ebook/419574/arm...ii 版权所有 © 2002, 2003 ARM Limited 保留所有权利 ARM DUI 0174C RealView Debugger k 1 版权所有 © 2002, 2003 ARM

使用 RealView Debugger 跟踪

要禁用跟踪点 请取消选定复选框 禁用跟踪点后 左侧空白处指示跟踪点的箭头图标将变成暗色 表示此跟踪点已被禁用

• 说明触发已被禁用

• 说明跟踪起点或跟踪范围的起始位置已被禁用

• 说明跟踪终点或跟踪范围的结束位置已被禁用

您可以选择复选框 重新启用此跟踪点

禁用复杂跟踪点可能会导致无法预测的结果 建议您使用 Clear 选项删除复杂跟踪点 而不是禁用它

要删除跟踪点 请右击条目并从上下文菜单中选择 Clear

如果您要删除复杂跟踪点 则必须按设置复杂跟踪点的相反顺序删除组件 即由下往上删除

要查找与跟踪点对应的源代码行 请右击条目并从上下文菜单中选择 Show Code 此种情况下 File Editor 窗格中的箭头 将置于与跟踪点对应的源代码行旁边

2.4.5

配置好跟踪捕获的规格后 必须指引 RealView Debugger 开始跟踪 要执行此操作

1. 从 Code 窗口中选择 View → Analysis Window 以显示 Analysis 窗口

2. 确保在 Analysis 窗口的 Edit 菜单中选择 Tracing Enabled 请参阅第 2-34 页配置跟踪选项

缺省情况下 跟踪是启用的 但是只有在您已设置跟踪点或者从 Analysis 窗口的 Edit 菜单中选择了 Continuous Collection Mode (No Tracepoints) 的情况下才返回跟踪数据

3. 选择 Debug → Execution Control → Go (Start Execution) 以执行程序

2-32 版权所有 © 2002, 2003 ARM Limited 保留所有权利 ARM DUI 0174C

Page 51: pudn.comread.pudn.com/downloads102/ebook/419574/arm...ii 版权所有 © 2002, 2003 ARM Limited 保留所有权利 ARM DUI 0174C RealView Debugger k 1 版权所有 © 2002, 2003 ARM

使用 RealView Debugger 跟踪

2.5 Analysis

本部分介绍了使用 Analysis 窗口的方法 它包含以下部分

• Analysis 窗口概览

• 第 2-34 页配置跟踪选项

• 第 2-40 页解释数据

• 第 2-48 页查看配置报告信息

• 第 2-51 页查找信息

• 第 2-56 页过滤捕获的信息

• 第 2-66 页更改显示

• 第 2-69 页保存和加载跟踪信息

• 第 2-70 页其它窗口要素

2.5.1 Analysis

通过 Analysis 窗口 您可以

• 配置全局跟踪选项

• 分析跟踪捕获的结果以获得配置报告信息

• 使用 6 个选项卡查看跟踪和配置报告信息

• 过滤跟踪捕获的结果

• 搜索特定的跟踪信息项

• 操纵跟踪信息的显示

您可以按以下方式从 Code 窗口显示 Analysis 窗口

• 从 View 菜单中选择 Analysis Window 缺省情况下显示 Raw 选项卡视图

• 选择 Tools → Analyzer/Trace Control → Display Profile View... 显示 Profile 选项卡

第 2-34 页图 2-15 显示了 Analysis 窗口的示例

ARM DUI 0174C 版权所有 © 2002, 2003 ARM Limited 保留所有权利 2-33

Page 52: pudn.comread.pudn.com/downloads102/ebook/419574/arm...ii 版权所有 © 2002, 2003 ARM Limited 保留所有权利 ARM DUI 0174C RealView Debugger k 1 版权所有 © 2002, 2003 ARM

使用 RealView Debugger 跟踪

2-15 Analysis

2.5.2

本部分介绍了如何使用 Analysis 窗口的 Edit 菜单设置适用于所有执行的跟踪捕获的跟踪配置选项

这些菜单选项的可用性以及您选择它们时将显示的对话框取决于跟踪捕获硬件和目标处理器

在 Edit 菜单中 某些选项旁边的复选标记表示缺省设置 缺省设置会因使用的硬件不同而不同

完整菜单选项如下

• 第 2-35 页 Copy

• 第 2-35 页 Select Analysis Configuration...

• 第 2-35 页 Connect Analyzer/Analysis...

• 第 2-35 页 Configure Analyzer Properties...

• 第 2-36 页 Physical to Logical Address Mapping...

• 第 2-36 页 Set/Edit Event Triggers

• 第 2-37 页 Tracing Enabled

• 第 2-37 页 Collect Data Before Trigger

• 第 2-37 页 Collect Data Around Trigger

• 第 2-37 页 Collect Data After Trigger

• 第 2-37 页 Stop Processor on Trigger

2-34 版权所有 © 2002, 2003 ARM Limited 保留所有权利 ARM DUI 0174C

Page 53: pudn.comread.pudn.com/downloads102/ebook/419574/arm...ii 版权所有 © 2002, 2003 ARM Limited 保留所有权利 ARM DUI 0174C RealView Debugger k 1 版权所有 © 2002, 2003 ARM

使用 RealView Debugger 跟踪

• 第 2-37 页 Stop Processor on Buffer Full

• 第 2-38 页 Stop Collecting on Buffer Full

• 第 2-38 页 Continue Collecting on Buffer Full

• 第 2-38 页 Continuous Collection Mode (No Tracepoints)

• 第 2-38 页 Store Control-flow Changes Only

• 第 2-38 页 Set Amount of Trace Buffer to Read...

• 第 2-39 页 Set Trace Buffer Size...

• 第 2-40 页 Clear Trace Buffer

• 第 2-40 页 Clear All Triggers

• 第 2-40 页 Automatic Update on New Buffer

• 第 2-40 页 Automatic Update on Append to Buffer

• 第 2-40 页 Append New Buffer to Existing

Copy

此选项用于将选定的文本复制到剪贴板

Select Analysis Configuration...

此选项用于显示您可以从中选择分析仪配置的对话框

Connect Analyzer/Analysis...

如果您使用的跟踪捕获硬件设备可以进一步配置为执行跟踪 此选项用于调用该设备的配置对话框 只有您的目标配置支持此功能时才能使用此选项

如果使用 Connection Broker 选项 而不是 ARM-A-RR 连接选项 进行连接 则必须选择此选项以启用跟踪

Configure Analyzer Properties...

此选项用于配置分析仪设置 如果目标启用了 ETM 此选项将显示 Configure ETM 对话框 如果您使用 DSP Group 处理器 此选项将打开 List Selection 对话框 , 如第 2-36 页图 2-16 所示

ARM DUI 0174C 版权所有 © 2002, 2003 ARM Limited 保留所有权利 2-35

Page 54: pudn.comread.pudn.com/downloads102/ebook/419574/arm...ii 版权所有 © 2002, 2003 ARM Limited 保留所有权利 ARM DUI 0174C RealView Debugger k 1 版权所有 © 2002, 2003 ARM

使用 RealView Debugger 跟踪

2-16 DSP Group

从列表中选择所需的选项 选项包括

Stop-Collect-Run profiling (intrusive)

此选项用于指引 RealView Debugger 存储会话的所有跟踪数据 如果片上跟踪缓冲器已满 则系统会停止目标处理器并收集跟踪数据 清除片上跟踪缓冲器后 跟踪将继续 直至它再次变满 新跟踪数据将附加至 RealView Debugger 跟踪缓冲器中 此选项用于收集更多的跟踪数据 由于它包括停止和启动目标处理器 因此具有侵入性

Default Ring-buffered last N traces

此选项用于指引 RealView Debugger 仅存储会话中的 后 N 次跟踪 如果跟踪缓冲器已满 则在新信息进入缓冲器时 缓冲器中的旧信息将被清除 此选项不具侵入性 但只能收集单个缓冲器

Physical to Logical Address Mapping...

此选项用于配置目标处理器的地址和信号控制 只有在目标配置支持此功能时才能使用此选项

Set/Edit Event Triggers

此选项用于设置或编辑事件触发

对于基于 ETM 的目标 此选项是禁用的

2-36 版权所有 © 2002, 2003 ARM Limited 保留所有权利 ARM DUI 0174C

Page 55: pudn.comread.pudn.com/downloads102/ebook/419574/arm...ii 版权所有 © 2002, 2003 ARM Limited 保留所有权利 ARM DUI 0174C RealView Debugger k 1 版权所有 © 2002, 2003 ARM

使用 RealView Debugger 跟踪

Tracing Enabled

此选项用于启用全局跟踪 且缺省情况下为选定 取消选定此选项将禁用全局跟踪 如果您想停止捕获跟踪信息 以便在程序停止执行前可以查看缓冲器的当前内容 则此选项将非常有用

如果您在程序执行期间停止跟踪 则此点前所有捕获的信息都将返回 Analysis 窗口 在程序执行期间 您随时可以再次选择此选项以重新启动跟踪

此选项只适用于基于 ETM 的目标

Collect Data Before Trigger

此选项用于指引 RealView Debugger 捕获触发位置之前的所有数据 例如 如果您的缓冲器大小设置为 50 则将返回正好位于触发点前的 50 行跟踪信息

Collect Data Around Trigger

此选项用于指引 RealView Debugger 捕获触发位置周围的所有数据 在此情况下 将捕获触发以前的一半数据和触发以后的一半数据

Collect Data After Trigger

此选项用于指引 RealView Debugger 捕获触发位置之后的所有数据 例如 如果您的缓冲器大小设置为 50, 则将返回正好位于触发点后的 50 行跟踪信息

Stop Processor on Trigger

此选项用于指引 RealView Debugger 在命中触发时停止目标处理器

此选项只适用于基于 ETM 的目标

Stop Processor on Buffer Full

此选项用于指引 RealView Debugger 在跟踪缓冲器已满时停止执行目标处理器

ARM DUI 0174C 版权所有 © 2002, 2003 ARM Limited 保留所有权利 2-37

Page 56: pudn.comread.pudn.com/downloads102/ebook/419574/arm...ii 版权所有 © 2002, 2003 ARM Limited 保留所有权利 ARM DUI 0174C RealView Debugger k 1 版权所有 © 2002, 2003 ARM

使用 RealView Debugger 跟踪

Stop Collecting on Buffer Full

此选项用于指引 RealView Debugger 在跟踪缓冲器已满时停止收集跟踪信息目标处理器不会停止

如果您想在跟踪缓冲器已满时停止处理器 则必须选定 Stop Processor on Buffer Full 选项

Continue Collecting on Buffer Full

此选项用于指引 RealView Debugger 即使在跟踪缓冲器已满时仍继续收集跟踪信息并继续运行处理器 在此情况下 在新信息进入缓冲器时 缓冲器中的旧信息将被清除

如果您使用的是 ETM 目标 则不能取消选定此选项

如果您已指定触发 并且已达到此触发 则此选项将被覆盖

Continuous Collection Mode (No Tracepoints)

此选项用于指引 RealView Debugger 无需配置任何跟踪点即可收集跟踪信息 也就是说 您只需执行程序即可生成跟踪信息 如果停止处理器 缓冲器中的当前跟踪信息会返回至 Analysis 窗口

如果您已设置跟踪点 则此选项不可用

Store Control-flow Changes Only

此选项用于捕获和返回控制流程信息 分支 它确保了跟踪缓冲器中仅存储控制流程分支 这将减少跟踪捕获会话期间存储在缓冲器中的信息量

如果您对使用 Profile 选项卡以仅分析分支信息感兴趣 则此选项尤其有用

此选项不适用于 ETM 目标 这是因为这些目标是按缺省设置的 并且无法更改

Set Amount of Trace Buffer to Read...

此选项用于将 Analysis 窗口中显示的跟踪缓冲器范围限制在指定的大小或范围 如果您已捕获了一个大跟踪缓冲器 并且希望每次仅查看一小部分 则此选项很有用

2-38 版权所有 © 2002, 2003 ARM Limited 保留所有权利 ARM DUI 0174C

Page 57: pudn.comread.pudn.com/downloads102/ebook/419574/arm...ii 版权所有 © 2002, 2003 ARM Limited 保留所有权利 ARM DUI 0174C RealView Debugger k 1 版权所有 © 2002, 2003 ARM

使用 RealView Debugger 跟踪

此选项并不限制数据捕获的数量 它仅限制从跟踪缓冲器读回的跟踪数据量

如果您选择了此选项 则系统将显示一个 Prompt 对话框 如图 2-17 所示

2-17

输入以下任一项 然后单击 Amount

Number 从跟踪缓冲器起点 以十进制或十六进制指定您要显示的多条目数 如 1024 或 0x400

0 如果您希望显示缺省的条目数 请输入 0 此缺省值会因您的目标可支持的条目数而有所不同 对于基于 ETM 的目标 使用的是条目缓冲器的值

Number .. Number 输入一个范围 以指明您要在触发器前后显示的条目数如 -50..50 以在触发点前后各显示 50 个

Set Trace Buffer Size...

此选项用于设置跟踪缓冲器的大小 选项与 Configuration ETM 对话框中的 Trace buffer size 相同 如果您选择了此选项 则系统将显示一个 Prompt 对话框 如第 2-39 页图 2-18 所示

2-18

以十进制或十六进制输入所需的 大缓冲器大小 然后单击 Set

ARM DUI 0174C 版权所有 © 2002, 2003 ARM Limited 保留所有权利 2-39

Page 58: pudn.comread.pudn.com/downloads102/ebook/419574/arm...ii 版权所有 © 2002, 2003 ARM Limited 保留所有权利 ARM DUI 0174C RealView Debugger k 1 版权所有 © 2002, 2003 ARM

使用 RealView Debugger 跟踪

某些跟踪捕获硬件可能不支持不同的缓冲器大小 并且总是存储 大的周期数 其它硬件可能仅支持某些设定的缓冲器大小 并且选择与请求的大小 为相近的缓冲器大小 有关详情 请参阅分析仪附带的说明文档

Clear Trace Buffer

此选项用于清除跟踪缓冲器中的信息

Clear All Triggers

此选项用于清除通过 Set/Edit Event Triggers 对话框设置的所有事件触发

对于基于 ETM 的目标 此选项是禁用的

Automatic Update on New Buffer

此选项用于指出要清除其内容的 Analysis 窗口 在返回跟踪数据的新缓冲器加载时将自动使用新信息进行更新

Automatic Update on Append to Buffer

此选项用于指出要保留其现有内容的 Analysis 窗口 在返回跟踪数据的新缓冲器加载时将附加新信息

Append New Buffer to Existing

此选项用于将新的跟踪缓冲器附加至现有的跟踪缓冲器 跟踪信息的索引前有一个与捕获它的缓冲器对应的数字前 例如 索引值 2.555 表示在第二次存储的缓冲加载中的记录 555

2.5.3

本部分介绍了使用 Analysis 窗口以解释作为进行的跟踪捕获的结果返回的数据的方式 它包含以下部分

• 选项卡视图类型

• 第 2-41 页列类型

• 第 2-45 页状态行

2-40 版权所有 © 2002, 2003 ARM Limited 保留所有权利 ARM DUI 0174C

Page 59: pudn.comread.pudn.com/downloads102/ebook/419574/arm...ii 版权所有 © 2002, 2003 ARM Limited 保留所有权利 ARM DUI 0174C RealView Debugger k 1 版权所有 © 2002, 2003 ARM

使用 RealView Debugger 跟踪

图 2-19 显示了 Analysis 窗口底部可用的选项卡

2-19 Analysis

这些选项卡是

Raw 显示交叉的跟踪指令和数据的符号表示

Code 显示已跟踪指令的符号表示

data 显示已跟踪数据的符号表示 如果已在跟踪配置指定了数据捕获 请参阅第 2-15 页配置跟踪捕获

Dsm 显示已跟踪指令和数据的反汇编

Func 显示函数分支

Profile 显示跟踪信息的统计分析 您可以通过单击 Profile 选项卡或者从 Code 窗口选择 Tools → Analyzer/Trace Control → Display Profile View... 来访问此视图

此选项卡使您可以进行各种跟踪数据的配置报告分析 您可以使用此选项卡分析控制流程信息 分支 测量执行某些函数所需的时间以及查看 call-graph 数据 有关查看配置报告信息的详情请参阅第 2-48 页查看配置报告信息

Analysis 窗口将跟踪信息显示为一个数值表 内容的重要性视当前显示的选项卡而定 在选择 Profile 选项卡时 将显示 Profile 视图列 在选择任何其它选项卡时 将显示跟踪视图列 您可使用 Profiling data 和 Trace 列菜单中的选项 设置每一视图显示的列 有关指定显示哪些列的信息 请参阅第 2-66 页更改显示

!�����$����� %

ARM DUI 0174C 版权所有 © 2002, 2003 ARM Limited 保留所有权利 2-41

Page 60: pudn.comread.pudn.com/downloads102/ebook/419574/arm...ii 版权所有 © 2002, 2003 ARM Limited 保留所有权利 ARM DUI 0174C RealView Debugger k 1 版权所有 © 2002, 2003 ARM

使用 RealView Debugger 跟踪

可用的跟踪视图列有

Elem 显示每个要素在跟踪缓冲器内的位置 其中该值可以表示

• 跟踪缓冲器内的一条索引

• 一个周期数 如果您的跟踪捕获设备支持精确周期跟踪有关详情 请参阅第 2-34 页配置跟踪选项 中的 Configure

Analyzer... 选项 如果您选择了此选项 则还必须确保在 Configure ETM 对话框中选定了 Cycle accurate tracing 选项请参阅第 2-10 页配置 ETM

此列仅在选择了 Trace Columns 菜单中的 Position 时显示

Time/cycl 显示时间标记值 您可以从 View 菜单中选择 Scale Time Units 来更改此值的格式

此列仅在选择了 Trace Columns 菜单中的 Absolute Time 并且启用了 Configure ETM 对话框中的 Enable Timestamps 或 Cycle accurate tracing 时显示 您还可以使用 Filter 菜单中的 Define Processor Speed for Scaling... 选项 以在次数和周期数之间进行定标

+Time 显示一个 Delta 时间标记值 表示此前指令与当前指令间花费的时间 您可以从 View 菜单中选择 Scale Time Units 来更改此值的格式

此列仅在选择了 Trace Columns 菜单中的 Relative Time 并且启用了 Configure ETM 对话框中的 Enable Timestamps 或 Cycle accurate tracing 时显示

Type 显示当前要素的访问类型 它们可以是任意以下类型之一

bus 总线状态更改

Code 代码访问 捕获

data 数据访问 读取或写入

DMA 直接存储器访问 (DMA) 传送操作

Exec 指令已执行

Int 向量中断

No Exec 指令未执行

Pin 引脚状态更改

PreF 预捕获 因此不执行

Prob 外部探测器状态更改

如果访问类型具有 R 前 则表示这是读访问 W 表示写访问

此列仅在选择了 Trace Columns 菜单中的 Access Type 时显示

2-42 版权所有 © 2002, 2003 ARM Limited 保留所有权利 ARM DUI 0174C

Page 61: pudn.comread.pudn.com/downloads102/ebook/419574/arm...ii 版权所有 © 2002, 2003 ARM Limited 保留所有权利 ARM DUI 0174C RealView Debugger k 1 版权所有 © 2002, 2003 ARM

使用 RealView Debugger 跟踪

Address 显示访问的指令或数据地址

此列仅在选择了 Trace Columns 菜单中的 Address as Value 时显示

Symbolic 显示当前范围的符号信息 且形式为 symbol

此列仅在选择了 Trace Columns 菜单中的 Address as Symbol/Line 时显示

Count 对于 Func 选项卡 它会显示输入和退出函数的次数 对于其它所有选项卡 它会显示访问一个特定地址的次数

如果跟踪的开始或结束均在同一个函数内 则该函数的实例将不会计算在内 对于要计数的函数实例 无论从函数输入还是退出均必须跟踪

此列仅在选择了 Trace Columns 菜单中的 Count of Hits 时显示

Other 显示每条特定指令的地址 数据值和反汇编信息

此列仅在选择了 Trace Columns 菜单中的 Interpretation of Data 时显示

可用的 Profile 视图列有

1st 显示表示每个函数首次访问的要素编号

此列仅在选择了 Profiling data 菜单中的 First Instance 时显示

Exec% 显示执行特定函数所花费时间的百分比 其中整个跟踪缓冲器表示为 100% 在函数本身的范围内 这表示 PC 即它并不生成子程序调用的分支

此列仅在选择了 Profiling data 菜单中的 Time% In Self 时显示

B=>E% 显示从输入到退出一个特定函数花费时间的百分比 包括所有子函数

此列仅在选择了 Profiling data 菜单中的 Time%Including Children (B=>E) 时显示

Type 显示范围类型 范围类型通常为 Func 指明函数 在没有函数时例如代码为汇编语言 此范围类型为 Module

此列仅在选择了 Profiling data 菜单中的 Range Types 时显示

Address 显示访问的指令或数据地址

此列仅在选择了 Profiling data 菜单中的 Address as Value 时显示

ARM DUI 0174C 版权所有 © 2002, 2003 ARM Limited 保留所有权利 2-43

Page 62: pudn.comread.pudn.com/downloads102/ebook/419574/arm...ii 版权所有 © 2002, 2003 ARM Limited 保留所有权利 ARM DUI 0174C RealView Debugger k 1 版权所有 © 2002, 2003 ARM

使用 RealView Debugger 跟踪

Symbolic 显示当前要素的符号位置信息 且形式为 symbol+offset 例如Arr_2_Glob+0x65 可以是对变量地址 Arr_2_Glob 的一次数据访问偏移量为 0x65

另外 形式还可为 source_module_name+line_number 例如MAIN\#144 是对文件 main() 144 行的一次访问 source_module_name 可以是任意的符号信息 包括函数 模块 变量或低级别符号

此列仅在选择了 Profiling data 菜单中的 Range Symbols 时显示

Exec/B=>E/B=>E Avg

仅在 Profile 选项卡中可用 显示以下信息

• Exec 执行此函数花费的总时间

• B=>E 此函数的所有从开始到结束的执行总时间

• B=>E Avg 所有单独执行此函数花费的平均时间

此列仅在选择了 Profiling data 中的 Exec/B=>E/B=>E Avg 时显示

Count 显示输入和退出函数的次数

如果跟踪的开始或结束均在同一个函数内 则该函数的实例将不会计算在内 对于要计数的函数实例 无论从函数输入还是退出均必须跟踪

此列仅在选择了 Profiling data 菜单中的 Count of Calls 时显示

Min/Max B =>E

显示执行此函数的 短和 长时间 在因不同任务多次执行一个特定的函数 并且您想查看与执行次数有关的 小和 大值时此列尤其有用 此时间将按当前选定用于分析的格式显示 请参阅第 2-64 页 Scale Time Units...

此列仅在选择了 Profiling data 菜单中的 Min/Max Times 时显示

Histogram 显示 Histogram 列 直方图以粉红色栏显示 您可将此直方图视为线性函数或对数函数 有关选择直方图类型的详情 请参阅第 2-50 页 Data 视图选项

此列仅在选择了 Profiling data 菜单中的 Histogram View 时显示

2-44 版权所有 © 2002, 2003 ARM Limited 保留所有权利 ARM DUI 0174C

Page 63: pudn.comread.pudn.com/downloads102/ebook/419574/arm...ii 版权所有 © 2002, 2003 ARM Limited 保留所有权利 ARM DUI 0174C RealView Debugger k 1 版权所有 © 2002, 2003 ARM

使用 RealView Debugger 跟踪

Analysis 窗口中返回的某些跟踪输出行用于纯状态用途 并且提供了有关处理器周期的信息 这些状态行可以显示任意以下消息

Error: Debug State

表示由于处理器进入调试状态 跟踪已暂挂了多个处理器周期

Error: Synchronization Lost

表示 RealView Debugger 已检测到与加载到调试器中的映像不一致的跟踪数据 因此无法进行解码

Error: ETM FIFO Overflow

表示由于 ETM FIFO 缓冲器已满 暂时暂挂跟踪 出现这种情况时 返回的跟踪信息不连续

Error: Trace Pause

表示由于已设定的跟踪条件 暂时暂挂跟踪 Trace Pause 表示在已定义的跟踪区域之间程序执行的周期

Error: Coprocessor data transfer of unknown size

跟踪数据时 RealView Debugger 执行了一条未识别的协处理器存储器访问指令 并且解压器无法推算出这条指令传送的数据量直到在跟踪数据中找到相应的同步点 数据和数据地址跟踪的解压缩才会停止

Error: Data synchronization lost following FIFO overflow

某些版本的 ARM ETM 在发生 FIFO 溢出后会导致跟踪数据破坏如果解压器发现可能发生这种情况 则将输出此消息 并禁止数据和数据地址跟踪 直到它可以再次同步

Error: Unable to trace Java state, trace data ignored

ETM 检测到处理器进入 Java 状态 解压器无法解压缩 Java 字节码执行 因此将禁止所有跟踪输出 直至处理器不在 Java 状态时

Error: No data in trace buffer

跟踪缓冲器完全由零组成 这种错误极少 只有您使用 XScale 目标时 才会出现此消息

Error: Trace branch address does not match instruction’s branch address

RealView Debugger 同时具有来自跟踪和加载至调试器的映像的分支地址 并且这些地址不匹配 这种错误极为罕见 只有您使用 XScale 目标时 才会出现此消息

ARM DUI 0174C 版权所有 © 2002, 2003 ARM Limited 保留所有权利 2-45

Page 64: pudn.comread.pudn.com/downloads102/ebook/419574/arm...ii 版权所有 © 2002, 2003 ARM Limited 保留所有权利 ARM DUI 0174C RealView Debugger k 1 版权所有 © 2002, 2003 ARM

使用 RealView Debugger 跟踪

Error: Unexpected exception

指令标记了异常 但此异常地址并不是有效的异常地址

Error: Instruction not known

此指令的解压器不处于同步状态 但随后发现此指令为异常

Error: Incorrect synchronization address

为同步而广播的地址与解压器维护的地址不匹配

Error: Instruction data overflowed end of buffer

指令的数据不在缓冲器中 如果跟踪捕获由于在跟踪指令及跟踪数据之间填充了缓冲器而停止 则会出现此消息 所有可用的数据地址和数据均将被跟踪

Warning: The next instruction was traced as a branch

下一行的指令并非一个分支 但 ETM 将其作为分支进行跟踪 这通常表示向调试器加载了错误的映像 或者代码正在进行自我修改

Warning: The next instruction was not traced as an indirect branch

下一行的指令是一个间接的分支 但 ETM 并不将其作为间接分支进行跟踪 这通常表示向调试器加载了错误的映像 或者代码正在进行自我修改

Warning: The next instruction was traced as a memory access instruction

来自 ETM 的跟踪指出下一行的指令从存储器读取了某些数据 或者将某些数据写入了存储器 但此指令并非存储器访问指令 这通常表示向调试器加载了错误的映像 或者代码正在进行自我修改 直到在跟踪数据中找到相应的同步点 数据跟踪和数据地址跟踪的解压缩才会停止

Warning: The next instruction should have been executed unconditionally

来自 ETM 的跟踪指出下一行指令的条件代码测试失败 因此并未执行 但此指令应该是一条无条件执行的指令 这通常表示向调试器加载了错误的映像 或者代码正在进行自我修改

Warning: Corrupt address in trace data

跟踪数据包含不可能存在的地址 当出现硬件问题时会显示该信息 例如连接器故障

2-46 版权所有 © 2002, 2003 ARM Limited 保留所有权利 ARM DUI 0174C

Page 65: pudn.comread.pudn.com/downloads102/ebook/419574/arm...ii 版权所有 © 2002, 2003 ARM Limited 保留所有权利 ARM DUI 0174C RealView Debugger k 1 版权所有 © 2002, 2003 ARM

使用 RealView Debugger 跟踪

Warning: The next instruction was not traced as a branch

当前指令是分支指令 但跟踪没有表明这一点 这通常表示向调试器加载了错误的映像 或者代码正在进行自我修改 直到在跟踪数据中找到相应的同步点 数据跟踪和数据地址跟踪的解压缩才会停止

Warning: Instruction address synchronization has been restored

出现丢失指令地址同步的问题后 将出现此消息 这表明解压器已经找到可以恢复解压指令地址的点

Warning: Data address synchronization restored

出现丢失数据地址同步的问题后 将出现此消息 这表明解压器已经找到可以恢复解压数据地址的点

Warning: Data synchronization restored

出现丢失数据同步的问题后 将出现此消息 这表明解压器已经找到可以恢复解压数据的点

Warning: Too many checkpoints in XScale trace buffer

表明在缓冲区发现两个以上标有检查点的条目 解压器已尝试使用 近的条目 只有您使用 XScale 目标时 才会出现此消息

Warning: The next instruction could not be read

无法读取包含有跟踪指令的存储器 程序试图执行无法读取存储器的一个区域时将出现此消息 在此情况下指令将因 预捕获中止 而中止 如果在程序正在运行时对跟踪进行解码 且程序试图执行加载映象外的代码时 也可能会出现此消息

Warning: Memory address unknown, insufficient trace data

在跟踪捕获硬件的跟踪缓冲器 不是 FIFO 溢出时 将在接近解码跟踪的开始处发生此错误 这表明跟踪数据中还没有一完整的存储器访问地址 因此跟踪解码器不能计算数据访问的地址 如果存在要跟踪的数据访问 ETM 将在 先跟踪到的数据访问处输出完整地址 并且此后每 1024 个周期重复一次 为了减少缓冲器的使用次数 将输出与 后完整的存储器地址相关的其它存储器地址 如果缓冲器溢出 并且丢失了完整地址 解码器将不能计算发出下一个完整数据地址之前的数据地址

ARM DUI 0174C 版权所有 © 2002, 2003 ARM Limited 保留所有权利 2-47

Page 66: pudn.comread.pudn.com/downloads102/ebook/419574/arm...ii 版权所有 © 2002, 2003 ARM Limited 保留所有权利 ARM DUI 0174C RealView Debugger k 1 版权所有 © 2002, 2003 ARM

使用 RealView Debugger 跟踪

2.5.4

Analysis 窗口中的 Profile 选项卡使您可以查看跟踪信息的统计分析 您可以使用此选项卡分析控制流程信息 分支 测量执行某些函数所需的时间以及查看 call-graph 数据

您可以通过单击 Profile 选项卡或者从 Code 窗口选择 Tools → Analyzer/Trace Control → Display Profile View... 来访问此视图 Profile 视图示例如第 2-48 页图 2-20 所示

2-20 Profile

您可以使用 Profiling data 菜单控制在 Profile 选项卡中显示的信息 此菜单包含三个选项集

• 列选项

• 第 2-50 页 Data 视图选项

• 第 2-51 页 Data 解释选项

Profiling data 菜单的此部分使您可选择在 Profile 选项卡中显示的列 它包含以下选项

First Instance 显示 1st 列 它会在缓冲器中显示函数第一个实例的位置 缺省情况下 此选项为禁用

Time% In Self 显示 Exec% 列 它会以占总时间的百分比形式显示花费在函数此范围内的时间 它不包括花费在函数的子函数的时间 缺省情况下 此选项为启用

2-48 版权所有 © 2002, 2003 ARM Limited 保留所有权利 ARM DUI 0174C

Page 67: pudn.comread.pudn.com/downloads102/ebook/419574/arm...ii 版权所有 © 2002, 2003 ARM Limited 保留所有权利 ARM DUI 0174C RealView Debugger k 1 版权所有 © 2002, 2003 ARM

使用 RealView Debugger 跟踪

Time% Including Children (B=>E)

显示 B=>E% 列 它会以占总时间的百分比形式显示从范围开始到结束的时间 它包括花费在函数的子函数的时间 缺省情况下 此选项为启用

Range Types 显示 Type 列 这将显示范围类型 通常为 Func 在没有函数时 例如代码为汇编语言 此范围类型为 Module 缺省情况下 此选项为禁用

Address as Value 显示 Address 列 它会显示访问的指令或数据地址 缺省情况下 此选项为禁用

Range Symbol 显示 Symbolic 列 这将显示范围的符号信息 缺省情况下此选项为启用

Exec/B=>E/B=>E Avg

显示 Exec/B=>E/B=>E Avg 列 它会显示范围中的绝对时间 范围的开始至终止 以及开始至终止的平均时间 缺省情况下 此选项为禁用

Count of Calls 显示 Count 列 它将显示此范围的调用数量 缺省情况下此选项为启用

Min/Max Times 显示 Min/Max B=>E 列 它会显示执行此函数的 短和 长时间 在因不同任务多次执行一个特定的函数 并且您想查看与执行次数有关的 小和 大值时 此列尤其有用 此时间将按当前选定用于分析的格式显示 请参阅第 2-64 页Scale Time Units... 缺省情况下 此选项为禁用

Histogram View 显示 Histogram 列 直方图以粉红色栏显示 您可将此直方图视为线性函数或对数函数 有关选择直方图类型的详情请参阅第 2-50 页 Data 视图选项

缺省情况下 此选项为启用

使用模拟器时 无法使用某些列 无法使用的列在菜单中以灰色显示

ARM DUI 0174C 版权所有 © 2002, 2003 ARM Limited 保留所有权利 2-49

Page 68: pudn.comread.pudn.com/downloads102/ebook/419574/arm...ii 版权所有 © 2002, 2003 ARM Limited 保留所有权利 ARM DUI 0174C RealView Debugger k 1 版权所有 © 2002, 2003 ARM

使用 RealView Debugger 跟踪

Data

Profiling data 菜单的此部分使您可以指定显示的 call-graph 信息 它包含以下选项

Parents of Function

显示函数的父函数 父函数是一种调用已配置的函数的函数 父函数显示在函数行前 并且符号信息缩进 Histogram 如果存在 为浅灰色

缺省情况下 此选项为禁用

Children of Function

显示函数的子函数 子函数是由得到配置的函数调用的函数 子函数显示在函数行之后 并且符号信息缩进 Histogram 如果存在 为深灰色

缺省情况下 此选项为启用

第 2-50 页图 2-21 显示了在 Profile 选项卡中显示的 call-graph 信息示例

2-21 Call-graph

2-50 版权所有 © 2002, 2003 ARM Limited 保留所有权利 ARM DUI 0174C

Page 69: pudn.comread.pudn.com/downloads102/ebook/419574/arm...ii 版权所有 © 2002, 2003 ARM Limited 保留所有权利 ARM DUI 0174C RealView Debugger k 1 版权所有 © 2002, 2003 ARM

使用 RealView Debugger 跟踪

系统会显示每一函数的父函数和子函数 父函数显示在函数行上方 并且缩进两个空格 子函数显示在函数行下方 并且缩进两个空格 函数组由标尺行分隔 如果没有显示父函数或子函数 则不存在标尺行

有关如何使用 RealView Debugger 来捕获配置报告信息的详细示例 请参阅第 2-78 页捕获配置报告信息

Data

Profiling data 菜单的此部分使您可控制用于显示的数据解释方法 它包含以下选项

Use Logarithmic Scale for Histogram

选择此选项时 将通过对数函数 Exec% 或 B=>E 值计算直方图栏的长度 禁用此选项时 将使用简单的线性标尺

Relative %ages

此选项集使您可指定用于计算时间百分比的相关值 选择以下模式之一

Parent/Child %ages Relative to Whole Time

父函数和子函数的 Exec% 和 B=>E% 显示值显示为跟踪总时间的百分比 此设置为缺省值

Parent/Child %ages Relative to Function B=>E

父函数和子函数的 Exec% 和 B=>E% 显示值的显示与函数的 B=>E 绝对时间相关

Parent/Child %ages Relative to Parent/Child B=>E

显示与此父函数/子函数相关的父函数和子函数 Time% 值 对于父函数 Exec% 和 B=>E% 的值的显示与父函数所有实例的 B=>E 总时间相关 对于子函数 Exec% 和 B=>E% 的值的显示与子函数所有实例的 B=>E 总时间相关

2.5.5

本部分介绍了可用于在捕获的跟踪输出内查找特定地址的 Find 菜单选项 每次搜索都是从光标位置向下执行 完整的菜单选项如下

• Find Trigger

• 第 2-52 页 Find Position Match...

• 第 2-53 页 Find Time Match...

• 第 2-53 页 Find Raw Address Match...

• 第 2-54 页 Find Address Expression Match...

ARM DUI 0174C 版权所有 © 2002, 2003 ARM Limited 保留所有权利 2-51

Page 70: pudn.comread.pudn.com/downloads102/ebook/419574/arm...ii 版权所有 © 2002, 2003 ARM Limited 保留所有权利 ARM DUI 0174C RealView Debugger k 1 版权所有 © 2002, 2003 ARM

使用 RealView Debugger 跟踪

• 第 2-55 页 Find Data Value Match...

• 第 2-56 页 Find Symbol Name Match...

• 第 2-56 页 Find Next Match

• 第 2-56 页 Find Previous Match

Find Trigger

查找代码中表示触发点的跟踪输出行 有关设置触发的详情 请参阅第 2-16 页设置简单跟踪点

Find Position Match...

使您可以在跟踪缓冲器内查找特定的要素编号 请参阅第 2-41 页列类型 中的 Elem column 说明 如果您选择了此选项 则系统将显示一个 Prompt 对话框如图 2-22 所示

2-22

输入下面类型之一的信息 然后单击 Find

以十进制或十六进制格式指定要素编号 只返回精确的匹配

指定要素编号的范围 RealView Debugger 将显示此范围内第一个找到的值 您指定的范围可以是

• low..high 如 1..10 RealView Debugger 将找到 Elem 值在 1 到 10 范围内的第一个匹配项

• low..+len 如 40..+10 RealView Debugger 将找到 Elem 值在 40 到 50 范围内的第一个匹配项 值为 10 的 len 代表偏移值您也可以输入一个负值范围 如 -10..10

2-52 版权所有 © 2002, 2003 ARM Limited 保留所有权利 ARM DUI 0174C

Page 71: pudn.comread.pudn.com/downloads102/ebook/419574/arm...ii 版权所有 © 2002, 2003 ARM Limited 保留所有权利 ARM DUI 0174C RealView Debugger k 1 版权所有 © 2002, 2003 ARM

使用 RealView Debugger 跟踪

Find Time Match...

使您可以在 Time/cycl 列 或 Profile 选项卡中的 Exec% 列 找到特定的时间标记值 如果您选择了此选项 则系统将显示一个 Prompt 对话框 如第 2-53 页图 2-23 所示

2-23

输入下面类型之一的信息 然后单击 Find

以 Time/Cycl 列当前使用的格式指定时间标记值 只返回精确的匹配 有关更改 Analysis 窗口中显示时间信息的格式的详情 请参阅第 2-64 页 Scale Time Units...

以 Time/Cycl 列当前使用的格式指定时间标记值范围 有关更改 Analysis 窗口中显示时间信息的格式的详情 请参阅第 2-64 页Scale Time Units... 在此情况下 RealView Debugger 将显示此范围内的第一个匹配项 您指定的范围可以是

• time_low..time_high 如 -100..-50 RealView Debugger 将找到时间标记值在 -100 到 -50 范围内的第一个匹配项

• time_low..+len 如 -100..+10 RealView Debugger 将找到时间标记值在 -100 到 -90 范围内的第一个匹配项 值为 10 的 len 代表偏移值

• 您可以使用浮点值 如 -50.5

• 根据您的系统解决方案 Time/cycl 列可能包含周期数 而不是时间标记值 在此情况下 您可以使用周期数进行搜索

Find Raw Address Match...

使您可以在 Address 列内查找特定的地址 如果您选择了此选项 则系统将显示一个 Prompt 对话框 如第 2-54 页图 2-24 所示

ARM DUI 0174C 版权所有 © 2002, 2003 ARM Limited 保留所有权利 2-53

Page 72: pudn.comread.pudn.com/downloads102/ebook/419574/arm...ii 版权所有 © 2002, 2003 ARM Limited 保留所有权利 ARM DUI 0174C RealView Debugger k 1 版权所有 © 2002, 2003 ARM

使用 RealView Debugger 跟踪

2-24

输入下面类型之一的信息 然后单击 Find

以十进制或十六进制格式指定地址值 只返回精确的匹配

指定地址值的范围 RealView Debugger 将显示此范围内的第一个匹配地址 您指定的范围可以是

• addr_low..addr_high 如 0x00008E50..0x0000926C RealView Debugger 将找到在此范围内找到的第一个地址

• addr_low..+len 如 0x00008E50..+10 RealView Debugger 将找到从 0x00008E50 到 0x00008E5A 范围内的第一个地址 值为 10 的 len 代表偏移值

要通过输入符号表达式来搜索特定地址 您必须使用 Find Address Expression Match... 选项

Find Address Expression Match...

使您可以在 Address 列查找与您输入的表达式对应的特定地址 地址表达式可以是函数 结构或数组符号 如果您选择了此选项 则系统将显示一个 Prompt 对话框 如第 2-54 页图 2-25 所示

2-25

2-54 版权所有 © 2002, 2003 ARM Limited 保留所有权利 ARM DUI 0174C

Page 73: pudn.comread.pudn.com/downloads102/ebook/419574/arm...ii 版权所有 © 2002, 2003 ARM Limited 保留所有权利 ARM DUI 0174C RealView Debugger k 1 版权所有 © 2002, 2003 ARM

使用 RealView Debugger 跟踪

输入下面类型之一的信息 然后单击 Find

指定一个地址表达式 它可以是

• 函数名称

• 结构名称

• 数组符号

地址值的自动范围将根据您输入的表达式生成 可为以下形式

• 函数名称 生成的地址范围是从函数的起始地址到结束地址

• 结构 生成的地址范围是从该结构的起始地址到结束地址

• 数组符号 生成的地址范围是从变量的起始地址到结束地址 其中变量的结束地址为 start+sizeof(var) 例如 如果存储器中存储数组处的起始值为 0x8000 并且数组大小为 16 字节 则结束地址将为 0x8010 即 0x8000+16

RealView Debugger 将显示生成的自动范围内第一个找到的地址值

Find Data Value Match...

使您可以在 Data 列查找从存储器读取或写入存储器的特定数据值 如果您选择了此选项 则系统将显示一个 Prompt 对话框 如第 2-55 页图 2-26 所示

2-26

输入下面类型之一的信息 然后单击 Find

以十进制或十六进制格式指定数据值

指定数据值的范围 RealView Debugger 将显示从存储器读取或写入存储器的值在该范围内的匹配项 您指定的范围可以是

• data_low..data_high 如 1..10 RealView Debugger 将找到从存储器读取或写入存储器的数据值在 1 到 10 范围内的第一个匹配项

ARM DUI 0174C 版权所有 © 2002, 2003 ARM Limited 保留所有权利 2-55

Page 74: pudn.comread.pudn.com/downloads102/ebook/419574/arm...ii 版权所有 © 2002, 2003 ARM Limited 保留所有权利 ARM DUI 0174C RealView Debugger k 1 版权所有 © 2002, 2003 ARM

使用 RealView Debugger 跟踪

• data_low..+len 如 40..+10 RealView Debugger 将找到从存储器读取或写入存储器的数据值在 40 到 50 范围内的第一个匹配项 值为 10 的 len 代表偏移值

Find Symbol Name Match...

使您可以在 Symbolic 列查找特定的符号名称字符串 如函数名称或变量 如果您选择了此选项 则系统将显示一个 Prompt 对话框 如图 2-27 所示

2-27

输入符号名称过滤器 然后单击 Find 符号名称过滤器可以包含以下字符

* 多字符通配符

? 单字符通配符

例如 要查找变量 Ptr_1_Glob 您可以使用 Ptr_1_* 另外 您也可以使用 Ptr_?_Glob

RealView Debugger 将显示与您的输入相匹配的第一个找到的符号名称

Find Next Match

在跟踪输出中查找您使用 Find... 选项 后指定的搜索项目的下一个实例

Find Previous Match

在跟踪输出中向上搜索您使用 Find... 选项 后指定的搜索项目的前一实例

2.5.6

本部分介绍了可用于过滤已经执行的跟踪捕获结果的 View 菜单选项 如果您要提炼出显示内容中感兴趣的部分 此功能将很有帮助 一共可以设置 16 种过滤器

完整菜单选项如下

• 第 2-57 页 Update

• 第 2-57 页 Clear Filtering

2-56 版权所有 © 2002, 2003 ARM Limited 保留所有权利 ARM DUI 0174C

Page 75: pudn.comread.pudn.com/downloads102/ebook/419574/arm...ii 版权所有 © 2002, 2003 ARM Limited 保留所有权利 ARM DUI 0174C RealView Debugger k 1 版权所有 © 2002, 2003 ARM

使用 RealView Debugger 跟踪

• 第 2-57 页 Filter on Position Match...

• 第 2-58 页 Filter on Time Match...

• 第 2-59 页 Filter on Raw Address Match...

• 第 2-60 页 Filter on Address Expression Match...

• 第 2-60 页 Filter on Data Value Match...

• 第 2-61 页 Filter on Symbol Name Match...

• 第 2-62 页 Filter on Access Type Match...

• 第 2-63 页 Filter on Percent Time Match...

• 第 2-64 页 AND Filters (vs. OR)

• 第 2-64 页 Code Window Tracking

• 第 2-64 页 Show Details View

• 第 2-64 页 Scale Time Units...

• 第 2-65 页 Define Processor Speed for Scaling...

• 第 2-65 页 Show Position Relative to Trigger

Update

此选项用于刷新 Analysis 窗口中的信息

Clear Filtering

此选项用于清除已经设置为过滤已经执行的跟踪捕获结果的过滤器

Filter on Position Match...

此选项使您可以根据跟踪缓冲器内的特定要素编号或编号范围过滤信息 请参阅第 2-41 页列类型 中的 Elem 列说明 如果您选择了此选项 则系统将显示一个 Prompt 对话框 如图 2-28 所示

2-28

ARM DUI 0174C 版权所有 © 2002, 2003 ARM Limited 保留所有权利 2-57

Page 76: pudn.comread.pudn.com/downloads102/ebook/419574/arm...ii 版权所有 © 2002, 2003 ARM Limited 保留所有权利 ARM DUI 0174C RealView Debugger k 1 版权所有 © 2002, 2003 ARM

使用 RealView Debugger 跟踪

输入下面类型之一的信息 然后单击 Filter

如果要过滤信息以只显示某一行 则请以十进制或十六进制格式指定一个要素编号

指定要素编号范围 RealView Debugger 将信息过滤为只保留该范围内的那些行 您指定的范围可以是

• low..high 如 1..10 RealView Debugger 将只显示 Elem 值在 1 到 10 范围内的行

• low..+len 如 40..+10 RealView Debugger 将只显示 Elem 值在 40 到 50 范围内的行 值为 10 的 len 代表偏移值 您也可以输入一个负值范围 如 -10..10

Filter on Time Match...

使您可以根据 Time/cycl 列中包含的指定时间标记值或时间标记值范围过滤信息 此外 这将影响 Profile 选项卡的 Exec% 列中的值 如果您选择了此选项则系统将显示一个 Prompt 对话框 如图 2-29 所示

2-29

输入下面类型之一的信息 然后单击 Filter

如果要过滤信息以只显示某一行 则请以当前用于 Time/Cycl 列的格式指定一个时间标记值 有关更改 Analysis 窗口中显示时间信息的格式的详情 请参阅第 2-64 页 Scale Time Units...

指定时间标记值范围 RealView Debugger 会将信息过滤为只保留该范围内的那些行 有关更改 Analysis 窗口中显示时间信息的格式的详情 请参阅第 2-64 页 Scale Time Units... 您指定的范围可为

• time_low..time_high 如 -100..-50 RealView Debugger 将只显示时间标记值在 -100 到 -50 范围内的行

2-58 版权所有 © 2002, 2003 ARM Limited 保留所有权利 ARM DUI 0174C

Page 77: pudn.comread.pudn.com/downloads102/ebook/419574/arm...ii 版权所有 © 2002, 2003 ARM Limited 保留所有权利 ARM DUI 0174C RealView Debugger k 1 版权所有 © 2002, 2003 ARM

使用 RealView Debugger 跟踪

• time_low..+len 如 -100..+10 RealView Debugger 将只显示时间标记值在 -100 到 10 范围内的行 值为 10 的 len 代表偏移值

• 您可以使用浮点值 如 -90.5

• 根据您的系统解决方案 Time/cycl 列可能包含周期数 而不是时间标记值 在此情况下 您可以使用周期数进行过滤

Filter on Raw Address Match...

使您可以根据 Address 列中包含的指定地址或地址范围过滤信息 如果您选择了此选项 则系统将显示一个 Prompt 对话框 如图 2-30 所示

2-30

输入下面类型之一的信息 然后单击 Filter

如果要过滤信息以只显示某行 则请以十进制或十六进制格式指定一个地址值

指定地址值的范围 RealView Debugger 会将信息过滤为只保留该范围内的那些行 您指定的范围可以是

• addr_low..addr_high 如 0x00008E50..0x0000926C RealView Debugger 将只显示地址值在该范围内的行

• addr_low..+len 如 0x00008E50..+10 RealView Debugger 将只显示地址值在 0x00008E50 到 0x00008E5A 范围内的行 值为 10 的 len 代表偏移值

要通过输入符号表达式过滤某一地址或地址范围的结果 您必须使用 Filter on Address Expression Match... 选项

ARM DUI 0174C 版权所有 © 2002, 2003 ARM Limited 保留所有权利 2-59

Page 78: pudn.comread.pudn.com/downloads102/ebook/419574/arm...ii 版权所有 © 2002, 2003 ARM Limited 保留所有权利 ARM DUI 0174C RealView Debugger k 1 版权所有 © 2002, 2003 ARM

使用 RealView Debugger 跟踪

Filter on Address Expression Match...

使您可以根据 Address 列中与您输入的表达式相对应的地址或地址范围过滤信息 如果您选择了此选项 则系统将显示一个 Prompt 对话框 如图 2-31 所示地址表达式可以是函数 结构或数组符号

2-31

输入下面类型之一的信息 然后单击 Filter

如果要过滤信息以只显示某行 则请指定一地址表达式 地址表达式可以是

• 函数名称

• 结构名称

• 数组符号

地址值的自动范围将根据您输入的表达式生成 可为以下形式

• 函数名称 生成的地址范围是从该函数的起始地址到结束地址

• 结构 生成的地址范围是从该结构的起始地址到结束地址

• 数组符号 生成的地址范围是从变量的起始地址到结束地址 其中变量的结束地址为 start+sizeof(var) 例如 如果存储器中存储数组处的起始值为 0x8000 并且数组大小为 16 字节 则结束地址将为 0x8010 即 0x8000+16

RealView Debugger 将信息过滤到只有通过生成的自动范围表示的行

Filter on Data Value Match...

使您可以根据从存储器读取或写入存储器的指定数据值或数据值范围过滤信息 这些值可以在 Data 列中找到 十进制或十六进制 如果您选择了此选项 则系统将显示一个 Prompt 对话框 如图 2-32 所示

2-60 版权所有 © 2002, 2003 ARM Limited 保留所有权利 ARM DUI 0174C

Page 79: pudn.comread.pudn.com/downloads102/ebook/419574/arm...ii 版权所有 © 2002, 2003 ARM Limited 保留所有权利 ARM DUI 0174C RealView Debugger k 1 版权所有 © 2002, 2003 ARM

使用 RealView Debugger 跟踪

2-32

输入下面类型之一的信息 然后单击 Filter

如果要过滤信息以只显示某行 则请以十进制或十六进制格式指定一个数据值

指定数据值范围 RealView Debugger 会将信息过滤为只保留从存储器读取或写入存储器的数据值在该范围内的行 您指定的范围可以是

• data_low..data_high 如 1..10 RealView Debugger 将只显示从存储器读取或写入存储器的数据值在 1 到 10 范围内的行

• data_low..+len 如 40..+10 RealView Debugger 将只显示从存储器读取或写入存储器的数据值在 40 到 50 范围内的行 值为 10 的 len 代表偏移值

Filter on Symbol Name Match...

使您可以根据 Symbol 列包含的指定符号名称字符串 如函数名称或变量 或符号名称字符串范围过滤信息 如果您选择了此选项 则系统将显示一个 Prompt 对话框 如第 2-61 页图 2-33 所示

2-33

输入符号名称过滤器 然后单击 Filter

ARM DUI 0174C 版权所有 © 2002, 2003 ARM Limited 保留所有权利 2-61

Page 80: pudn.comread.pudn.com/downloads102/ebook/419574/arm...ii 版权所有 © 2002, 2003 ARM Limited 保留所有权利 ARM DUI 0174C RealView Debugger k 1 版权所有 © 2002, 2003 ARM

使用 RealView Debugger 跟踪

符号名称过滤器可以包含以下字符

* 多字符通配符

? 单字符通配符

RealView Debugger 只显示包含您指定的符号名称的行

例如 要只显示包含变量 Ptr_1_Glob 的行 您可以使用 Ptr_1_* 另外 您也可以使用 Ptr_?_Glob

Filter on Access Type Match...

使您可以根据 Type 列中选定的一个或多个访问类型来过滤信息 如果您选择了此选项 则系统将显示一个 List Selection 对话框 如图 2-34 所示

2-34

选择要在过滤操作中包括的一个或多个访问类型 然后单击 OK 可用的访问类型如下

• Code access

• Data access

• Pre-Fetch

• DMA 直接存储器访问

• Interrupt

• Bus Transaction

• Probe collection

• Pin/Signal change

• Errors 非跟踪错误

2-62 版权所有 © 2002, 2003 ARM Limited 保留所有权利 ARM DUI 0174C

Page 81: pudn.comread.pudn.com/downloads102/ebook/419574/arm...ii 版权所有 © 2002, 2003 ARM Limited 保留所有权利 ARM DUI 0174C RealView Debugger k 1 版权所有 © 2002, 2003 ARM

使用 RealView Debugger 跟踪

List Selection 对话框所示的访问类型都是 RealView Debugger 支持的存取类型但并不是所有目标跟踪时都支持所有这些选项 例如 系统并不为 ETM 目标支持 DMA Bus Transaction Probe collection 和 Pin/Signal change 选项

如果根据不支持的选项进行过滤 则系统会执行过滤 但不会找到匹配数据因此 Analysis 窗口不显示任何信息 要将跟踪数据返回至 Analysis 窗口 您必须使用 Clear Filtering 选项清除过滤器

Filter on Percent Time Match...

只用于 Profile 选项卡 此选项使您可以根据 Exec% 列显示的指定执行时间百分比来过滤信息 如果您选择了此选项 则系统将显示一个 Prompt 对话框 如图 2-35 所示

2-35

输入以下任一项内容 然后单击 Filter

指定一百分比时间值 例如 如果要过滤信息以只显示表示执行百分比值为 50% 即中途 的行 则输入 50

指定 low..high 的百分比值范围 如 50..60 RealView Debugger 将只显示执行百分比值在 50% 到 60% 范围内的行

指定 low..+len 的范围 如 40..+10 RealView Debugger 将只显示执行百分比值在 40% 到 50% 范围内的行 值为 10 的 len 代表偏移值

您可以使用浮点值 如 -40.5

ARM DUI 0174C 版权所有 © 2002, 2003 ARM Limited 保留所有权利 2-63

Page 82: pudn.comread.pudn.com/downloads102/ebook/419574/arm...ii 版权所有 © 2002, 2003 ARM Limited 保留所有权利 ARM DUI 0174C RealView Debugger k 1 版权所有 © 2002, 2003 ARM

使用 RealView Debugger 跟踪

AND Filters (vs. OR)

更改同时使用过滤器的方式 您可以设置 AND 或 OR 条件 选择此选项可设置 AND 条件 而取消选定此选项则设置为 OR 条件 缺省值

例如 如果您选择配置 Filter on Position Match... 和 Filter on Data Value Match... 则将使用以下内容 具体取决于是否选择了 AND Filters (vs. Or) 选项

• 如果选择了 (AND) 则过滤进程将只返回符合您输入的位置和数据值匹配标准的执行区域的跟踪信息

• 如果取消选定了 (OR) 则过滤进程将返回符合您输入的位置或数据值匹配标准的执行区域的跟踪信息

Code Window Tracking

指示 Code 窗口跟踪到当前在 Analysis 窗口选定的位置

Show Details View

在窗口底部的详细资料视图中显示详细信息 请参阅第 2-70 页其它窗口要素 要隐藏状态栏详细资料 请取消选定此选项

Scale Time Units...

使您可以更改 Analysis 窗口中显示时间信息的格式 如果选择了此选项 系统将显示 List Selection 对话框 选择以下时间格式之一 然后单击 OK• Default• Picoseconds• Nanoseconds• Microseconds• Milliseconds• Seconds• Cycles

2-64 版权所有 © 2002, 2003 ARM Limited 保留所有权利 ARM DUI 0174C

Page 83: pudn.comread.pudn.com/downloads102/ebook/419574/arm...ii 版权所有 © 2002, 2003 ARM Limited 保留所有权利 ARM DUI 0174C RealView Debugger k 1 版权所有 © 2002, 2003 ARM

使用 RealView Debugger 跟踪

缺省格式取决于跟踪捕获硬件和目标处理器 已启用 ETM 的处理器缺省的时间格式为 nanoseconds

如果缺省格式为 cycles 且您又选择了其它显示格式 则必须定义用于定标的处理器速率

如果缺省格式不是 cycles 但您选择 cycles 作为显示格式 则必须定义要定标的处理器速率

Define Processor Speed for Scaling...

使您可以指定正在使用的处理器的时钟速度 以便在当前缓冲器中设置周期和时间标记值之间的定标 如 Time/cycl 列所示 如果您选择了此选项 则系统将显示一个 Prompt 对话框 如图 2-36 所示

2-36

输入单位为 MHz 的时钟速度 然后单击 Speed

Show Position Relative to Trigger

显示与触发点相关的当前位置 RealView Debugger 从 -M 到 +N 对要素进行编号 其中 0 是触发点 如果您设置了一个触发位置 则系统将自动启用此选项且缺省情况下将显示相关位置

如果禁用此选项并且没有指定触发点 则要素编号方式取决于使用的硬件

对于基于 ETM 的目标 此选项是禁用的 如果您使用基于 ETM 的目标 则系统将一直显示相关的位置

ARM DUI 0174C 版权所有 © 2002, 2003 ARM Limited 保留所有权利 2-65

Page 84: pudn.comread.pudn.com/downloads102/ebook/419574/arm...ii 版权所有 © 2002, 2003 ARM Limited 保留所有权利 ARM DUI 0174C RealView Debugger k 1 版权所有 © 2002, 2003 ARM

使用 RealView Debugger 跟踪

2.5.7

本部分介绍了您可用于自定义 Analysis 窗口显示外观的 Trace columnsProfiling data 和 Sort 菜单选项

Trace columns Profiling data

Trace columns 菜单中的选项使您可以指明要显示或隐藏的列 要显示特定列请在 Trace columns 菜单中选择此列 ( ) 要隐藏此列 请取消选定菜单条目

列的可用性取决于当前显示的选项卡

有关 Analysis 窗口中每列所包含的信息类型的说明 请参阅第 2-41 页列类型

Trace columns 菜单的选项用于控制在除 Profile 以外的所有选项卡中显示的内容 这些选项为

Position 显示 Elem 列

Absolute Time

显示 Time/cycl 列

Relative Time

显示 +Time 列

Access Type 显示 Type 列

Address as Value

显示 Address 列

Address as Symbol/Line

显示 Symbolic 列

Data Value in Hex

以十六进制格式显示 Time/cycl 和 +Time 列中的所有值

Data Value in Decimal

以十进制格式显示 Time/cycl 和 +Time 列中的所有值

2-66 版权所有 © 2002, 2003 ARM Limited 保留所有权利 ARM DUI 0174C

Page 85: pudn.comread.pudn.com/downloads102/ebook/419574/arm...ii 版权所有 © 2002, 2003 ARM Limited 保留所有权利 ARM DUI 0174C RealView Debugger k 1 版权所有 © 2002, 2003 ARM

使用 RealView Debugger 跟踪

Interpretation of Data

显示 Other 列

Count of Hits

显示 Count 列

Profiling data 菜单中的选项用于控制在 Profile 选项卡中显示的内容 这些选项为

First Instance

显示 1st 列

Time% In Self

显示 Exec% 列

此列只在选择了 Profiling data 菜单中的 Time% In Self 时显示

Time%Including Children (B=>E)

显示 B=>E% 列

Range Types

显示 Type 列

Address as Value

显示 Address 列

Range Symbols

显示 Symbolic 列

Exec/B=>E/B=>E Avg

显示 Exec/B=>E/B=>E Avg 列

Count of Calls

显示 Count 列

Min/Max Times

显示 Min/Max B=>E 列

Histogram View

显示 Histogram 列

ARM DUI 0174C 版权所有 © 2002, 2003 ARM Limited 保留所有权利 2-67

Page 86: pudn.comread.pudn.com/downloads102/ebook/419574/arm...ii 版权所有 © 2002, 2003 ARM Limited 保留所有权利 ARM DUI 0174C RealView Debugger k 1 版权所有 © 2002, 2003 ARM

使用 RealView Debugger 跟踪

Sort

此菜单中的选项使您可以按指定的列对跟踪信息进行排序 信息可以按升序或降序进行排序 您可以以两种方式来更改 Analysis 窗口输出的排序顺序

• 选择 Sort 菜单中的其中一个 By... 选项 确定要用作排序键的列 您也可以选择 Reverse Sort 选项来颠倒选定排序的顺序

• 单击要作为排序依据的列的列标题 如果您再次单击相同的列标题 则将颠倒排序顺序

如果您单击一个列标题来按特定列排序 则系统将自动选定 Sort 菜单中的相应项目 如果您再次单击列标题来颠倒顺序 则系统将自动选定项目 Reverse Sort

完整的 Sort 菜单选项如下

By Time/Entry

在 Profile 选项卡中按 Exec% 列对输出进行排序 而在所有其它选项卡则按 Time/cycl 列对输出进行排序 这是缺省的排序选项

By Address 在所有选项卡中都按 Address 列对输出进行排序

By Name 在所有选项卡中都按 Symbolic 列对输出进行排序

By Data Value

按其中一个 Data 列对输出进行排序 十进制或十六进制 在 Profile 选项卡中不可用

By Access Type

在所有选项卡中都按 Type 列对输出进行排序

By Relative Time

在 Profile 选项卡中按 B=>E% 对输出进行排序 而在所有其它选项卡中则都按 +Time 列对输出进行排序

By Count 在所有选项卡中都按 Count 列对输出进行排序

Reverse Sort

颠倒选定排序的顺序 要返回到按指定列的升序排序 缺省值您必须取消选定此选项

2-68 版权所有 © 2002, 2003 ARM Limited 保留所有权利 ARM DUI 0174C

Page 87: pudn.comread.pudn.com/downloads102/ebook/419574/arm...ii 版权所有 © 2002, 2003 ARM Limited 保留所有权利 ARM DUI 0174C RealView Debugger k 1 版权所有 © 2002, 2003 ARM

使用 RealView Debugger 跟踪

2.5.8

本部分介绍了如何使用 Analysis 窗口中的 File 菜单来存储和检索捕获的跟踪和配置报告信息 完整的菜单选项如下

• Load Trace Buffer from File...

• 第 2-69 页 Save Trace Buffer to File...

• 第 2-70 页 Save Filtered Trace Buffer to File...

• 第 2-70 页 Close Loaded File

• 第 2-70 页 Print Trace Lines...

• 第 2-70 页 Exit Window

Load Trace Buffer from File...

此选项使您可以从文件中加载先前保存的跟踪缓冲器 并进行再次分析 要执行需要很长时间才达到兴趣点的跟踪捕获 且又不想重复此进程时 此选项将很有用 即使是在您继续对源代码进行修改后 您也可以分析保存的跟踪缓冲器中的配置报告信息

有关可加载的不同文件类型的详情 请参阅下一选项的说明 即 Save Trace Buffer to File

Save Trace Buffer to File...

此选项使您可以将当前跟踪信息保存至一个文件 如果您选择了此选项 则系统将提示您从 List Selection 对话框中选择以下选项之一

Text file containing display lines

存储表格式的文本文件 文件扩展名为 .txt 包含在 Analysis 窗口的当前选项卡视图中显示的内容 此文件类型不能重新加载至 Analysis 窗口

Full dump of Trace contents

存储二进制文件 文件扩展名为 .trc 包含 RealView Debugger 用于生成跟踪信息的完整信息 包括任何配置报告信息

Minimal dump of Trace contents (timing+address+type)

存储二进制文件 文件扩展名为 .trm 只包含 RealView Debugger 用于生成跟踪信息的计时 地址和类型信息 包括任何配置报告信息 将来加载此文件时 RealView Debugger 将按这三个属性重新构建完整的跟踪信息

ARM DUI 0174C 版权所有 © 2002, 2003 ARM Limited 保留所有权利 2-69

Page 88: pudn.comread.pudn.com/downloads102/ebook/419574/arm...ii 版权所有 © 2002, 2003 ARM Limited 保留所有权利 ARM DUI 0174C RealView Debugger k 1 版权所有 © 2002, 2003 ARM

使用 RealView Debugger 跟踪

如果在将来的跟踪会话中加载此类型的文件 则该存储器位置显示的数据值可能与原来保存此文件时显示的数据值不同 而且系统不会存储错误和警告

Profiling data

存储二进制文件 文件扩展名为 .trp 只包含 RealView Debugger 使用的配置报告信息 与 Minimal dump of Trace contents 选项不同 RealView Debugger 不能根据此文件的内容重新构建完整的跟踪信息 但是 如果您只想保存配置报告信息 建议您使用此文件类型 因为它比 .trc 文件所占的空间小很多

在每种情况下 系统都会显示 Select Trace file to Save to 对话框 在此您必须指定文件名和目录 缺省文件名的扩展名取决于您所选择的文件类型

Save Filtered Trace Buffer to File...

此选项与 Save Trace Buffer to File... 相同 如果您使用 View 菜单中的选项执行了过滤 则此选项将确保您可存储过滤后的跟踪信息

Close Loaded File

此选项用于关闭当前在 Analysis 窗口加载的文件并清除此窗口中的跟踪信息

Print Trace Lines...

此选项使您可以打印 Analysis 窗口中包含的跟踪缓冲器内容 如果您选择了此选项 则系统将显示标准的 Print 对话框

Exit Window

此选项用于关闭 Analysis 窗口

2.5.9

本部分介绍了 Analysis 窗口的以下其它要素

• 详细资料视图

• 第 2-72 页上下文菜单

2-70 版权所有 © 2002, 2003 ARM Limited 保留所有权利 ARM DUI 0174C

Page 89: pudn.comread.pudn.com/downloads102/ebook/419574/arm...ii 版权所有 © 2002, 2003 ARM Limited 保留所有权利 ARM DUI 0174C RealView Debugger k 1 版权所有 © 2002, 2003 ARM

使用 RealView Debugger 跟踪

详细资料视图直接位于 Analysis 窗口底部选项卡的上面 如图 2-37 所示 要显示状态栏信息 请从 View 菜单中选择 Show Details View 选项

2-37

详细资料视图将根据当前显示的选项卡提供不同的信息

Square-bracket information

总共包含三个值 分别表示以下内容

• 显示的要素数量

• RealView Debugger 收集的要素数量

• 分析仪缓冲器中的要素数量

在过滤跟踪信息时 第一个数字用于显示您通过过滤选择的要素数量 在您只收集了硬件跟踪缓冲器中的第前 N 个要素时 第二个数字显示的是已收集的要素数量 RealView Debugger 从 -M 到 +N 对要素进行编号 其中 0 是触发点

在括号中只显示单个数值时 则表明 RealView Debugger 已经读取所有跟踪数据 且括号中的数字就是显示的要素数量

在括号中只显示两个数值时 则表明 RealView Debugger 具有所有可用的跟踪数据 但是显示的要素数量与收集的要素数量不同这将表示为 [number_shown, number_collected]

Address 当前选定行的目标存储器地址

Data 与当前选定行关联的数据值 如果有

Disassembly 当前选定行指令的反汇编

ARM DUI 0174C 版权所有 © 2002, 2003 ARM Limited 保留所有权利 2-71

Page 90: pudn.comread.pudn.com/downloads102/ebook/419574/arm...ii 版权所有 © 2002, 2003 ARM Limited 保留所有权利 ARM DUI 0174C RealView Debugger k 1 版权所有 © 2002, 2003 ARM

使用 RealView Debugger 跟踪

您可以在任何选项卡中右击 从而显示 Analysis 窗口的上下文菜单 此菜单中的选项有

Track in Code Window (double-click)

如果您选择了此选项 则将发生自动地址跟踪 RealView Debugger 将在相应的 File Editor 窗格选项卡中查找与在 Analysis 窗口中的当前选定行对应的源或反汇编行 跟踪结果取决于您在 File Editor 窗格中访问的选项卡

Source tab

如果您在 Analysis 窗口中选择一个表示指令的输出行RealView Debugger 将在相应的源行旁插入一个标记

如果您选择的指令所在的地址与您的任何一个源文件都不对应 则将不会发生跟踪

Disassembly tab

如果您在 Analysis 窗口中选择一个表示指令的输出行RealView Debugger 将在相应的反汇编行旁插入一个标记

您也可以通过在 Analysis 窗口中双击目标行来跟踪地址

如果您选择的行不表示指令 则不会发生跟踪

要关闭自动跟踪 请取消选定选项 Track in Code Window (double right-click)

Time Measure from Selected...

显示从选定行到当前行的周期数

要使用此功能 您必须

1. 选择 单击 表示测量起点的行

2. 右击表示测量终点的行

2-72 版权所有 © 2002, 2003 ARM Limited 保留所有权利 ARM DUI 0174C

Page 91: pudn.comread.pudn.com/downloads102/ebook/419574/arm...ii 版权所有 © 2002, 2003 ARM Limited 保留所有权利 ARM DUI 0174C RealView Debugger k 1 版权所有 © 2002, 2003 ARM

使用 RealView Debugger 跟踪

3. 从上下文菜单中选择 Time Measure from Selected... 此时将显示 Information 对话框 图 2-38

2-38

Time Measure from Trigger

显示从触发到选定行的周期数

Find Next 搜索您指定的搜索项目下一个实例的跟踪输出 有关在 Analysis 窗口执行搜索的详情 请参阅第 2-51 页查找信息

Find Previous

从当前的光标位置开始搜索您指定的搜索项目前一个实例的跟踪输出 有关在 Analysis 窗口执行搜索的详情 请参阅第 2-51 页查找信息

Copy 将选定文本复制到剪贴板

ARM DUI 0174C 版权所有 © 2002, 2003 ARM Limited 保留所有权利 2-73

Page 92: pudn.comread.pudn.com/downloads102/ebook/419574/arm...ii 版权所有 © 2002, 2003 ARM Limited 保留所有权利 ARM DUI 0174C RealView Debugger k 1 版权所有 © 2002, 2003 ARM

使用 RealView Debugger 跟踪

2.6 RealView Debugger

本部分提供多个示例 介绍了可如何使用 RealView Debugger 跟踪功能来解决典型开发问题和分析程序执行的特定要素 它包含以下部分

• 示例简介

• 查找数据中止原因

• 第 2-78 页捕获配置报告信息

• 第 2-82 页设置复杂跟踪点

2.6.1

建议您在对自己程序使用跟踪功能之前执行这些示例 因为这些示例就是设计用来向您介绍 RealView Debugger 的跟踪功能 且假定您没有使用 RealView Debugger 的经验

这些示例要求您使用位于 RealView Debugger 安装的 \Examples 目录中的以下映像

• dataabort.axf

• dhrystone.axf

源文件组件位于映像的上一目录层 即在 \dataabort 和 dhrystone 目录中

开始每个示例之前 请先启动 RealView Debugger 并确保跟踪硬件或模拟器和目标已正确配置

提供示例如下

• 查找数据中止原因

• 第 2-78 页捕获配置报告信息

• 第 2-82 页设置复杂跟踪点

2.6.2

此示例说明了如何使用 RealView Debugger 的跟踪功能查找程序中的问题区域

此示例要求您具有以下 RealView Debugger 支持的跟踪硬件组件 且必须正确安装和连接这些组件

• JTAG 接口单元

• 跟踪捕获硬件

• 启用了 ETM 的 ARM 处理器

有关系统配置的信息 请参阅附录 A 设置跟踪硬件和附录 B 设置跟踪软件

您不能使用模拟器执行此示例 因为模拟器不会导致数据中止

2-74 版权所有 © 2002, 2003 ARM Limited 保留所有权利 ARM DUI 0174C

Page 93: pudn.comread.pudn.com/downloads102/ebook/419574/arm...ii 版权所有 © 2002, 2003 ARM Limited 保留所有权利 ARM DUI 0174C RealView Debugger k 1 版权所有 © 2002, 2003 ARM

使用 RealView Debugger 跟踪

此示例中使用的 DataAbort 程序用于计算第 n 个质数 在此系统将提示您在运行程序时标明 n 但是 程序执行将导致数据中止

要执行此示例并确定数据中止的原因

1. 将示例映像 dataabort.axf 加载至调试器 此文件位于基本安装的 \Examples 目录中 dataabort.cpp 的选项卡显示在 File Editor 窗格中

2. 以如下方式启用向量捕获中的数据中止

a. 在 Code 窗口的 Register 窗格中 单击 Debug 选项卡 此时将显示调试器的内部值

b. 双击 vector_catch 值 并将值更改为 0

这将使调试器可以捕获数据中止异常

3. 以如下方式配置跟踪选项

a. 从 RealView Debugger Code 窗口的 View 菜单中选择 Analysis Window 此时将显示 Analysis 窗口

b. 从 Analysis 窗口的 Edit 菜单中选择 Collect Data Before Trigger

c. 从 Analysis 窗口的 Edit 菜单中选择 Stop Processor on Trigger

d. 从 Analysis 窗口的 Edit 菜单中选择 Configure Analyzer Properties...以显示 Configure ETM 对话框 在对话框的 Data tracing mode 部分确保选择了 Trace data and address 在对话框的 Trace data width 部分 确保选择了 16 bit 单击 OK 关闭 Configure ETM 对话框

这将确保在您设置的触发点之前出现的程序区域捕获到跟踪数据的缓冲器加载 如果要查看抢在触发点之前而不是触发点之后发生的事件 这将十分有用 在此示例中 触发点表示程序中发生数据中止的区域

4. 以如下方式显示数据中止向量

a. 在 Code 窗口的 File Editor 窗格中 选择 Dsm 选项卡以显示程序的反汇编

b. 在 File Editor 窗格中反汇编代码右边的白空间右击 此时将显示上下文菜单

c. 从上下文菜单中选择 View from Location... 此时将显示 Prompt 对话框

d. 在此对话框中 输入值 0x10 并单击 Set 这将显示必须设置触发的存储器区域 即此情况下的数据中止向量 箭头 将出现在地址 0x10 旁边

ARM DUI 0174C 版权所有 © 2002, 2003 ARM Limited 保留所有权利 2-75

Page 94: pudn.comread.pudn.com/downloads102/ebook/419574/arm...ii 版权所有 © 2002, 2003 ARM Limited 保留所有权利 ARM DUI 0174C RealView Debugger k 1 版权所有 © 2002, 2003 ARM

使用 RealView Debugger 跟踪

5. 以如下方式设置触发点

a. 在 Dsm 选项卡中 在地址 0x10 左侧空白处右击 此时将显示上下文菜单

b. 从上下文菜单中选择 Set/Toggle Trace Point... 此时将显示 List Selection 对话框

c. 在 List Selection 对话框中 选择 Set Trigger 并单击 OK 另一个箭头 将出现在地址 0x10 旁边 此箭头表示您设置的触发点 且 Code 窗口的 Break/Tracepoints 窗格中显示了此触发跟踪点的详细资料 如图 2-39 所示

2-39

6. 设置捕获指令和数据访问的跟踪范围

a. 在地址 0x0 左侧空白处右击 此时将显示上下文菜单

b. 从上下文菜单中选择 Set/Toggle Trace Point... 此时将显示 List Selection 对话框

c. 在 List Selection 对话框中 选择 Start of Trace Range (Instruction and Data) 并单击 OK 另一个箭头 将出现在地址 0x0 旁边 此箭头表明您设置的跟踪范围的起点 且 Code 窗口的 Break/Tracepoints 窗格中显示了此跟踪点的详细资料 如图 2-40 所示 跟踪范围的终点将自动设置为存储器空间的结束地址 (0xFFFFFFFF)

2-76 版权所有 © 2002, 2003 ARM Limited 保留所有权利 ARM DUI 0174C

Page 95: pudn.comread.pudn.com/downloads102/ebook/419574/arm...ii 版权所有 © 2002, 2003 ARM Limited 保留所有权利 ARM DUI 0174C RealView Debugger k 1 版权所有 © 2002, 2003 ARM

使用 RealView Debugger 跟踪

2-40

7. 通过从 Code 窗口中选择 Debug → Execution Control → Go (Start Execution) 执行映像 系统将执行映像并在 Code 窗口底部的 Output 窗格中显示一则提示

8. 在 Output 窗格中 确保选择了 StdIO 选项卡 输入 20 并按 Enter 键 由于在程序中出现错误 因此将发生数据中止 因为您已在数据中止地址设置了触发点 所以系统将返回跟踪捕获结果

9. 要查看跟踪捕获结果 请从 RealView Debugger Code 窗口的 View 菜单中选择 Analysis Window 此时将打开 Analysis 窗口 并显示 Raw 选项卡

10. 在 Analysis 窗口中 单击底部的 Dsm 选项卡 以查看程序指令的反汇编如图 2-41 所示

ARM DUI 0174C 版权所有 © 2002, 2003 ARM Limited 保留所有权利 2-77

Page 96: pudn.comread.pudn.com/downloads102/ebook/419574/arm...ii 版权所有 © 2002, 2003 ARM Limited 保留所有权利 ARM DUI 0174C RealView Debugger k 1 版权所有 © 2002, 2003 ARM

使用 RealView Debugger 跟踪

2-41 Dsm

11. 从 Analysis 窗口的 Find 菜单中选择 Find Trigger RealView Debugger 将在输出中查找表示您设置的触发点的行 在恰好位于触发点上面的行中 您可以发现系统将值 -1 (0xFFFFFFFF) 用作指针

CalculatePrimes() 函数返回计算的质数时将出现此错误 main() 函数希望有地址返回 以便可以将此地址置于指针中 然后用于输出 但是CalculatePrime() 函数传递的是数字 而不是地址 这表明程序试图访问存储器位置 -1 (0xFFFFFFFF) 在此示例中 向量被初始化为比所需空间多一个的空间 且所有要素都设置为 -1 这将确保计算函数返回未用的要素

2.6.3

此示例说明了如何使用 RealView Debugger 捕获程序的配置报告信息

此示例要求您具有以下 RealView Debugger 支持的跟踪硬件组件 且必须正确安装和连接这些组件

• JTAG 接口单元

• 跟踪捕获硬件

• 启用了 ETM 的 ARM 处理器

有关系统配置的信息 请参阅附录 A 设置跟踪硬件和附录 B 设置跟踪软件

2-78 版权所有 © 2002, 2003 ARM Limited 保留所有权利 ARM DUI 0174C

Page 97: pudn.comread.pudn.com/downloads102/ebook/419574/arm...ii 版权所有 © 2002, 2003 ARM Limited 保留所有权利 ARM DUI 0174C RealView Debugger k 1 版权所有 © 2002, 2003 ARM

使用 RealView Debugger 跟踪

此示例中使用的 dhrystone 程序将执行一个执行了 n 次的基准示例 在此系统将提示您在运行程序时标明 n 在此示例中 假定您要分析所有在重复运行的主 for 循环中执行的函数的执行次数

要执行此实例并捕获配置报告信息

1. 将示例映像 dhrystone.axf 加载至调试器中 此文件位于基本安装的 \Examples 目录中 dhry_1.c 的选项卡显示在 File Editor 窗格中

2. 确保选择了 Src 选项卡 并通过选择 Edit → Editing Controls → Show Line Numbers → 在 dhry_1.c 中显示行号

3. 以如下方式在程序循环的开始处设置跟踪起点

a. 向下滚动源文件并在行 146 处的代码列表左侧的灰色区域右击 此行表示 for 循环的起点 从上下文菜单中选择 Set/Toggle Trace Point... 此时将显示 List Selection 对话框

b. 从 List Selection 对话框选择 Trace Start Point 箭头 将出现在行 146 旁边以表明您设置的起点 且 Code 窗口的 Break/Tracepoints 窗格中显示了此控制点的详细资料 如第 2-79 页图 2-42 所示

2-42

ARM DUI 0174C 版权所有 © 2002, 2003 ARM Limited 保留所有权利 2-79

Page 98: pudn.comread.pudn.com/downloads102/ebook/419574/arm...ii 版权所有 © 2002, 2003 ARM Limited 保留所有权利 ARM DUI 0174C RealView Debugger k 1 版权所有 © 2002, 2003 ARM

使用 RealView Debugger 跟踪

4. 以如下方式在程序循环的结束处设置跟踪终点

a. 向下滚动源文件并在行 201 处的代码列表左侧的灰色区域右击通过在循环结束处后放置终点 您可以确保 RealView Debugger 可

以捕获循环的所有迭代 而不是单个循环 此时将显示一个上下文菜单

b. 从上下文菜单中选择 Set/Toggle Trace Point... 此时将显示 List Selection 对话框

c. 从 List Selection 对话框选择 Trace End Point 箭头 将出现在行 201 旁边以表明您设置的终点 且 Code 窗口的 Break/Tracepoints 窗格中显示了此控制点的详细资料

因为您已经设置跟踪起点和终点 而不是跟踪范围 因此您将指引 RealView Debugger 捕获并显示起点与终点之间的所有跟踪信息 包括可能被分支到这两点之间的任何数据或存储器访问 有关这些类型的跟踪点的详情 请参阅第 2-16 页设置简单跟踪点

5. 通过从 Code 窗口中选择 Debug → Execution Control → Go (Start Execution) 执行映像 系统将执行映像并在 Code 窗口底部的 Output 窗格中显示一则提示

6. 在 Output 窗格中 输入要 RealView Debugger 通过基准执行的运行次数此情况下为 5000 并按 Enter 键 跟踪捕获将从您使用跟踪点指定的执行区域处开始 即代码的 for 循环区域

7. 要查看跟踪捕获结果 请在 Code 窗口中选择 Tools → Analyzer/Trace Control → Display Profile View... 此时将打开 Analysis 窗口 并显示 Profile 选项卡 如图 2-43 所示

2-43 Profile

2-80 版权所有 © 2002, 2003 ARM Limited 保留所有权利 ARM DUI 0174C

Page 99: pudn.comread.pudn.com/downloads102/ebook/419574/arm...ii 版权所有 © 2002, 2003 ARM Limited 保留所有权利 ARM DUI 0174C RealView Debugger k 1 版权所有 © 2002, 2003 ARM

使用 RealView Debugger 跟踪

在 Profile 选项卡中 如图 2-43 所示 系统将显示在 for 循环期间访问的所有函数的执行次数 并且在 Histogram 列中显示各自执行次数的图形表示 有关每列中显示的信息类型的详情 请参阅第 2-41 页列类型

8. 要查看这些结果的 call-graph 数据

a. 在 Analysis 窗口的 Profiling Data 菜单中选择 Parents of Function

b. 在 Analysis 窗口的 Profiling Data 菜单中选择 Children of Function

Profile 选项卡将显示每个函数的父函数和子函数 如第 2-81 页图 2-44 所示

2-44 Profile call-graph

系统将显示在 for 循环期间访问的每个函数的执行次数 以及这些函数的父函数和子函数的执行次数 图 2-45 显示了单个函数 Func_2 的数据

2-45 Func_2 call-graph

ARM DUI 0174C 版权所有 © 2002, 2003 ARM Limited 保留所有权利 2-81

Page 100: pudn.comread.pudn.com/downloads102/ebook/419574/arm...ii 版权所有 © 2002, 2003 ARM Limited 保留所有权利 ARM DUI 0174C RealView Debugger k 1 版权所有 © 2002, 2003 ARM

使用 RealView Debugger 跟踪

Exec% 列显示了

• 总执行时间的 7.37% 是用于函数 Func_2 的代码

• 在从父函数 main 调用时 总执行时间的 7.37% 是用于函数 Func_2 的代码

• 在作为子函数从 Func_2 调用时 总执行时间的 1.97% 是用于函数 Func_1 的代码

• 在作为子函数从 Func_2 调用时 总执行时间的 9.47% 是用于函数 strcmp 的代码

B=>E% 列显示了

• 总执行时间的 18.82% 是用于调用函数 Func_2 及其子函数

• 在从父函数 main 调用时 总执行时间的 18.82% 是用于调用 Func_2 及其子函数

• 在作为子函数从 Func_2 调用时 总执行时间的 1.97% 是用于调用函数 Func_1

• 在作为子函数从 Func_2 调用时 总执行时间的 9.47% 是用于调用函数 strcmp

Count 列显示了

• 调用了函数 Func_2 575 次

• 至函数 Func_2 调用了函数 main 575 次

• 从函数 Func_2 调用了函数 Func_1 575 次

• 从函数 Func_2 调用了函数 strcmp 575 次

2.6.4

此示例说明了如何设置复杂跟踪点 此示例使用了第 2-78 页捕获配置报告信息 中所述的 dhrystone 程序 在此示例中 假定您要在 Proc_2 触发跟踪 但只在执行函数 Proc_1 50 次后 对于此示例 您应使用 ARMulator 您可以使用跟踪硬件执行此示例 但在某些情况下结果可能不准确

此示例要求您安装了 ARMulator 有关连接至 ARMulator 的详情 请参阅附录 B 设置跟踪软件

2-82 版权所有 © 2002, 2003 ARM Limited 保留所有权利 ARM DUI 0174C

Page 101: pudn.comread.pudn.com/downloads102/ebook/419574/arm...ii 版权所有 © 2002, 2003 ARM Limited 保留所有权利 ARM DUI 0174C RealView Debugger k 1 版权所有 © 2002, 2003 ARM

使用 RealView Debugger 跟踪

要执行此示例

1. 将示例映像 dhrystone.axf 加载至调试器中 此文件位于基本安装的 \Examples 目录中 dhry_1.c 的选项卡显示在 File Editor 窗格中

2. 从 Code 窗口选择 Debug → Tracepoints → Trace on X after Y executed N times... 此时将显示 Trace on X after Y executed N times 对话框 如图 2-46 所示

2-46 Trace on X after Y executed N times

3. 以如下方式设置跟踪点

a. 从第一个下拉式列表中选择 Trigger

b. 从第二个下拉式列表中选择 Instr Exec

c. 单击文本框右边的下拉箭头 以显示保存在您个人历史记录文件中的项目菜单 从此菜单中选择 <Function List...> 以显示 Function List 对话框 从函数列表中选择 DHRY_1\Proc_2 of @dhrystone 这将选择函数 Proc_2 作为要触发的函数

d. 在对话框第二行上的文本框中键入 50 指定应执行 Proc_1 50 次

e. 从对话框 后一行的下拉式列表中选择 Instr Exec

f. 单击文本框右边的下拉箭头 以显示保存在您个人历史记录文件中的项目菜单 从此菜单中选择 <Function List...> 以显示 Function List 对话框 在函数列表中突出显示 DHRY_1\Proc_1 of @dhrystone 然后单击 Select 这将选择函数 Proc_1 作为在发生触发之前必须执行 50 次的函数

g. 单击 OK 设置指定跟踪点

4. 如果要查看跟踪点 请选择 View → Pane Views → Break/Tracepoints pane 或按 Ctrl 键的同时按 5 键 以便显示 Break/Tracepoints 窗格 如图 2-47 所示

ARM DUI 0174C 版权所有 © 2002, 2003 ARM Limited 保留所有权利 2-83

Page 102: pudn.comread.pudn.com/downloads102/ebook/419574/arm...ii 版权所有 © 2002, 2003 ARM Limited 保留所有权利 ARM DUI 0174C RealView Debugger k 1 版权所有 © 2002, 2003 ARM

使用 RealView Debugger 跟踪

2-47 Break/Tracepoints

5. 通过从 Code 窗口选择 View → Analysis Window 查看 Analysis 窗口 确保在 Edit 菜单中选定了 Collect Data Before Trigger

6. 通过从 RealView Debugger 的 Code 窗口选择 Debug → Execution Control → Go (Start Execution) 执行映像 系统将执行映像并在 Code 窗口底部的 Output 窗格中显示一则提示

7. 在 Output 窗格中 确保选择了 StdIO 选项卡 输入要 RealView Debugger 通过基准执行的运行次数 此情况下至少为 50

8. 在 Analysis 窗口中 选择 Profile 选项卡 如图 2-48 所示

2-48 Profile

您可以从 Count 列知道已按指定执行了 Proc_2 50 次

2-84 版权所有 © 2002, 2003 ARM Limited 保留所有权利 ARM DUI 0174C

Page 103: pudn.comread.pudn.com/downloads102/ebook/419574/arm...ii 版权所有 © 2002, 2003 ARM Limited 保留所有权利 ARM DUI 0174C RealView Debugger k 1 版权所有 © 2002, 2003 ARM

第 3 章 RTOS

本章介绍 RealView Debugger 提供的实时操作系统 (RTOS) 支持 它包含以下部分

• 第 3-2 页关于实时操作系统 (RTOS)

• 第 3-4 页使用 RealView Debugger RTOS 支持

• 第 3-8 页使线程与视图关联

• 第 3-11 页使用 Resource Viewer 窗口

• 第 3-13 页使用 Process Control 窗格中的线程

• 第 3-14 页 RTOS 资源 CLI 命令

ARM DUI 0174C 版权所有 © 2002, 2003 ARM Limited 保留所有权利 3-1

Page 104: pudn.comread.pudn.com/downloads102/ebook/419574/arm...ii 版权所有 © 2002, 2003 ARM Limited 保留所有权利 ARM DUI 0174C RealView Debugger k 1 版权所有 © 2002, 2003 ARM

RTOS 支持

3.1 (RTOS)

操作系统为在目标上运行的应用程序提供软件支持 RTOS 是一种专为与现实世界活动相互作用的计算机设计的操作系统 因此时间处理对于操作能否成功至关重要 例如 如果某个应用程序控制着汽车引擎 则电子点火和引擎计时是否正确同步显得至关重要

实时应用程序的必需计时精确性从秒到微秒各不相同 但它们必须保证在设置的时间限制内进行操作

实时应用程序可以是

如果无法满足事件的时间期限 通常会导致丧失生命或财产的灾难性后果 其示例有汽车引擎控制器

如果无法满足时间期限也会导致不良后果 但不会危及生命或财产 其示例有洗衣机控制器

在支持现实世界的计算机系统时 采用了许多明智的原则对 RTOS 和使用它的应用程序进行设计 例如

• 使用的算法必须保证操作严格遵守规定的时间范围 但无需尽可能快

• 应用程序必须保证在执行期间不会发生故障 这意味着 RTOS 本身不发生故障

• 支持硬实时系统的 RTOS 必须对处理调度进行充分控制 以指定并符合整体系统强制的时间期限

RTOS 经常使用单独的软件组件来模拟和控制与之相互作用的硬件 例如 汽车引擎控制器可能会有

• 模拟气缸运动 使其可以控制点火和气门计时的操作过程

• 监控燃料消耗和汽车速度 并在仪表板上显示行程距离和油耗的操作过程

如果使用与此类似的组件 RTOS 就可以确保必须下一步执行以便符合时间期限的作业接下来可以进行调度 RTOS 进程可以是以下两者之一

• 仅共享特别指定的存储器 通常专用于进程间通信 这些即称为进程

• 含蓄地共享处理器的存储器 以便每个人均可与他人共享所有数据和代码 这些即称为线程

3-2 版权所有 © 2002, 2003 ARM Limited 保留所有权利 ARM DUI 0174C

Page 105: pudn.comread.pudn.com/downloads102/ebook/419574/arm...ii 版权所有 © 2002, 2003 ARM Limited 保留所有权利 ARM DUI 0174C RealView Debugger k 1 版权所有 © 2002, 2003 ARM

RTOS 支持

在多处理器系统中 特定的进程和线程可以在特定的处理器上运行 例如

• 处理器 1 专用于特定的任务 例如汽车引擎计时 这是没有线程的单个进程

• 处理器 2 具有多个作业 例如既显示油耗又处理单键信息 开发人员将此作为几个进程执行 其中一些进程具有多个线程

3.1.1 RTOS

调试实时系统面临一系列问题 这在正处于调试的特定软件组件与物理硬件相互作用时尤为突出 因为您通常都无法在停止软件的同时停止硬件

为避免必须中断软件 实时调试器通常支持对特定应用程序的访问 这些应用程序使用的软件可与系统中的其它任务一起被调度 这使 RTOS 可以维护系统的时间期限 对这种调试类型的 RealView Debugger 支持取决于对系统的专用 RTOS 支持 因此可能不允许您单独停止线程

ARM DUI 0174C 版权所有 © 2002, 2003 ARM Limited 保留所有权利 3-3

Page 106: pudn.comread.pudn.com/downloads102/ebook/419574/arm...ii 版权所有 © 2002, 2003 ARM Limited 保留所有权利 ARM DUI 0174C RealView Debugger k 1 版权所有 © 2002, 2003 ARM

RTOS 支持

3.2 RealView Debugger RTOS

本部分介绍了配置 RealView Debugger 以便它可以在 RTOS 目标上正确解释应用程序映像文件的过程

RTOS 特定的支持文件并不随此产品一起安装 而是您必须下载并安装所需的支持 有关详情 请在 RealView Code 窗口中单击 Help → Goto RTOS Awareness Downloads

本部分包含以下内容

• 启用 RTOS 支持

• 基本 RTOS 配置选项

• 第 3-6 页连接至目标并加载映像

3.2.1 RTOS

您的 RTOS 支持库文档包含安装和配置软件的说明 RTOS 支持库可能还包含一个板/芯片定义文件 即 *.bcd 其中包含在调试器中启用 RTOS 支持时所需的信息

如果您有专用于 RTOS 的 *.bcd 文件 您可以参考当前目标配置文件 如 rvdebug.brd 的 *.bcd 文件 然后在您的目标上启动 RTOS 支持 请按照RealView Debugger v1.6 Target Configuration Guide 的配置自定义目标一章中所述 使用 Board/Chip name 条目执行此操作

如果您还未获得专用于 RTOS 的 *.bcd 文件 则可以使用 RTOS 支持库文档并结合基本 RTOS 配置选项 中的信息 在目标上配置 RTOS

3.2.2 RTOS

RTOS 操作由当前板文件内的 Advanced_Information 块中的 RTOS 设置组控制请选择 File → Connection → Connection Properties... 以显示 Connection Properties 窗口 您可以在此窗口配置这些设置 如第 3-5 页图 3-1 所示

如果您的 RTOS 供应商已提供 RTOS 专用的 *.bcd 文件 则您不必配置这些选项

3-4 版权所有 © 2002, 2003 ARM Limited 保留所有权利 ARM DUI 0174C

Page 107: pudn.comread.pudn.com/downloads102/ebook/419574/arm...ii 版权所有 © 2002, 2003 ARM Limited 保留所有权利 ARM DUI 0174C RealView Debugger k 1 版权所有 © 2002, 2003 ARM

RTOS 支持

3-1 Connection Properties RTOS

RealView Debugger 在线帮助主题 Changing Settings 对 RealView Debugger 设置窗口 其中包括 Connection Properties 窗口 的总体布局和控件进行了说明

在调试器连接至目标时 请不要配置板文件

RTOS 组包含以下设置

Vendor 选择应用程序使用的 RTOS 类型 这是一个枚举值 用于从安装的支持库选择所使用的 RTOS

Load_when 选择调试器何时为 RTOS 加载 RTOS 支持库 直到 RTOS 支持库在目标上找到 RTOS 时 调试器的 RTOS 功能才能被启用 这可能意味着您必须运行映像启动代码 在加载 DLL 时 它可以

• Load_when 设置为 connect 时立即检查 RTOS

• Load_when 设置为 image_load 时 在检查 RTOS 之前等待加载映像

有关详情 请参阅 RTOS 支持库的文档

Base_address

定义一个基址 覆盖用于查找 RTOS 数据结构的缺省地址 有关专用的 RTOS 支持代码的信息 请参阅相关文档

ARM DUI 0174C 版权所有 © 2002, 2003 ARM Limited 保留所有权利 3-5

Page 108: pudn.comread.pudn.com/downloads102/ebook/419574/arm...ii 版权所有 © 2002, 2003 ARM Limited 保留所有权利 ARM DUI 0174C RealView Debugger k 1 版权所有 © 2002, 2003 ARM

RTOS 支持

3.2.3

您可以使用连接到非 RTOS 目标的方法连接到 RTOS 目标 例如使用 Connection Control 窗口 本部分介绍如何连接到您的目标并加载映像 它包括以下几个部分

• 连接之前

• 交互地连接

• 第 3-6 页从系统命令行连接

请确保

• 在已启用调试符号的情况下编译 RTOS 应用程序 以便调试器可以找到所需的数据结构

• 已配置连接以便 RTOS 可察觉此连接 如以下二者之一所述

— 第 3-4 页启用 RTOS 支持

— 第 3-4 页基本 RTOS 配置选项

要使用 GUI 进行连接

1. 启动 RealView Debugger

2. 使用 RTOS 启用的连接来连接至目标 如使用 Connection Control 窗口

3. 选择 File → Load Image... 以加载映像

如果您需要加载多个可执行文件 请取消选定 Load File to Target 对话框中的 Replace Existing File(s) 选项 或使用 ADDFILE 和 RELOAD 命令

调试器启动后 您可以连接到目标并加载映像 要执行此操作

1. 确保工作空间指定了一个打开的连接 以便调试器在启动时自动连接

如果您的工作空间未指定一个打开的连接 则在您尝试加载映像时 屏幕将显示一个对话框 询问您是否想要建立一个连接 例如使用 Connection Control 窗口 如果要 则一旦建立连接 就会加载映像

2. 提供可执行文件名以及命令行上所需的任何变量

3-6 版权所有 © 2002, 2003 ARM Limited 保留所有权利 ARM DUI 0174C

Page 109: pudn.comread.pudn.com/downloads102/ebook/419574/arm...ii 版权所有 © 2002, 2003 ARM Limited 保留所有权利 ARM DUI 0174C RealView Debugger k 1 版权所有 © 2002, 2003 ARM

RTOS 支持

某些 RTOS 文件加载程序支持 target_name 参数 该参数可使您修改文件加载操作 有关详情 请参阅 RTOS 支持库的文档 RealView Debugger 命令行句法如下

rvdebug.exe -exec image.axf;target_name;[arg1 arg2 arg3 ...]

其中

image.axf 指定 RealView Debugger 启动后加载的映像

target_name 指定 loader information 目标 在受支持的情形中 这就是传送给 RTOS 映像加载程序的目标名称 可以为空

args 为映像指定一个可选的 以空格隔开的参数列表

如果提供了多个参数 则必须为此列表加上引号 保留参数的大小写

有关 RealView Debugger 操作详情 请参阅 RealView Debugger v1.6 User Guide

• 入门指南和从命令行连接到目标

• 在命令行使用映像

• 配置工作空间

有关 CONNECT LOAD ADDFILE 和 RELOAD 命令的详情 请参阅 RealView Debugger v1.6 Command Line Reference Guide

ARM DUI 0174C 版权所有 © 2002, 2003 ARM Limited 保留所有权利 3-7

Page 110: pudn.comread.pudn.com/downloads102/ebook/419574/arm...ii 版权所有 © 2002, 2003 ARM Limited 保留所有权利 ARM DUI 0174C RealView Debugger k 1 版权所有 © 2002, 2003 ARM

RTOS 支持

3.3

映像运行于 RTOS 目标时 您可以在 RealView Debugger Code 窗口开始处理线程 请使用 thread list 执行此操作 以下部分将对其进行详细介绍

• 从线程列表中选择线程

• 第 3-9 页当前线程

• 第 3-9 页连接和分开窗口

• 第 3-10 页操纵寄存器和变量

3.3.1

RTOS 扩展载入 RealView Debugger 后 Thread 按钮将在 Code 窗口的 Actions 工具栏上启用 单击此按钮 以在线程列表内循环查看所有未附加的窗口 此操作将当前上下文设置为选定线程 并更改代码视图 Thread 按钮可让您依次查看每个活动线程 而不影响窗口附加

如果当前的 Code 窗口是附加窗口 屏幕将显示 Do you want to detach this window 消息对话框 单击 Yes 将导致窗口被分开 同时屏幕显示新线程 单击 No 可中止此操作 有关窗口附件的详情 请参阅第 3-9 页连接和分开窗口

单击下拉箭头会导致 RealView Debugger 从目标获取活动线程列表并显示摘要如图 3-2 中的示例所示

3-2

菜单分隔符行下面是有关运行于目标上的线程的详情 此例中 为图 3-2 中所示线程显示的字段有

• 线程控制块的地址

• 线程的名称

• 线程的当前优先级

• 线程的状态 例如就绪 休眠或暂挂

• 线程暂挂标记

3-8 版权所有 © 2002, 2003 ARM Limited 保留所有权利 ARM DUI 0174C

Page 111: pudn.comread.pudn.com/downloads102/ebook/419574/arm...ii 版权所有 © 2002, 2003 ARM Limited 保留所有权利 ARM DUI 0174C RealView Debugger k 1 版权所有 © 2002, 2003 ARM

RTOS 支持

从线程列表中选择新线程 将导致代码视图切换为显示寄存器 变量和该线程的代码 如果您的 Code 窗口是未附加的窗口 它将附加到新选定的线程上 其它未附加的窗口不受影响

3.3.2

在线程列表中 线程名称旁边的星号 * 表示当前 线程 当前线程 初设置为处理器停止时在处理器上运行的线程 未附加的窗口始终显示当前线程

您可以通过以下方式设置当前线程 单击 Actions 工具栏上的 Thread 按钮 以循环查看线程 直到选定所需要的线程

如果当前线程改变 例如在您停止目标时另一个线程处于活动状态 Output 窗格中的 Cmd 选项卡将显示一则消息 显示新当前线程的详情 此详情包括以十进制表示的线程编号以及线程名称 如果提供

有关处理当前线程的其它方法 请参阅第 3-13 页使用 Process Control 窗格中的线程

从 Thread 按钮下拉式列表选择线程不会将该线程设置为当前线程 尽管它确实显示的是该线程

3.3.3

如果您获准使用多处理器调试模式 RealView Debugger 中的 Code 窗口具有关于线程和进程的两种状态 附加状态显示于标题栏内目标名称的后面

[Unattached]

所有附加的窗口均显示当前线程的详情 这里的当前线程是目标终止时 后运行于其上的线程

<blank> 如果标题栏不包含 [Unattached] 则此窗口将附加至选定线程 也就是说它将始终与此线程关联

使用 Thread 按钮下拉箭头的线程列表来选择线程 缺省情况下 新的 Code 窗口为未附加窗口 并且线程列表中的第一个菜单项条目是 Attach Window to a Thread 当您从附加窗口显示此列表时 菜单项将被标上记号 再次将其选定 使附加窗口变为未附加的窗口

要显示新的 Code 窗口 请选择 View → New Code Window

ARM DUI 0174C 版权所有 © 2002, 2003 ARM Limited 保留所有权利 3-9

Page 112: pudn.comread.pudn.com/downloads102/ebook/419574/arm...ii 版权所有 © 2002, 2003 ARM Limited 保留所有权利 ARM DUI 0174C RealView Debugger k 1 版权所有 © 2002, 2003 ARM

RTOS 支持

有关更改窗口附加的其它方法 请参阅第 3-13 页使用 Process Control 窗格中的线程

3.3.4

在将线程选入 Code 窗口后 Register 窗格显示与线程关联的寄存器 这些寄存器的值可能与当前处理器寄存器的值不同

您可以按正常方式更改寄存器中的值 如 RealView Debugger v1.6 User Guide 中所述 但改变的值不一定写入处理器寄存器 相反 除非线程当前在处理器上运行 它才会为选定的线程写入 RTOS 的任务控制块 (TCB) 在该线程下一次被 RTOS 调度程序调度时 , 新线程使用的寄存器将从 TCB 读到处理器

线程被中断后 Code 窗口将在该线程上次的 Program Counter (PC) 地址周围显示代码 这不一定就是处理器上次的 PC 地址 同样 Stack Pointer (SP) 是线程的地址 因此 您可以显示并更改线程的局部变量

如果您调试 ARM 代码 ARM/Thumb 过程调用标准 (ATPCS) 将 指定在寄存器中传递函数的 初四个参数 此外 编译器将某些局部变量优化到寄存器中 用作函数的某些部分 因此 如果您修改存储在寄存器中的局部变量 为了将此值传送到处理器寄存器中 调试器将修改 TCB 状态 而不修改该变量指定的目标存储器

如果修改您希望被多个线程共享的值 例如全局变量 编译器可能已为一个或多个线程在寄存器中缓存该值 因此您要求的修改不会传送到所有引用此变量的线程 为了确保此类修改正确进行 您必须进行以下之一的操作

• 修改变量 并且如果任何线程在您停止处理器的点上具有缓存的变量备份 同时修改此备份

• 说明变量为 volatile 然后重新编译程序

3-10 版权所有 © 2002, 2003 ARM Limited 保留所有权利 ARM DUI 0174C

Page 113: pudn.comread.pudn.com/downloads102/ebook/419574/arm...ii 版权所有 © 2002, 2003 ARM Limited 保留所有权利 ARM DUI 0174C RealView Debugger k 1 版权所有 © 2002, 2003 ARM

RTOS 支持

3.4 Resource Viewer

线程列表中显示的线程信息会由 resource viewer 窗口中的信息补充 选择 View → Resource Viewer Window 以为当前映像显示该窗口 如图 3-3 所示

3-3 Resource Viewer

Resource Viewer 窗口标题栏反映调用 Code 窗口的标题栏 在本示例中 Code 窗口附加在当前线程上

Resource Viewer 窗口包含

• File 菜单

• Help 菜单

• Resources 列表

• Details 区域

有关使用这些菜单的详情 请参阅 RealView Debugger v1.6 Essentials Guide 中介绍桌面一章

Resources 列表显示于窗口顶部带选项卡的窗格中 如果您未加载 RTOS 支持该列表仅包含 Conn 选项卡 加载 RTOS 应用程序后 将添加一个专用于 RTOS 的选项卡 以显示配置的进程或线程 如图 3-3 中所示 可能会包括其它选项卡 以支持其它 RTOS 数据结构的显示 图 3-3 中也有所示

ARM DUI 0174C 版权所有 © 2002, 2003 ARM Limited 保留所有权利 3-11

Page 114: pudn.comread.pudn.com/downloads102/ebook/419574/arm...ii 版权所有 © 2002, 2003 ARM Limited 保留所有权利 ARM DUI 0174C RealView Debugger k 1 版权所有 © 2002, 2003 ARM

RTOS 支持

在专用于 RTOS 的线程选项卡可视的情况下 Resource Viewer 窗口显示了与 Thread 按钮下拉式列表中提供的相同的线程列表 并显示相同字段 显示的信息是 RTOS 的特定信息

如果双击 Resources 列表中的一行以选择其中一个线程 下部窗格 即 Details 区域 将显示有关该线程的详情

有关 Resource Viewer 窗口中所显示字段的详情 请参阅您的 RTOS 用户手册

不同的 RTOS 支持库在此窗口中显示信息的方式可能有所不同 并且其它的 RealView Debugger 扩展可能会将其它选项卡添加到 Resource 列表中

3-12 版权所有 © 2002, 2003 ARM Limited 保留所有权利 ARM DUI 0174C

Page 115: pudn.comread.pudn.com/downloads102/ebook/419574/arm...ii 版权所有 © 2002, 2003 ARM Limited 保留所有权利 ARM DUI 0174C RealView Debugger k 1 版权所有 © 2002, 2003 ARM

RTOS 支持

3.5 Process Control

Process Control 窗格中的 Thread 选项卡也显示了有关在目标上运行的线程的信息 显示的信息是 RTOS 支持库的特定信息 每个配置的线程均列有一些摘要信息 这些信息可通过展开树获得 如图 3-4 中所示

3-4 Process Control Thread

在本示例中 Process Control 窗格是浮动窗格 这意味着其标题栏可反映调用 Code 窗口的标题栏

每个线程都带有图标 该图标显示该线程的附加状态

• 此窗口已附加到此线程

• 线程已附加至另一个窗口 或者未附加

星号 (*) 表示当前线程

您可在 Process Control 窗格中更改当前线程和附加状态 右击线程名称 以显示包含以下选项的上下文菜单

Make Current 将此线程设为当前线程 请参阅第 3-9 页当前线程

Attach Window to 将 Code 窗口附加至此线程 参阅第 3-9 页连接和分开窗口

ARM DUI 0174C 版权所有 © 2002, 2003 ARM Limited 保留所有权利 3-13

Page 116: pudn.comread.pudn.com/downloads102/ebook/419574/arm...ii 版权所有 © 2002, 2003 ARM Limited 保留所有权利 ARM DUI 0174C RealView Debugger k 1 版权所有 © 2002, 2003 ARM

RTOS 支持

3.6 RTOS CLI

可能会有一个或多个由所使用的 RTOS 支持库定义的专用于线程的 CLI 命令这些命令可补充 GUI 线程工具

这些命令使用标准命令名称样式

Dresource_LIST=expression

其中

resource RTOS 资源的名称 其命名方式与 Resource Viewer 选项卡相同

expression 识别资源特定实例的有效表达式

有关详情 请参阅您的 RTOS 支持库文档

3-14 版权所有 © 2002, 2003 ARM Limited 保留所有权利 ARM DUI 0174C

Page 117: pudn.comread.pudn.com/downloads102/ebook/419574/arm...ii 版权所有 © 2002, 2003 ARM Limited 保留所有权利 ARM DUI 0174C RealView Debugger k 1 版权所有 © 2002, 2003 ARM

第 4 章 DSP

本章介绍了 RealView Debugger 提供的数字信号处理器 (DSP) 支持 它包含以下部分

• 第 4-2 页关于 DSP 和 RealView Debugger DSP 支持

• 第 4-3 页使用 DSP

ARM DUI 0174C 版权所有 © 2002, 2003 ARM Limited 保留所有权利 4-1

Page 118: pudn.comread.pudn.com/downloads102/ebook/419574/arm...ii 版权所有 © 2002, 2003 ARM Limited 保留所有权利 ARM DUI 0174C RealView Debugger k 1 版权所有 © 2002, 2003 ARM

DSP 支持

4.1 DSP RealView Debugger DSP

RealView Debugger 支持由 DSP Group 生成的 Oak 和 TeakLite DSP 引擎 这些是 16 位处理器 专用于集成至自定义或半自定义硅设计 以提供额外的信号处理性能 此支持包括

• Oak 和 TeakLite 指令反汇编程序

• 对 DSP Group Oak 和 Teaklite 工具链的 COFF 映像文件格式支持

• Oak 和 TeakLite 的寄存器定义

• 对 Oak 和 TeakLite 处理器的 JTAG 调试支持

• 用于 Oak 和 TeakLite 处理器的模拟器

您可以使用 RealView Debugger 创建与 DSP Group 处理器的连接 其方式与创建和 ARM 处理器连接的方式相同 如果您使用的载体支持处理器 则此载体会出现在 Connection Control 窗口的设备列表中 有关详情 请参阅第 4-3 页使用 DSP

如果您使用与另一个处理器相连的 DSP 请参阅第 5 章使用多目标连接 了解有关将 RealView Debugger 与多处理器系统配合使用的信息

有关管理连接的详情 请参阅 RealView Debugger v1.6 Target Configuration Guide中介绍连接目标的章节

4.1.1

RealView Debugger DSP 支持需要单独获得许可证 要使用此功能 您必须从 ARM 分销商获得许可证

4-2 版权所有 © 2002, 2003 ARM Limited 保留所有权利 ARM DUI 0174C

Page 119: pudn.comread.pudn.com/downloads102/ebook/419574/arm...ii 版权所有 © 2002, 2003 ARM Limited 保留所有权利 ARM DUI 0174C RealView Debugger k 1 版权所有 © 2002, 2003 ARM

DSP 支持

4.2 DSP

通过将调试器连接至合适的处理器 调用 RealView Debugger 中的 DSP 支持这可以是模拟的目标 例如使用 OakDSPCore MaxCore 模拟器 或目标硬件

DSP 扩展许可证包含 OakDSPCore MaxCore 模拟器 这使您可以在不访问目标硬件的情况下运行和调试 DSP 程序

4.2.1

要访问 DSP 模拟器

1. 选择 File → Connection → Connect to Target... 显示 Connection Control 窗口

2. 展开条目 Server Connection Broker

3. 展开条目 localhost Simulator Broker

4. 双击 new_OAK 条目 以启动模拟器连接

连接列表将会展开 以显示新连接 如 SimOAK_1 Code 窗口标题栏更新显示此连接 并提示您加载映像

5. 单击 File → Load Image... 加载适合您使用的 DSP 的可执行文件

如果您在 Connection Control 窗口中没有看到 new_OAK 条目 则您还没有将 DSP 支持包含在 RealView Debugger 安装选项中 如果您想使用 OAK 或 TeakLite DSP 或者 Motorola M56621 DSP 请选择 Custom installation 以安装 DSP 支持

如果您在 Connection Control 窗口中看到 new_OAK 条目但无法进行连接 请检查您的许可证 在 Windows 命令提示或 DOS 框中使用此 FLEXlm 命令

lmutil lmstat -a

ARM DUI 0174C 版权所有 © 2002, 2003 ARM Limited 保留所有权利 4-3

Page 120: pudn.comread.pudn.com/downloads102/ebook/419574/arm...ii 版权所有 © 2002, 2003 ARM Limited 保留所有权利 ARM DUI 0174C RealView Debugger k 1 版权所有 © 2002, 2003 ARM

DSP 支持

4.2.2

由于 Multi-ICE 软件不支持非 ARM 架构的处理器 因此您不能使用一般的 ARM Multi-ICE 配置来连接至 DSP Group 处理器 相反 您可以使用 Multi-ICE 直接连接

Multi-ICE 直接连接使用 RealView Debugger 内部的 Multi-ICE 硬件和软件 以连接至支持 On-Chip Debugging (OCD) 的目标硬件 在此配置中 您需要 Multi-ICE 并行端口驱动程序和 Multi-ICE 接口硬件 但是 务必不要运行 Multi-ICE 服务器

要使用 Multi-ICE 直接连接 请使用 Connection Control 窗口中的 ARM-ARM-PP 连接 您必须定义 JTAG 配置文件 例如使用 Device JTAG-File Editor 对话框 然后才能进行连接 有关如何操作的详情 请参阅 RealView Debugger v1.6 Target Configuration Guide 中介绍配置自定义连接的章节

4-4 版权所有 © 2002, 2003 ARM Limited 保留所有权利 ARM DUI 0174C

Page 121: pudn.comread.pudn.com/downloads102/ebook/419574/arm...ii 版权所有 © 2002, 2003 ARM Limited 保留所有权利 ARM DUI 0174C RealView Debugger k 1 版权所有 © 2002, 2003 ARM

第 5 章

本章详细介绍了 RealView Debugger 中使您可以一次建立多个连接的功能 这有助于您调试多处理器应用程序以及比较在多个目标上运行的系统的行为

本章包含以下部分

• 第 5-2 页 RealView Debugger 中的多目标连接概述

• 第 5-3 页 RealView Debugger 多处理器体系结构

• 第 5-10 页管理多个目标

• 第 5-28 页显示一致性

• 第 5-36 页处理器执行同步

ARM DUI 0174C 版权所有 © 2002, 2003 ARM Limited 保留所有权利 5-1

Page 122: pudn.comread.pudn.com/downloads102/ebook/419574/arm...ii 版权所有 © 2002, 2003 ARM Limited 保留所有权利 ARM DUI 0174C RealView Debugger k 1 版权所有 © 2002, 2003 ARM

使用多目标连接

5.1 RealView Debugger

本章介绍了多处理器调试的概念以及如何用 RealView Debugger 来执行它

RealView Debugger 提供的多处理器设备已单独获得许可 调试器出厂时附带临时许可证 可使您在购买永久性许可证之前试用这些设备 试用期满后 您必须获得永久性许可证才能继续使用这些设备

有关 RealView Debugger 管理多个目标连接所采用的整体方法的说明 请参阅第 5-3 页 RealView Debugger 多处理器体系结构 本部分简要介绍了如何设置连接以及选择与特定用途相关的连接

第 5-10 页管理多个目标 介绍了 RealView Debugger 接口

第 5-28 页显示一致性 介绍了一致性 主要是存储器一致性 的问题如何对您产生影响 并阐明了您可以采取哪些措施来避免不一致的目标视图所引起的问题 本部分包括一个处理过的示例 这个示例为一个包括共享和本地存储器的三处理器系统设置了板文件

第 5-36 页处理器执行同步 介绍了如何同步调试目标系统中各处理器的调试器启动和停止请求 它包括对同步处理器的不同方法的说明 以及如何将一些处理器包括在同步组中 或者从同步组中排除

5-2 版权所有 © 2002, 2003 ARM Limited 保留所有权利 ARM DUI 0174C

Page 123: pudn.comread.pudn.com/downloads102/ebook/419574/arm...ii 版权所有 © 2002, 2003 ARM Limited 保留所有权利 ARM DUI 0174C RealView Debugger k 1 版权所有 © 2002, 2003 ARM

使用多目标连接

5.2 RealView Debugger

RealView Debugger 支持通过使用以下连接方式之一在一个目标系统上调试多个处理器

• 单一目标硬件连接 例如 JTAG 扫描链

• 多个连接 例如 JTAG 扫描链和调试监控器

RealView Debugger 是通过将目标连接从该连接的视图中分离出来 来实现支持的 这使您能够判断要检查哪一个连接 而不必断开调试器再重新连接 图 5-1 可显示单个处理器 在此实例中即是 ARM 处理器内核 调试器与单个 Code 窗口之间的关系

5-1 Code

��&�

"��

��

"� �##� �� �

�����������

"� �##� ����� #�������������%��������� �����

��������������������������������

�� #��� �� �

�� #����� �#���� ���������%

����!����"� �##�

������������

�������

���

���

ARM DUI 0174C 版权所有 © 2002, 2003 ARM Limited 保留所有权利 5-3

Page 124: pudn.comread.pudn.com/downloads102/ebook/419574/arm...ii 版权所有 © 2002, 2003 ARM Limited 保留所有权利 ARM DUI 0174C RealView Debugger k 1 版权所有 © 2002, 2003 ARM

使用多目标连接

上图显示了以下这些组件的关系

Code GUI 的一部分 该组件提供了调试器内核的 Application Programming Interface (API) 的用户接口 它将使用保存在调试器内核中的连接状态信息来显示代码视图 提供访问其它窗口的入口 处理用户命令以及显示调试器消息

它通过作用于目标调试接口来满足代码视图的请求 此组件可激活 API 请求 例如 将程序加载到目标 从而将这些程序转换为目标存储器和寄存器上的操作序列

它介绍了调试器如何连接至调试目标 使用该连接需要的信息以及目标使用的处理器的类型 它可能还包含了已高速缓存的处理器寄存器或存储器副本

它可以使用适当的工作站硬件 例如 并行端口 和 JTAG 接口硬件 例如 ARM Multi-ICE 来启用调试器以控制处理器

也就是您要创建或调试的 硬件和软件系统

第 5-3 页图 5-1 中所示的配置讲述的是您在首次连接至一个目标时 RealView Debugger 所处的状态 这适用于您通过使用缺省的 Code 窗口以配合单一处理器调试模式工作的情况

在 Code 窗口 显示目标信息和目标连接本身之间是有区别的

• 控制 Code 窗口的主机代码可使用一般操作 例如 读取寄存器 来检索选定的显示所需的信息 根据您的请求给与响应以更改目标状态 例如根据写入变量

Code 窗口可维护调试器内核中当前连接的引用 这在图上用一端带圆点的线条表示 可以使用窗口附加选项来更改引用 如第 5-15 页使用 Connection 菜单中所述 如果更改了连接引用 Code 窗口则会使用新连接刷新显示的每个要素 从而显示新目标的状态

• Code 窗口调用的主机代码可维护表示每个连接的数据结构 此数据结构描述了处理器 处理器的当前状态以及指向目标的连接的性质 而且可使代码激活 Code 窗口请求

这种区别使 RealView Debugger 能够维护连接 而无需窗口来显示 并且能够用一个窗口维护多个连接 以下示例可以说明这一点

第 5-3 页图 5-1 在调试目标板上显示了指向 ARM 处理器的第一个连接 这时您又想创建指向 DSP 的第二个连接 RealView Debugger 则会创建新连接以及描述该连接的新的连接状态信息 此配置如图 5-2 中所示

5-4 版权所有 © 2002, 2003 ARM Limited 保留所有权利 ARM DUI 0174C

Page 125: pudn.comread.pudn.com/downloads102/ebook/419574/arm...ii 版权所有 © 2002, 2003 ARM Limited 保留所有权利 ARM DUI 0174C RealView Debugger k 1 版权所有 © 2002, 2003 ARM

使用多目标连接

5-2

如果您将第 5-3 页图 5-1 与第 5-5 页图 5-2 进行比较 您会发现 Debugger Core 中存在一个新的圆 它就表示新的连接状态信息 RealView Debugger 尚未删除指向 ARM 处理器的以前那个连接 这就是说 尽管 Code 窗口链接 带圆点的粗线 正在引用新连接 以前的 ARM 连接仍然可用

术语当前连接用于表示调试器显示的连接 如果不将其覆盖 在第 5-3 页图 5-1 中 ARM 连接是当前连接 如果您在随后连接至第二个连接 DSP DSP 连接则成为当前连接 如第 5-5 页图 5-2 中所示 除非您将 RealView Debugger Code 窗口连接至另一个连接 否则它始终显示与当前连接相关的信息 有关连接窗口的详情 请参阅第 5-15 页使用 Connection 菜单

��&�

���"��

��

"� �##� �� �

�����������

"� �##� ����� #�������������%��������� �����

������������������������������������

�� #��� �� �

�� #����� �#���� ����

����!����"� �##�

������������

�������

���

ARM DUI 0174C 版权所有 © 2002, 2003 ARM Limited 保留所有权利 5-5

Page 126: pudn.comread.pudn.com/downloads102/ebook/419574/arm...ii 版权所有 © 2002, 2003 ARM Limited 保留所有权利 ARM DUI 0174C RealView Debugger k 1 版权所有 © 2002, 2003 ARM

使用多目标连接

建立好两个连接之后 请使用 Actions 工具栏上的 Connection 按钮切换至其它目标 单击 Connection 下拉箭头显示 Connection 菜单 以便选择您要查看的特定连接 如图 5-3 所示

5-3 Connection

连接列表中连接名称旁边的星号 * 表示 当前连接 这通常是 后建立的连接未附加的窗口始终显示当前连接

如果您要返回至 Code 窗口中显示 ARM 处理器的状态 则可以在 Code 窗口的 Connection 下拉式列表中选择 ARM 连接 或者单击 Connection 按钮 以便循环查看各个连接

您还可以建立指向在您的调试目标板上运行 RTOS 的处理器的连接 第 5-5 页图 5-2 也可以显示运行支持四个线程的 RTOS 由四个小圆表示 的 CPU 此功能在第 3 章 RTOS 支持进行了详细描述

您可以用类似的方法建立指向调试目标的其它连接 从而在调试器内核中建立一组连接状态 建立了这些连接后 您可以通过使用单个 Code 窗口在它们之间随意切换 您也可以创建多个 Code 窗口 这样便可以在屏幕上同时查看多个连接

要创建新的 Code 窗口 请从现有的 Code 窗口中的主菜单中选择 View → New Code Window 这会创建引用与 Code 窗口相同的连接的新窗口

紧接第 5-5 页图 5-2 之后 图 5-4 将显示您在创建了四个连接和第二个 Code 窗口之后的调试器的状态

5-6 版权所有 © 2002, 2003 ARM Limited 保留所有权利 ARM DUI 0174C

Page 127: pudn.comread.pudn.com/downloads102/ebook/419574/arm...ii 版权所有 © 2002, 2003 ARM Limited 保留所有权利 ARM DUI 0174C RealView Debugger k 1 版权所有 © 2002, 2003 ARM

使用多目标连接

5-4

图 5-4 说明

• 已有一个指向 RTOS 上其它线程之一的连接 并且该连接指针已移动 将此显示在 Code 窗口中

• 有一个新的 Code 窗口和在目标上显示 DSP 处理器状态的新连接

有关选择连接以及附加和未附加的窗口之间的区别的详情 请参阅第 5-15 页使用 Connection 菜单

��&�

���"��

��

"� �##� ��� �

�����������%

"� �##� ����� #�������������%��������� �����

�����������%���������������������

�� #��� �� �

�� #����� �#���� ����

����!����"� �##�

������������

�������

���

ARM DUI 0174C 版权所有 © 2002, 2003 ARM Limited 保留所有权利 5-7

Page 128: pudn.comread.pudn.com/downloads102/ebook/419574/arm...ii 版权所有 © 2002, 2003 ARM Limited 保留所有权利 ARM DUI 0174C RealView Debugger k 1 版权所有 © 2002, 2003 ARM

使用多目标连接

5.2.1

在这些说明中 并未考虑目标调试接口单元 但是 建立连接的方式才是重要的 特别是它可以给您施加的限制 例如 每一个调试目标接口均可支持不同数目和不同类的连接 类似地 您可以连接至的处理器的类型是不同的 主要取决于基本调试目标接口

第 5-9 页图 5-5 显示了 RealView Debugger 的配置 该配置与第 5-7 页图 5-4 中的配置几乎是一样的 不同之处在于现在是三个截然不同的调试目标接口 而不是只有一个

不仅体系结构看起来相似 而且 无论是只有一个目标连接还是有多个连接RealView Debugger 的行为也相差无几 不过 这些接口仍然具有其固有限制这可能意味着下载速度的改变 或者有些功能在某些接口上不可用

有时 您可能需要将多个目标调试接口用于单个目标 例如 第 5-9 页图 5-5 中所示的模型中

• Multi-ICE 接口单元支持 ARM 处理器

• 如果运行 RTOS 的 CPU 是 Intel StrongARM 您就无法使用 JTAG 调试接口来连接到这个 CPU 合适的目标调试接口包括 ARM Angel 调试监控器

• DSP 必须由支持 DSP 调试的目标调试接口驱动 例如 Multi-ICE 直接连接基于 OCD 的仿真器

5-8 版权所有 © 2002, 2003 ARM Limited 保留所有权利 ARM DUI 0174C

Page 129: pudn.comread.pudn.com/downloads102/ebook/419574/arm...ii 版权所有 © 2002, 2003 ARM Limited 保留所有权利 ARM DUI 0174C RealView Debugger k 1 版权所有 © 2002, 2003 ARM

使用多目标连接

5-5

��&�

���"��

��

"� �##� �� �

'���(&

�"�

�� #��� �� �

�� #����� �#���� ���������%

����!����"� �##�

������������

�������

���

�����)��� �*��#����� �� ����#��������

������������� ���������

"����������� ���������

ARM DUI 0174C 版权所有 © 2002, 2003 ARM Limited 保留所有权利 5-9

Page 130: pudn.comread.pudn.com/downloads102/ebook/419574/arm...ii 版权所有 © 2002, 2003 ARM Limited 保留所有权利 ARM DUI 0174C RealView Debugger k 1 版权所有 © 2002, 2003 ARM

使用多目标连接

5.3

RealView Debugger 为所有处理器均位于相同 JTAG 扫描路径上的两个多处理器系统以及混合 JTAG 和其它形式的调试访问的系统提供支持 RealView Debugger 使您能检查和控制在多个处理器上运行的进程 以及通过用户接口查看变量和寄存器

本部分包括以下内容

• 使用 Multi-ICE 处理多个目标

• Connection Control 窗口

• 第 5-13 页查看连接详情

• 第 5-15 页使用 Connection 菜单

• 第 5-21 页断开与目标的连接

• 第 5-24 页使用工程

5.3.1 Multi-ICE

建议您在调试多个处理器时关闭 Multi-ICE 中的高速缓存机制

1. 选择 File → Connection → Connect to Target... 显示 Connection Control 窗口

2. 右击 Multi-ICE 条目 然后从上下文菜单中选择 Configure Device Info...

屏幕显示 Multi-ICE DLL 配置对话框

3. 单击 Advanced 选项卡

4. 确保未选中 Start-up with cache enabled 复选框 然后单击 OK

在调试器连接至目标时 请不要配置板文件

5.3.2 Connection Control

与单处理器模式相似 多处理器调试会话中的第一个步骤是建立指向您的调试目标的一个或多个连接 建立好连接之后 您可以加载准备调试的映像

在使用多处理器调试系统时 Connection Control 窗口可提供建立连接 管理那些连接以及同步处理操作的主窗口

如果 Connection Control 窗口已关闭 或隐藏在其它窗口的后面 则可以选择 File → Connection → Connect to Target... 来显示它 在图 5-6 中对此进行了说明

5-10 版权所有 © 2002, 2003 ARM Limited 保留所有权利 ARM DUI 0174C

Page 131: pudn.comread.pudn.com/downloads102/ebook/419574/arm...ii 版权所有 © 2002, 2003 ARM Limited 保留所有权利 ARM DUI 0174C RealView Debugger k 1 版权所有 © 2002, 2003 ARM

使用多目标连接

5-6 Connection Control

在多处理器模式下 Connection Control 窗口将显示两个选项卡

Connect 与单处理器调试模式相似 该选项卡可以显示板文件 例如 rvdebug.brd 和相关目标配置文件中指定的所有可用目标

Synch 可以使用此选项卡在调试会话过程中同步 或取消同步 处理器 以及查看不同目标的同步选项

展开 Name 列中的条目 以便查看可用的连接 如图 5-6 中所示

在单处理器调试模式下 您可以按 RealView Debugger v1.6 Essentials Guide 所述建立指向调试目标的第一个连接 例如可以通过双击所需的 Name 或 Description 来建立

要以多处理器模式建立其它连接 请显示 Connection Control 窗口并对所需的连接条目重复这些步骤 如果使用 RealView Debugger 的单个处理器版本来创建连接 您会看到一个对话框报告以下内容

You cannot connect to this core, as a license to access multiple processor cores could not be checked out. 您不能连接至此内核 因为系统无法检查到访问多个处理器内核的许可证

建立连接之后 您可以加载映像 选择 File → Load Image... 以显示 Load File to Target 对话框 从中您可以查找所需要的映像以及指定加载的方法

建立第二个连接可将连接添加至活动连接列表 新的连接会自动成为 当前连接 同时系统会更新 Code 窗口标题栏 以便显示连接详情 如图 5-7 中所示

ARM DUI 0174C 版权所有 © 2002, 2003 ARM Limited 保留所有权利 5-11

Page 132: pudn.comread.pudn.com/downloads102/ebook/419574/arm...ii 版权所有 © 2002, 2003 ARM Limited 保留所有权利 ARM DUI 0174C RealView Debugger k 1 版权所有 © 2002, 2003 ARM

使用多目标连接

5-7 Code

有关标题栏内容的详情 请参阅第 5-13 页查看连接详情

您可以使用 Connection Control 窗口在调试会话过程中查看所有可用的连接 以及配置新的目标连接 有关使用此窗口的详情 请参阅 RealView Debugger v1.6 Target Configuration Guide 中介绍连接目标一章

您可以通过使用 Actions 工具栏上的 Connection 按钮 从 Code 窗口查看所有连接 单击按钮上的箭头以显示下拉式菜单 如图 5-8 中所示 选择您要查看的特定连接

5-8 Connection

有关使用此菜单的详情 请参阅第 5-15 页使用 Connection 菜单

在建立每个新连接时 Output 窗格的 Cmd 选项卡会记录连接处理过程中提交的所有命令 以及由 RealView Debugger 返回的任何消息 如第 5-12 页图 5-9 中所示

5-9 Output

5-12 版权所有 © 2002, 2003 ARM Limited 保留所有权利 ARM DUI 0174C

Page 133: pudn.comread.pudn.com/downloads102/ebook/419574/arm...ii 版权所有 © 2002, 2003 ARM Limited 保留所有权利 ARM DUI 0174C RealView Debugger k 1 版权所有 © 2002, 2003 ARM

使用多目标连接

5.3.3

在建立新连接时 请在

• Code 窗口标题栏

• 第 5-14 页 Resource Viewer 窗口 中查看详情

Code

Code 窗口标题栏显示了连接以及调试目标上运行的任何过程的详情 如果您连接了目标并且加载了映像 则标题栏会类似于图 5-10 中显示的标题栏

5-10 Code

它显示

RVDEBUG 标识 Code 窗口 在您打开新窗口时即会更改 例如 RVDEBUG_1 或 RVDEBUG_2

(dhry) 与您加载的映像相关的自动工程

在 RealView Debugger 中 一个工程可与连接关联 也就是它可以绑定至连接 如图 5-10 中所示

有关工程绑定的详情 请参阅第 5-24 页使用工程

@ARM... 连接 包括目标处理器 连接号和执行载体

[Unattached]

将窗口附加至指定的连接

如果您在多处理器模式下工作 缺省 Code 窗口为未附加 您可以将 Code 窗口附加至指定的连接 显示为 [Board] 有关详情 请参阅第 5-15 页使用 Connection 菜单

如果您在单处理器调试模式下工作 则将窗口附加至连接的选项不可用

Color Box 是您建立连接的可视提示 系统将为每个活动连接分配不同的颜色而且显示该连接的信息的每个窗口 或浮动窗格 中都会显示 Color Box

������������������ � �+ �����������%����%!����������� �,�������

ARM DUI 0174C 版权所有 © 2002, 2003 ARM Limited 保留所有权利 5-13

Page 134: pudn.comread.pudn.com/downloads102/ebook/419574/arm...ii 版权所有 © 2002, 2003 ARM Limited 保留所有权利 ARM DUI 0174C RealView Debugger k 1 版权所有 © 2002, 2003 ARM

使用多目标连接

Resource Viewer

您可以通过 Resource Viewer 窗口查看有关连接的详情

1. 从 Code 窗口主菜单中选择 View → Resource Viewer Window

2. 如果仍不可见 则单击 Conn 选项卡来显示连接选项卡 如第 5-14 页图 5-11 中所示

Resource Viewer 只有在需要时才显示多个选项卡 例如 在启用 RTOS 扩展的情况下连接至 RTOS 应用程序则可创建附加选项卡 来显示 RTOS 资源

3. 选择连接

4. 从菜单栏选择 File → Display Details 以查看连接的详情 如第 5-14 页图 5-11 中所示

5-11 Resource Viewer

您可以通过双击选定的连接一步显示连接详情 这会立即显示有关该项目的详情

Resource Viewer 窗口标题栏可反映首次打开时调用 Code 窗口的标题栏 如果您要使用多个 Code 窗口 系统则会更新 Resource Viewer 以便与您 近对调试环境进行的更改保持一致 这意味着在您打开 或关闭 Code 窗口 建立新连接 更改当前连接或断开目标的连接时 标题栏和 Color Box 发生了变化

如果您通过 Actions 工具栏的 Connection 按钮来更改当前连接 系统则会更新 Resource Viewer Resources 列表 中的顶部窗格 新的当前连接标有星号 当前连接和先前的当前连接将显示为蓝色 表示已经更改

如果您让 Resource Viewer 窗口一直处于打开状态 并建立指向调试目标的另一个连接 系统则会刷新 Resources 列表 新的连接是当前连接并标有星号

5-14 版权所有 © 2002, 2003 ARM Limited 保留所有权利 ARM DUI 0174C

Page 135: pudn.comread.pudn.com/downloads102/ebook/419574/arm...ii 版权所有 © 2002, 2003 ARM Limited 保留所有权利 ARM DUI 0174C RealView Debugger k 1 版权所有 © 2002, 2003 ARM

使用多目标连接

如果您在打开 Resource Viewer 窗口之后更改调用窗口的附加 更改则不会反映在标题栏中 这意味着如果您同时使用多个 Resource Viewer 窗口 标题栏可能不会准确反映 Code 窗口的状态 关闭并重新打开 Resource Viewer 以便更新整个窗口

5.3.4 Connection

在多处理器模式下 系统会将 Connection 按钮添加到 Code 窗口工具栏 并在至少建立一个指向调试目标的连接时启用它 该按钮及其相关菜单使您可以在调试会话过程中更改当前连接 以及管理窗口附加

在 Code 窗口中 单击 Connection 按钮上的下拉箭头 以显示 Connection 菜单 如图 5-12 中所示

5-12 Connection

此菜单包含两个组件

Attach Window to a Connection

打开或关闭此菜单选项可控制当前 Code 窗口的附加 当窗口未附加时 则取消选中该选项 如图 5-12 中所示 Code 窗口标题栏将反映窗口的未附加状态 例如

RVDEBUG(dhry) = @ARM940T_0:ARM-A-RR [Unattached]

将窗口附加至当前连接时 系统就会选中此选项 Code 窗口标题栏会出现一些变化来反映新的附加 例如

RVDEBUG(dhry) = @ARM940T_0:ARM-A-RR [Board]

Active connections list

菜单的这一部分可按建立连接的顺序显示活动连接的列表 当前连接标有星号 * 例如

*ARM920T_0 ARM-A-RR ARM920T on localhost

在活动连接列表中 附加至 Code 窗口的连接标有复选标记 连接可能同时标有复选标记和星号 表示它是当前连接并且附加到了当前 Code 窗口

ARM DUI 0174C 版权所有 © 2002, 2003 ARM Limited 保留所有权利 5-15

Page 136: pudn.comread.pudn.com/downloads102/ebook/419574/arm...ii 版权所有 © 2002, 2003 ARM Limited 保留所有权利 ARM DUI 0174C RealView Debugger k 1 版权所有 © 2002, 2003 ARM

使用多目标连接

连接建立好之后 附加 就是指窗口是否连接至特定处理器 如果窗口为

Attached 则只显示有关已附加连接的信息

Unattached 则只显示有关当前连接的信息

如果您未获得在多处理器调试模式下工作的许可 则所有 Code 窗口都是未附加的 这是缺省模式 但是 这并不显示在标题栏中

附加使您可以以一种适合自己工作风格的方式使用 Code 窗口 例如您可以使用单个未附加的 Code 窗口 然后依次循环显示每个当前连接的活动连接 另外您也可以创建多个 Code 窗口 并将每个窗口附加至指定的连接

在多处理器模式下 您可以根据需要使用已附加或未附加的 Code 窗口的组合未附加的 Code 窗口可以显示有关当前连接的信息 而且往往是显示调试器和调试对象的输出消息的首选窗口

对于附加的窗口 标题栏则会显示它附加到的对象

[Board] 它表示窗口已附加至连接 即调试目标板 或附加多处理器板上指定的处理器 该窗口也可以附加至线程

触发 Connection 菜单上的 Attach Window to a Connection 选项进行更改

<blank> 如果标题栏不包含 [Unattached] 则此窗口将附加至选定线程也就是说它将始终与此线程关联

触发 Threads 菜单上的 Attach Window to a Thread 选项 进行更改

有关配置窗口附加的详情 请参阅第 5-17 页将窗口附加至多个连接

当您建立指向目标的连接时 系统将会扩展活动连接列表 列表上的 后一个项目即是 后建立的那个连接 RealView Debugger 会自动将此连接视为当前连接

5-16 版权所有 © 2002, 2003 ARM Limited 保留所有权利 ARM DUI 0174C

Page 137: pudn.comread.pudn.com/downloads102/ebook/419574/arm...ii 版权所有 © 2002, 2003 ARM Limited 保留所有权利 ARM DUI 0174C RealView Debugger k 1 版权所有 © 2002, 2003 ARM

使用多目标连接

您可以通过以下几种方法将另一连接指定为当前连接

• 单击 Connection 按钮 在活动连接列表中循环查看 直至所需连接成为当前连接

• 单击 Connection 按钮下拉箭头 显示 Connection 菜单 如第 5-15 页图 5-12 所示 从活动连接列表中选择所需的连接 此连接则就成了当前连接

更改当前连接可立即更新所有未附加的窗口 新的连接将显示在标题栏中而 Color Box 的颜色也会改变以表示新的连接

如果您尝试通过已附加 Code 窗口的 Connection 按钮来更改当前连接 系统会警告您窗口已附加 并提供选项以取消连接窗口或取消连接选择 如果您不打算取消连接此 Code 窗口 则必须创建新的 Code 窗口并在原窗口中选择新的连接

建立了多个连接之后 您可以创建新窗口 以便在调试会话过程中显示不同的视图 从 Code 窗口菜单选择 View 以显示 View 菜单 如图 5-13 中所示

5-13 View

您可以从缺省 Code 窗口或每个新的 Code 窗口创建新的 Code 窗口 每个新的 Code 窗口都可从调用窗口继承其附加

这个示例讲述如何连接至三个不同的目标 然后将 Code 窗口附加至这些连接中的每一个 在这个示例中 相同的映像被加载至每个连接 但是没有必要操作窗口附加

ARM DUI 0174C 版权所有 © 2002, 2003 ARM Limited 保留所有权利 5-17

Page 138: pudn.comread.pudn.com/downloads102/ebook/419574/arm...ii 版权所有 © 2002, 2003 ARM Limited 保留所有权利 ARM DUI 0174C RealView Debugger k 1 版权所有 © 2002, 2003 ARM

使用多目标连接

要将窗口附加至多个连接

1. 启动 RealView Debugger 以显示缺省 Code 窗口 未附加

2. 连接至三个不同的目标处理器并加载映像 如第 5-10 页 Connection Control 窗口中所述

当每个新的目标成为当前连接时 Code 窗口中的标题栏都会发生变化来反映新的连接 同时 Color Box 的颜色也会改变 例如 在 后的连接变成当前连接时 标题栏就会变为

RVDEBUG(dhry) = @ARM966E-S_1:ARM-A-RR [Unattached]

3. 从缺省 Code 窗口主菜单选择 View → New Code Window 然后打开第二个 Code 窗口 RVDEBUG_1 您也可以用 Alt+1 组合键打开一个新的窗口

4. 从缺省 Code 窗口主菜单选择 View → New Code Window 或按 Alt+1即可打开第三个 Code 窗口 RVDEBUG_2

在桌面上排序窗口 每个 Code 窗口的标题栏都会显示当前连接和颜色框的匹配情况

在 Code 窗口显示以及建立了连接之后 您可以将每个窗口附加至指定的连接

1. 将焦点移至第一个 Code 窗口 RVDEBUG 然后将该窗口附加至当前连接方法是先单击 Connection 下拉箭头 然后选择 Attach Window to a Connection

标题栏将被更新以显示该窗口现已附加至当前连接 即 后建立的连接 如图 5-14 所示 Color Box 也会改变颜色

5-14 Code

2. 将焦点移至第二个 Code 窗口 RVDEBUG_1 单击 Connection 按钮 将当前连接移至列表上下一个连接的位置

此操作可以更改当前连接 并更新所有未附加窗口 即第二个 Code 窗口 RVDEBUG_1 如图 5-15 中所示 和第三个 Code 窗口 RVDEBUG_2 的标题栏

5-15 Code

5-18 版权所有 © 2002, 2003 ARM Limited 保留所有权利 ARM DUI 0174C

Page 139: pudn.comread.pudn.com/downloads102/ebook/419574/arm...ii 版权所有 © 2002, 2003 ARM Limited 保留所有权利 ARM DUI 0174C RealView Debugger k 1 版权所有 © 2002, 2003 ARM

使用多目标连接

3. 单击 Connection 下拉箭头 然后选择 Attach Window to a Connection 从而将第二个 Code 窗口 RVDEBUG_1 附加至当前连接

此操作可更新第二个 Code 窗口的标题栏来显示附加 如图 5-16 中所示

5-16 Code

4. 将焦点移至第三个 Code 窗口 RVDEBUG_2 单击 Connection 按钮 更改当前连接

此操作可更新第三个 Code 窗口的标题栏 来显示新的当前连接 如图 5-17 中所示

5-17 Code

由于其它窗口都已附加 所以只有这个 Code 窗口可以更改以显示新的当前连接

5. 单击 Connection 下拉箭头 选择 Attach Window to a Connection 从而将第三个 Code 窗口 RVDEBUG_2 附加至当前连接 此操作可更新第三个 Code 窗口的标题栏以显示附加 如图 5-18 中所示

5-18 Code

6. 将焦点移至第一个 Code 窗口 RVDEBUG

7. 选择 View → Resource Viewer Window 显示 Resource Viewer 窗口 您也可以按 Alt+3 组合键

ARM DUI 0174C 版权所有 © 2002, 2003 ARM Limited 保留所有权利 5-19

Page 140: pudn.comread.pudn.com/downloads102/ebook/419574/arm...ii 版权所有 © 2002, 2003 ARM Limited 保留所有权利 ARM DUI 0174C RealView Debugger k 1 版权所有 © 2002, 2003 ARM

使用多目标连接

8. 显示连接详情 如图 5-19 中所示

5-19 Resource Viewer

Resource Viewer 窗口已从调用窗口继承其附加 因此标题栏和 Color Box 均可反映父窗口

通过在 左侧的条目上标记星号 Conn 选项卡也可显示 ARM920T_2 是当前连接

您可以从任何 Code 窗口显示 Resource Viewer 窗口 如果显示多个 Resource Viewer 实例 则可将相同连接详情显示为调用窗口 但系统会重命名每个新实例 例如 系统会将您所显示的第二个 Resource Viewer 窗口命名为 Resource Viewer_1

有关在使用工程时附加窗口的详情 请参阅第 5-24 页使用工程

您可以更改窗口的附加 这与当前连接无关 在将 Code 窗口附加至连接之后单击 Connection 按钮下拉箭头 然后从活动连接列表选择不同的连接 这会立即更改 Code 窗口 以便将其附加至新的连接 同时也会更新标题栏 和 Color Box 以显示新的附加 按这种方法更改窗口附加则不会更改当前连接

5-20 版权所有 © 2002, 2003 ARM Limited 保留所有权利 ARM DUI 0174C

Page 141: pudn.comread.pudn.com/downloads102/ebook/419574/arm...ii 版权所有 © 2002, 2003 ARM Limited 保留所有权利 ARM DUI 0174C RealView Debugger k 1 版权所有 © 2002, 2003 ARM

使用多目标连接

5.3.5

要与正在使用的多个目标断开连接 其方法有很多种 根据以下情况选择 适当的方法

• 活动连接的数量和排序

• Code 窗口的数量及附加窗口

• 使用断开连接选项时具有焦点的窗口

• 当前活动和连接的处理器的状态和进程

• 断开连接后所需的处理器的状态或进程

断开连接时 Code 窗口不会关闭 但视其中包含的数据而定 其内容可能会有所更改 例如 任何已加载的映像都会被卸载 相关源文件都会被关闭 而且 Register 或 Memory 窗格中显示的条目都会被清除 此操作视您为窗口设置的更新选项和目标处理器的断开连接状态而定

可用的选项包括

• 从 File 菜单断开连接

• 第 5-22 页从 Connection Control 窗口断开连接

• 第 5-23 页设置断开连接模式

File

使用多个目标时 您可以从 Code 窗口主菜单选择 File → Connection → Disconnect 从而断开当前连接 这会导致以下结果

• 当前连接立即终止

• 所有活动连接列表均会更新

• 附加至当前连接的任何窗口都会被取消附加

• 活动连接列表中的下一个连接将变成当前连接

• 所有未附加的窗口的标题栏和颜色框都会得到更新 来反映新的当前连接

• 已附加至活动连接列表中其它连接的任何窗口都不会受到终止当前连接的影响 除非其父连接成为新的当前连接 在这种情况下 各标题栏都会获得更新 以显示它们已附加至当前连接

ARM DUI 0174C 版权所有 © 2002, 2003 ARM Limited 保留所有权利 5-21

Page 142: pudn.comread.pudn.com/downloads102/ebook/419574/arm...ii 版权所有 © 2002, 2003 ARM Limited 保留所有权利 ARM DUI 0174C RealView Debugger k 1 版权所有 © 2002, 2003 ARM

使用多目标连接

如果您所选择的菜单是在其标题栏不会显示当前连接的窗口中 也就是说 窗口已附加至活动连接列表中的另一个连接 这将会断开已附加连接 这会导致以下结果

• 所有活动连接列表均会更新

• 附加至所选连接以便终止的任何窗口均会被取消附加

• 所有 近取消附加的窗口的标题栏和颜色框都会得到更新 来反映新的当前连接

如果所选择要中止的连接是唯一剩余的连接 则此连接与在单处理器模式下断开的连接相同 有关详情 请参阅 RealView Debugger v1.6 Extensions User Guide 但是 在多处理器模式下 在终止 后的连接时 Connection 按钮会被禁用

要关闭所有不需要的窗口 请从主菜单中选择 File → Close Window 切记 如果您关闭所有 Code 窗口 则会退出 RealView Debugger

Connection Control

在您调试会话的任意处 您可以使用 Connection Control 窗口从目标断开连接采用此方法可指定终止活动连接列表中哪个连接 您可以依次断开多个连接也可以一次断开所有连接

您可以用三种方法断开与调试目标的连接

• 双击连接条目

• 单击所需条目的复选框 取消选中

• 右击连接条目 然后从 Disconnection 菜单选择 Disconnect

如果当前连接被终止 则会导致以下结果

• 当前连接立即终止

• 所有活动连接列表均会更新

• 附加至当前连接的任何窗口都会被取消附加

• 活动连接列表中的下一个连接将变成当前连接

• 所有未附加的窗口的标题栏和颜色框都会得到更新 来反映新的当前连接

• 已附加至活动连接列表中其它连接的任何窗口都不会受到终止连接的影响 除非其父连接成为新的当前连接 在这种情况下 各标题栏都会获得更新 以显示它们已附加至当前连接

5-22 版权所有 © 2002, 2003 ARM Limited 保留所有权利 ARM DUI 0174C

Page 143: pudn.comread.pudn.com/downloads102/ebook/419574/arm...ii 版权所有 © 2002, 2003 ARM Limited 保留所有权利 ARM DUI 0174C RealView Debugger k 1 版权所有 © 2002, 2003 ARM

使用多目标连接

如果被终止的连接不是当前连接 则会导致以下结果

• 所选连接被终止

• 所有活动连接列表均会更新

• 附加至所选连接以便终止的任何窗口均会被取消附加

• 所有 近取消附加的窗口的标题栏和颜色框都会得到更新 来反映新的当前连接

如果所选择要中止的连接是唯一剩余的连接 则此连接与单处理器模式下断开的连接相同 有关详情 请参阅 RealView Debugger v1.6 Target Configuration Guide 但是 在多处理器模式下 在终止 后的连接时 Connection 按钮会被禁用

您可以控制终止连接时处理器的存在方式 在调试多处理器系统或多线程应用程序时 这会非常有用

有关使用 Connection Control 窗口中的 Disconnection 菜单和在断开连接后指定处理器状态 的详情 请参阅 RealView Debugger v1.6 Target Configuration Guide中介绍连接至目标一章

在您调试会话的任意处 您可以使用 Connection Control 窗口从所有连接的调试目标断开连接 右击顶级条目 例如 ARM_A_RR 载体 查看 Vehicle 上下文菜单 如图 5-20 中所示

5-20 Vehicle

在多处理器模式下 该上下文菜单包含选项 Disconnect All 选择此选项可终止所有连接 并会导致以下结果

• 所有连接都被终止

• 所有窗口都被取消附加

• 所有窗口的标题栏和颜色框都会被更新 以反映没有任何连接

ARM DUI 0174C 版权所有 © 2002, 2003 ARM Limited 保留所有权利 5-23

Page 144: pudn.comread.pudn.com/downloads102/ebook/419574/arm...ii 版权所有 © 2002, 2003 ARM Limited 保留所有权利 ARM DUI 0174C RealView Debugger k 1 版权所有 © 2002, 2003 ARM

使用多目标连接

• Connection 按钮被禁用

在多处理器模式下 Disconnect All 选项将在您至少有一个指向调试目标时可用

有关在使用工程时管理连接的详情 请参阅使用工程

5.3.6

如果您获得了以多处理器调试模式工作的许可 则可以使用

• 多个连接

• 多个 Code 窗口

• 多个工程

• 不同的窗口附加

本部分介绍了

• 使用多个连接

• 第 5-25 页使用附加的窗口

• 第 5-26 页具有多个连接的工程绑定

• 第 5-27 页连接和断开连接

本部分假设您熟悉 RealView Debugger v1.6 User Guide 中介绍管理工程的一章所讲述的概念和术语

在您以多处理器调试模式使用多个工程时 工程环境取决于

• 您的连接

• 工程打开的顺序

• 工程绑定

• 打开的窗口及其附加

如果您获得了以多处理器调试模式工作的许可 则工程操作与当前连接相关这意味着

• 当您初次打开缺省 Code 窗口时 它将被取消附加

• 缺省活动工程将显示在缺省 Code 窗口标题栏中 如果未连接 这就是您打开的 后一个工程 如果已连接 这就是成功绑定的 后一个工程

• 缺省活动工程在缺省 Code 窗口标题栏中将显示为绑定或未绑定 具体取决于当前连接

5-24 版权所有 © 2002, 2003 ARM Limited 保留所有权利 ARM DUI 0174C

Page 145: pudn.comread.pudn.com/downloads102/ebook/419574/arm...ii 版权所有 © 2002, 2003 ARM Limited 保留所有权利 ARM DUI 0174C RealView Debugger k 1 版权所有 © 2002, 2003 ARM

使用多目标连接

• 每个活动连接都可以有不同的绑定工程 这就是连接的活动工程

• 只要多个连接相互对应 同一工程就可以同时绑定到这些连接 这意味着 某个工程可能是多个目标的活动工程

• Project Control 对话框对所有打开的工程和活动连接都起作用 如图 5-21 中所示

5-21 Project Control

可以使用此对话框以常规方式取消绑定或重新绑定工程 有关详情 请参阅 RealView Debugger v1.6 User Guide 中介绍管理工程的章节

• 如果此对话框可见 Process Control 窗格则会显示绑定到当前连接的工程的详细资料

当您使用多个连接时 工程操作将与当前连接有关 而且取决于窗口附加 这意味着

• 缺省情况下 活动工程将显示在打开的工程列表的顶部

• 如果已连接 则未附加的 Code 窗口将显示当前连接 该窗口将通过 Project 或 Tools 菜单提供直接访问活动工程的入口 活动工程就是绑定到当前连接的工程 如果没有任何工程绑定到当前连接 则活动工程就是缺省工程

• 如果已连接 则附加的 Code 窗口将显示附加连接 该窗口将通过 Project 或 Tools 菜单提供直接访问活动工程的入口 活动工程就是绑定到附加连接的工程 如果没有任何工程绑定到当前连接 则活动工程就是缺省工程

• 您可以使用 Project Control 对话框来更改活动工程 而不考虑调用 Code 窗口的附加

ARM DUI 0174C 版权所有 © 2002, 2003 ARM Limited 保留所有权利 5-25

Page 146: pudn.comread.pudn.com/downloads102/ebook/419574/arm...ii 版权所有 © 2002, 2003 ARM Limited 保留所有权利 ARM DUI 0174C RealView Debugger k 1 版权所有 © 2002, 2003 ARM

使用多目标连接

• 新的 Code 窗口会继承调用窗口的工程环境 因此 新的 Code 窗口将继承调用窗口的活动工程

在使用单个工程和多个连接时 工程绑定规则将按 RealView Debugger v1.6 User Guide 中介绍管理工程一章所阐述的那样应用

要查看缺省绑定示例

1. 启动 RealView Debugger

2. 连接至两个目标处理器 如 ARM 内核和 Oak DSP 内核 Oak DSP 现在就是当前连接

3. 选择 View → New Code Window 显示第二个 Code 窗口 RVDEBUG_1

4. 选择 View → New Code Window 显示第三个 Code 窗口 RVDEBUG_2

5. 使用 Connection 下拉箭头 将缺省 Code 窗口 RVDEBUG 附加至 ARM 内核的连接 标题栏显示如下

RVDEBUG = @ARM940T_0:ARM-A-RR [Board]

6. 将第二个 Code 窗口 RVDEBUG_1 附加至 Oak DSP 内核的连接 标题栏显示如下

RVDEBUG_1 = @SimOAK_2:Sim [Board]

7. 不附加第三个 Code 窗口 RVDEBUG_2 标题栏显示如下当前连接

RVDEBUG_2 = @SimOAK_2:Sim [Unattached]

8. 从缺省 Code 窗口主菜单选择 Project → Open Project...

9. 将所需要的工程 例如 dhrystone.prj 置于调试器中 该文件位于基本安装的 \Examples 目录中

10. 轮流显示每个 Code 窗口 查看标题栏中的信息

打开工程仅与 ARM 系列处理器匹配 因此缺省情况下绑定至此连接

RVDEBUG(dhrystone) = @ARM940T_0:ARM-A-RR [Board]

RVDEBUG_1<dhrystone> = @SimOAK_2:Sim [Board]RVDEBUG_2<dhrystone> = @SimOAK_2:Sim [Unattached]

如果移至未附加的 Code 窗口 RVDEBUG_2 然后单击 Connection 按钮以循环至下一活动连接 标题栏会反映缺省 Code 窗口

5-26 版权所有 © 2002, 2003 ARM Limited 保留所有权利 ARM DUI 0174C

Page 147: pudn.comread.pudn.com/downloads102/ebook/419574/arm...ii 版权所有 © 2002, 2003 ARM Limited 保留所有权利 ARM DUI 0174C RealView Debugger k 1 版权所有 © 2002, 2003 ARM

使用多目标连接

RVDEBUG_2(dhrystone) = @ARM940T_0:ARM-A-RR [Unattached]

由于此窗口 RVDEBUG_2 未被附加 因此您可按此方式循环查看活动连接

如果现在打开第二个工程 如 Project_1 缺省情况下 RealView Debugger 会尝试将工程绑定至匹配连接 在这种情况下 新的工程仅与 ARM 连接匹配由于当前绑定至该连接的工程不是自动绑定的 所以 RealView Debugger 会提供取消绑定当前工程和绑定新工程的选项 它会显示其中显示匹配连接的列表选择框 以便您可以确认新的绑定

如果单击 Cancel 新工程会打开 但绑定并未更改

如果打开第三个工程 例如 Oak 工程 dtmf.prj RealView Debugger 则会重复绑定过程 在这种情况下 没有绑定至 Oak 的工程 因此新的工程将以缺省方式进行绑定 这表示 Oak 工程现在是缺省活动工程 将显示在任何未附加的 Code 窗口标题栏中 已附加窗口的标题栏会发生变化 以显示相关活动工程

连接或断开与调试目标的连接会改变工程环境

• 如果您打开多个工程 然后连接至一个或多个目标 RealView Debugger 则会首先绑定任何匹配的自动绑定工程

• 如果您打开其中没有一个工程指定自动绑定的多个工程 然后连接至一个或多个目标 RealView Debugger 则会使用缺省绑定按打开的工程列表指定的顺序绑定工程

• 如果您打开多个工程 然后连接至一个或多个目标 这将会更改所有未附加窗口的内容

• 如果您断开连接 而且有一个绑定至连接的工程 则工程会取消绑定 但由于已失去连接 所以不会运行任何关闭命令

• 如果您断开与一个目标的连接 这会更改所有已附加和未附加窗口的内容

• 如果断开与其中一个目标的连接 这可能会根据当前工程环境更改活动工程

• 如果断开连接 则并不会关闭任何打开的工程 这意味着您可以继续对工程属性进行更改 这适用于自定义的工程和自动工程

ARM DUI 0174C 版权所有 © 2002, 2003 ARM Limited 保留所有权利 5-27

Page 148: pudn.comread.pudn.com/downloads102/ebook/419574/arm...ii 版权所有 © 2002, 2003 ARM Limited 保留所有权利 ARM DUI 0174C RealView Debugger k 1 版权所有 © 2002, 2003 ARM

使用多目标连接

5.4

本部分介绍 RealView Debugger 如何受多处理器和多线程调试的影响 本部分包括以下内容

• 资源共享和调试器一致性

• 第 5-29 页保存和恢复 .brd 文件

• 第 5-29 页定义共享存储器区域

5.4.1

多处理器系统通常包括通信设备 因此系统中的每个处理器都可以与其它处理器进行通信 通信偶尔也可以在模拟域中进行 但在采用以下数字方法之一时 通常会受到影响

• 共享存储器 每个处理器都通过多个端口或共享总线访问 在共享整个存储器和 I/O 空间 而且使用同一种处理器时 这即是 Symmetric Multiprocessor (SMP)

• 点对点数据链接 在每个处理器总线上使用串行或并行接口

• 广播数据链接 例如 10Mbit 以太网

使用点对点或广播数据链接的系统通常不受资源共享问题的影响 但是 当资源 例如存储器 在指向多处理器系统的不同连接的各个处理器之间共享时调试器必须确保提供给用户的数据是一致的

例如 可以考虑这样一个会话 即其中的两个连接可以指向两个共享存储器区域的处理器 如果使用一个连接更改共享值 RealView Debugger 则具有两个选项

• 确保更改可以影响所有访问共享存储器的连接

• 提供能够确保指定连接真正代表 例如 通过再次读取所有信息 当前目标状态的命令 这使您可以根据需要执行此命令

要解决此问题 RealView Debugger 应确保指定连接的更改会导致更新每个相关连接 假设共享存储器区域已分配给调试器 因此 如果对某个连接的更改影响了共享资源时 则其它连接会获得提示 以检查它们是否必须更新窗口您也可以根据需要利用窗格上下文菜单来请求更新

5-28 版权所有 © 2002, 2003 ARM Limited 保留所有权利 ARM DUI 0174C

Page 149: pudn.comread.pudn.com/downloads102/ebook/419574/arm...ii 版权所有 © 2002, 2003 ARM Limited 保留所有权利 ARM DUI 0174C RealView Debugger k 1 版权所有 © 2002, 2003 ARM

使用多目标连接

5.4.2 .brd

在这些示例中 您将修改板文件 板文件通常存储在 RealView Debugger 主目录中 例如在 \home\user_name\ 中 其中 user_name 是您的 Windows 登录或用户名缺省情况下 板文件信息存储在 rvdebug.brd 中 其它配置文件都具有扩展名例如 *.cnf 和 *.rbe

在启动本章所述的示例之前 建议您备份此目录 以便您可以在以后恢复原始配置 要执行此操作

1. 退出 RealView Debugger

2. 使用 Windows Explorer 显示 \home\user_name\ 或者 如果未在缺省位置安装产品的话 相当的文件夹

3. 右击选择 user_name 文件夹图标 然后单击 Copy

4. 单击 Paste 创建称为 Copy of user_name 的新文件夹

如果您需要恢复板文件

1. 退出 RealView Debugger

2. 使用 Windows Explorer 显示 \home\user_name\ 或者 如果未在缺省位置安装产品的话 相当的文件夹

3. 右击选择 user_name 文件夹 然后单击 Delete 单击 OK 离开复选框

4. 将文件夹 Copy of user_name 重命名为 user_name

现在 您可以用保存的配置重新启动 RealView Debugger

如果您要返回出厂设置 请删除 user_name 文件夹 然后重新启动 RealView Debugger 它将创建新的缺省配置

5.4.3

该信息可以使用 Connection Properties 窗口来定义 而且您可以在此窗口中为每个共享存储器配置 Advanced_Information 块 要执行此操作

1. 显示 Connection Control 窗口 然后单击 Connect 选项卡以查看可用连接

2. 右击共享存储器的第一个处理器 然后从上下文菜单选择 Connection Properties... 这会显示 Connection Properties 窗口 所选的连接将突出显示在左侧窗格中 而此条目的内容则显示在右侧窗格中

ARM DUI 0174C 版权所有 © 2002, 2003 ARM Limited 保留所有权利 5-29

Page 150: pudn.comread.pudn.com/downloads102/ebook/419574/arm...ii 版权所有 © 2002, 2003 ARM Limited 保留所有权利 ARM DUI 0174C RealView Debugger k 1 版权所有 © 2002, 2003 ARM

使用多目标连接

3. 选择定义目标的 BOARD= 条目 通常该条目存储在 *.bcd 文件中

有关设置和修改 BOARD 条目的内容在 RealView Debugger v1.6 Target Configuration Guide 的配置自定义目标一章中做了介绍

4. 依次展开以下组

a. Advanced_Information

b. Default

c. Memory_block

5. 双击右侧窗格中的条目 展开 Default 组

Connection Properties 窗口的外观应该与图 5-22 类似

5-22

您可以使用 Memory_block 组定义具有特定特性的存储器的区域 其中一个特性是存储器区域是否在此处理器和另一个处理器之间共享 展开 Attributes 组 查看设置 Shared 和 Shared_id 以下示例说明如何使用这些设置

• 第 5-31 页定义对称多处理器的存储器

• 第 5-31 页定义三处理器多媒体系统的存储器

5-30 版权所有 © 2002, 2003 ARM Limited 保留所有权利 ARM DUI 0174C

Page 151: pudn.comread.pudn.com/downloads102/ebook/419574/arm...ii 版权所有 © 2002, 2003 ARM Limited 保留所有权利 ARM DUI 0174C RealView Debugger k 1 版权所有 © 2002, 2003 ARM

使用多目标连接

一个简单的示例是 SMP 环境 在这种环境下两个处理器可以共享整个存储器和所有外围设备 要执行此操作 请更改每个处理器 如第 5-30 页图 5-22 中的示例所示 的设置 方法如下

1. 将 Start 的值设置为 0

2. 将 Length 的值设置为 0xFFFFFF

3. 展开 Attributes 组

4. 单击右键 将 Shared 的值设置为 direct

5. 将 Shared_id 的值设置为 0x1

共享 ID 的实际值是无关的 只要相同的值与共享相同存储器区域的块相关 您就可以使用任何小整数

第 5-32 页图 5-23 中所示的更复杂的配置示例将显示共享两个存储器区域的三处理器的地址空间

板文件的 Advanced_Information 部分中的每个条目会将处理器的存储器布局描述成一个或多个段 对每个处理器和每个段而言 板文件必须包括

• 基本存储器地址和长度

• 存储器的类型 即只读或读/写

• 段是否共享以及 如果共享 共享 ID

您必须在 Connection Properties 窗口中进行的设置 这样才能按第 5-32 页图 5-23 中所示来配置三处理器 的详细资料 您必须通过以下任何一种方法启动

• 直接在板文件中编辑连接的设置 例如第 5-30 页图 5-22 中所示的 Multi-ICE 连接的 CONNECTION 组

• 创建与第 5-32 页图 5-24 中所示的 AP.bcd 相似的 Board/Chip 定义文件然后使用 CONNECTION= 组中的 BoardChip_name 设置从板文件加以引用

ARM DUI 0174C 版权所有 © 2002, 2003 ARM Limited 保留所有权利 5-31

Page 152: pudn.comread.pudn.com/downloads102/ebook/419574/arm...ii 版权所有 © 2002, 2003 ARM Limited 保留所有权利 ARM DUI 0174C RealView Debugger k 1 版权所有 © 2002, 2003 ARM

使用多目标连接

5-23

使用 BoardChip_name 方法可以使配置更加灵活 但设置变得复杂了一点

5-24 AP Board/Chip

���-..������ $���

���-/0��� $���

��� ����1�2

��� ����1�3

��������

��������

��������

����������

��������������������

����������

����������

����������

����������

����������

����������

�������������� � ���%%� �����������%%�� ����� $

���-20��� $���

��� ��*������� $

� ���%%� �������� $

��������

5-32 版权所有 © 2002, 2003 ARM Limited 保留所有权利 ARM DUI 0174C

Page 153: pudn.comread.pudn.com/downloads102/ebook/419574/arm...ii 版权所有 © 2002, 2003 ARM Limited 保留所有权利 ARM DUI 0174C RealView Debugger k 1 版权所有 © 2002, 2003 ARM

使用多目标连接

要为图 5-23 中所示的目标配置 RealView Debugger 您必须设置多个存储器块有关设置目标配置的详情 请参阅 RealView Debugger v1.6 Target Configuration Guide

每个处理器的私有区域有一个存储器块 共享通信区域有一个存储器块ARM920T 有两个共享区域 因此它有三个存储器块

您必须按以下方法将存储器说明块添加到 Advanced_Information 组

ARM966EJ-S_2

此处理器的 Memory_block 包含两个子块

LocalMem 您必须输入Start=0Length=0x10000Description="Local program memory"

GfxMem 您必须输入Start=0x10000Length=0x10000Description="Frame Buffer"

您必须在 Attributes 组中输入以下内容Shared=directShared_id=1

ARM920T_0

此处理器的 Memory_block 包含三个子块

LocalMem 您必须输入Start=0Length=0x40000Description="Local program memory"

GfxMem 您必须输入Start=0x40000Length=0x10000Description="Frame Buffer"

您必须在 Attributes 组中输入以下内容Shared=directShared_id=1

CommsMem 您必须输入Start=0x80000Length=0x1000Description="Shared IPC memory"

这些 Attributes 是设置共享时所需的Shared=directShared_id=2

ARM DUI 0174C 版权所有 © 2002, 2003 ARM Limited 保留所有权利 5-33

Page 154: pudn.comread.pudn.com/downloads102/ebook/419574/arm...ii 版权所有 © 2002, 2003 ARM Limited 保留所有权利 ARM DUI 0174C RealView Debugger k 1 版权所有 © 2002, 2003 ARM

使用多目标连接

ARM940T_1

此处理器的 Memory_block 包含两个子块

LocalMem 您必须输入Start=0Length=0x40000Description="Local program memory"

CommsMem 您必须输入Start=0x80000Length=0x1000Description="Shared IPC memory"

您必须在 Attributes 组中输入以下内容Shared=directShared_id=2

在该示例中 每个处理器的存储器映射都是使用设备名 例如 ARM920T 定义的 名称后面跟下划线字符和该处理器 例如 _0 的 TAP 控制器 ID 如果包括 TAP 号和处理器名称 则使您可以指定具体的处理器 即使您使用多个相同类型的处理器

在每个处理器存储器块内 处理器存储器的一些共同属性都可以定义 例如可以使用 Access_size 定义总线宽度 这些属性可由其它存储器规格块继承

在称为 LocalMem CommsMem 和 GfxMem 的示例中 可以为每个所命名的存储器区域定义特定属性 包括存储器区域的起始地址和长度 在该示例中 CommsMem 区域将出现在访问该区域的每个处理器的存储器映射中的相同位置 但 GfxMem 区域则不会 在指定的处理器存储器映射中 目标上硬件存储器地址解码器的函数将出现在共享区域 RealView Debugger 共享区域映射至共享这些区域的处理器上的相同地址还是不同地址 这都没有关系

缺省存储器共享状态是不共享的 由条目 Shared none 表示 因此 LocalMem 定义不必说明这一点 但是 CommsMem 和 GfxMem 区域 是共享的 因此必须为这两个区域指定 Shared 和 Shared_id 这两种属性 Shared 的值为以下这些值中的一个

none 存储器区域不能共享

direct 存储器区域可通过使用直接访问机制 例如共享存储器地址总线 来共享

indirect 存储器区域可通过使用间接访问方法来共享 例如 可使用带有连接至处理器的高速串行总线的分布式存储器控制器

5-34 版权所有 © 2002, 2003 ARM Limited 保留所有权利 ARM DUI 0174C

Page 155: pudn.comread.pudn.com/downloads102/ebook/419574/arm...ii 版权所有 © 2002, 2003 ARM Limited 保留所有权利 ARM DUI 0174C RealView Debugger k 1 版权所有 © 2002, 2003 ARM

使用多目标连接

本示例中所使用的存储器区域共享 ID 有1 视频缓冲器存储器

2 处理器间通信存储器

这些特殊值并无特别之处

由于共享资源并非由物理设备描述为处理器存储器映射的一部分 所以 尽管通常只有一个共享存储器设备 RealView Debugger 仍会要求将共享存储器设备至少描述两次 共享存储器设备的两个处理器各一次

ARM DUI 0174C 版权所有 © 2002, 2003 ARM Limited 保留所有权利 5-35

Page 156: pudn.comread.pudn.com/downloads102/ebook/419574/arm...ii 版权所有 © 2002, 2003 ARM Limited 保留所有权利 ARM DUI 0174C RealView Debugger k 1 版权所有 © 2002, 2003 ARM

使用多目标连接

5.5

如果您拥有在单个应用程序上共同运行的多个处理器 能够用单个调试器命令启动所有处理器或停止所有处理器 这有时是很有用的 RealView Debugger 包括用于交叉触发和同步处理器的设备

• 开始执行

• 停止执行

• 单步执行

本部分介绍如何执行此操作以及存在的限制 本部分包含以下内容

• 关于执行同步

• 第 5-41 页同步设备

5.5.1

当多个处理器在同一应用程序上运行时 您可能需要检查一个点上所有处理器的状态 RealView Debugger 不会同步处理器活动 除非指示它进行此操作 处理器只有在您指示调试器停止运行 处理器触发了断点 或者目标操作环境停止它的运行时 它才会停止运行 本部分包含以下内容

• 术语

• 第 5-40 页同步和交叉触发

以下是本部分中使用的术语

在本部分中 术语处理器组 指进行配置以便以同步方式运行的处理器集

对于处理器组而言 延迟是指第一个处理器停止和 后一个处理器停止之间的时间延迟

如果一个处理器的停止时间早于一个或更多个其它处理器 处理器组则会延迟 产生延迟的原因可以是 处理器连接方法不同处理器体系结构不同或执行的指令不同 或者调试器无法同时发出停止请求

图 5-25 表示三处理器回应外部事件而停止运行 例如 单击停止按钮

5-36 版权所有 © 2002, 2003 ARM Limited 保留所有权利 ARM DUI 0174C

Page 157: pudn.comread.pudn.com/downloads102/ebook/419574/arm...ii 版权所有 © 2002, 2003 ARM Limited 保留所有权利 ARM DUI 0174C RealView Debugger k 1 版权所有 © 2002, 2003 ARM

使用多目标连接

5-25

此处所示的延迟表示 当调试器检查 CPU1 上运行的程序时 它会比在 CPU0 上运行更高级 此序列中的延迟将在表 5-1 中讲述

在任何多处理器系统中 由于执行速度不同 所以必须启用处理器之间的通信协议 因此该类型的延迟通常不属于故障问题

在硬件和软件环境下 RealView Debugger 可以松散地同步处理器 鉴于调试器连接至处理器的方法 这可以由长达若干秒 几百万个指令 的较长延迟时间来体现 由于在没有硬件同步控制的情况下也会产生较长延迟 因此必须以手动方式从调试器发出停止命令

Running Debug state

Running Debug state

Running Debug state

Skid

Debugger stop event

CPU0

CPU1

CPU2

Hardware stop request

CPU0 stop

CPU2 stop

CPU1 stop

t2

t1

t3

5-1

t1 大约 1 毫秒 调试器处理用户请求的时间

t2 大约 1 毫微秒至 10 毫秒

接口硬件以并行或序列方式处理请求的时间

处理速度取决于是用硬件还是软件执行

t3 1 至 10 个时钟 处理器停止的时间 通常指处理器达到下一个指令边界的时间

ARM DUI 0174C 版权所有 © 2002, 2003 ARM Limited 保留所有权利 5-37

Page 158: pudn.comread.pudn.com/downloads102/ebook/419574/arm...ii 版权所有 © 2002, 2003 ARM Limited 保留所有权利 ARM DUI 0174C RealView Debugger k 1 版权所有 © 2002, 2003 ARM

使用多目标连接

在硬件环境下 RealView Debugger 将使用由基本处理器或仿真器支持的紧密同步的系统 它具有较短的延迟时间 通常只有几微秒或更短 并且可能只有一个单一指令

当一个组中的某个处理器由于内部或外部事件而停止运行时 即会出现交叉触发 交叉触发随后会导致其它处理器也停止运行

引起停止的处理器 例如 因为它触发了断点 会立即停止 但其它处理器可能需要更长时间才会停止 如果目标上有交叉触发硬件 则会出现类似于图 5-26 的序列

初的停止会在处理器上激活外部信号 例如 DBGACK 该信息可以导致交叉触发硬件为其它处理器生成输入信号 例如 CPU0 stop 从而停止各个处理器 这些其它处理器中的每个处理器在停止时都会延迟 就象单个处理器系统停止时那样

5-26

对于没有硬件交叉触发的目标系统而言 调试器可以在软件中执行类似功能 但是 有关处理器会更复杂 延迟时间会更长 例如 硬件交叉触发可能能够在 初断点之后的第五个目标指令停止所有处理器 软件解决方案可能需要百万个目标指令

软件交叉触发所需的序列如图 5-27 中所示

Running Debug state

Running Debug state

Running Debug state

Skid

Breakpoint

triggered

CPU1

CPU2

CPU0

CPU1 stop others

CPU0 stop

CPU2 stop

Instruction skid

5-38 版权所有 © 2002, 2003 ARM Limited 保留所有权利 ARM DUI 0174C

Page 159: pudn.comread.pudn.com/downloads102/ebook/419574/arm...ii 版权所有 © 2002, 2003 ARM Limited 保留所有权利 ARM DUI 0174C RealView Debugger k 1 版权所有 © 2002, 2003 ARM

使用多目标连接

5-27

此序列中的延迟将在表 5-2 中讲述 持续时间的数字只适用于一般指导

Running Debug state

Running Debug state

Running Debug state

SkidBreakpoint triggered

CPU1

CPU2

CPU0

CPU1 stopped

CPU0 stop

CPU2 stop

Instruction skid

Debugger sees CPU1 stop

Debugger stops CPU0, CPU2

t2

t1

t3

t4

t5

t6

5-2

t1 0 至 3 个指令 断点停止处理器的时间

t2 大约 25 至 100 毫秒

调试器通知处理器停止的时间

t3 大约 50 毫微秒 调试器对 CPU1 停止反应的时间

t4 大约 50 毫微秒 计算出交叉触发事件发生和何组处理器必须停止的时间

t5 大约 1 至 1000 毫秒

调试器使用目标调试接口请求处理器停止的时间 以并行或序列方式

t6 1 至 10 个指令 处理器停止的时间 通常指处理器达到下一个指令边界的时间

ARM DUI 0174C 版权所有 © 2002, 2003 ARM Limited 保留所有权利 5-39

Page 160: pudn.comread.pudn.com/downloads102/ebook/419574/arm...ii 版权所有 © 2002, 2003 ARM Limited 保留所有权利 ARM DUI 0174C RealView Debugger k 1 版权所有 © 2002, 2003 ARM

使用多目标连接

同步既适用于启动处理器组也适用于停止处理器组 尽管启动处理器更容易更快

具有紧密同步的处理器和较短延迟的目标使您可以停止系统 并在一定程度上确保总体状态与请求停止时的状态保持一致 对于松散同步的系统 一旦系统停止 总体状态是否一致取决于软件和硬件体系结构

延迟的实际长度会不断变化 具体取决于许多条件 例如

• 如果由于其中一个处理器交叉触发了另一个处理器而发生了停止请求 则断点处理器就已停止 但调试器可能未寄存它必须停止其它处理器

这种形式的延迟可以通过在硬件中直接将处理器链接在一起而加以削减使其中一个达到断点的处理器无需调试器干预即可停止其它处理器

• 如果一个或多个处理器是通过调试监控器软件进行控制 则该处理器的延迟取决于当前任务是否可以中断

• 如果组中的一个或多个处理器共享一根存储器总线 例如带 DMA 控制器 则另一个总线主控器可以要求使用总线 并阻止处理器完成指令 从而阻止进入调试状态

• 如果调试器必须向每个处理器发出单独的停止请求 则主机操作系统可能会取消两个停止请求之间的调试器任务 从而引起极长的额外延迟

通常多线程应用程序被设计成可以容忍不同的执行速度和不同的执行顺序在此情况下 处理器之间的通信尝试会给予保护 以确保数据一致性 在组中的处理器以不同的时钟速度运行或使用不同的存储器子系统运行时 这会特别明显

如果未进行通信保护 则执行顺序中的正常干扰可能会引起应用程序失败 在不包括极短通信超时的通信系统中 常有可能只停止组中的一个处理器 另一个处理器会由于缺少数据或数据过多而暂停 另外 您也可以在工作时让它们继续写至特意覆盖的通信缓冲器

使用处理器组时 RealView Debugger 将通过显示以下消息警告您处理器同步是否联系松散

Synchronization will be loose (intrusive) for some or all connections in the synch group.

5-40 版权所有 © 2002, 2003 ARM Limited 保留所有权利 ARM DUI 0174C

Page 161: pudn.comread.pudn.com/downloads102/ebook/419574/arm...ii 版权所有 © 2002, 2003 ARM Limited 保留所有权利 ARM DUI 0174C RealView Debugger k 1 版权所有 © 2002, 2003 ARM

使用多目标连接

5.5.2

您可以使用 Connection Control 窗口的 Synch 选项卡访问 RealView Debugger 的同步设备 有关详情 请参阅

• Synch 选项卡

• 第 5-41 页执行控件

• 第 5-42 页交叉触发控件

• 第 5-43 页处理器同步

• 第 5-43 页使用同步处理器

Synch

选择 File → Connection → Synchronization Control... 显示连接窗口 窗口显示有 Synch 选项卡 如第 5-41 页图 5-28 中所示

5-28 Connection Control Synch

左侧窗格中的顶级条目列出每个当前连接 每一个条目旁边都带有复选框 此复选框显示是否以任何方式对该连接的处理器进行了同步 在取消选定的状态下 一个处理器不受任何其它处理器的影响 在选定状态下 一个处理器可能会受其它处理器的影响 这取决于其它控件 例如 要同步 ARM920T 和 ARM940T 处理器 请单击与每个条目相关的复选框 这将使用同步类型的详细资料 即 Loosely coupled 或 Tightly coupled 立即更新 Connection Control 窗口

在处理器连接条目的下方 Execution 控件将定义同步的操作 在初次打开此窗口时 缺省情况下这些都为选定 执行控件可以单独设置 或者以组合方式设置

Step 处理器组按步骤指令进行同步 即单独步进一个处理器也将步进组中的所有其它处理器

ARM DUI 0174C 版权所有 © 2002, 2003 ARM Limited 保留所有权利 5-41

Page 162: pudn.comread.pudn.com/downloads102/ebook/419574/arm...ii 版权所有 © 2002, 2003 ARM Limited 保留所有权利 ARM DUI 0174C RealView Debugger k 1 版权所有 © 2002, 2003 ARM

使用多目标连接

Run 处理器组按运行指令进行同步 即启动一个处理器也将运行组中的所有其它处理器

Stop 处理器组按停止指令进行同步 即停止一个处理器也将停止组中的所有其它处理器

例如 如果您要同时停止或启动处理器 但希望单独步进每一个处理器 您应选定 Stop 和 Run 但不能选择 Step

展开 Synch 选项卡上的处理器条目 以查看 Trigger 控件 如第 5-42 页图 5-29 中所示

5-29 Synch

Trigger 控件说明组中指定处理器和其它处理器之间的通信

In 表示处理器是否响应其它处理器的停止请求

Out 在处理器停止时 这表示是否向组中的其它处理器发出停止请求

如果一个处理器同时取消选定 In 和 Out 则处理器将不参与交叉触发 当然如果每个处理器的复选框均为取消选定 则 In 和 Out 复选框的状态是不相关的

例如 如果想要防止其它处理器停止一个处理器 则您应取消选定 In 复选框这表明如果需要 您仍然可以停止此处理器 例如使用断点

通过此控制同步的系统 您可以创建主从和对等同步组 但是 您不能创建多个独立的处理器组 其中两个处理器集在组内而非在两个组之间被同化

5-42 版权所有 © 2002, 2003 ARM Limited 保留所有权利 ARM DUI 0174C

Page 163: pudn.comread.pudn.com/downloads102/ebook/419574/arm...ii 版权所有 © 2002, 2003 ARM Limited 保留所有权利 ARM DUI 0174C RealView Debugger k 1 版权所有 © 2002, 2003 ARM

使用多目标连接

第 5-43 页图 5-30 显示了带有一个具有三个同步处理器及其控件的组的 Connection Control 窗口示例

5-30 Connection Control

在此配置中 每个处理器都可以停止所有其它处理器 并且每个处理器都会对停止请求作出响应 但是 没有一个处理器启动 运行 或单独步进其它处理器 因为 Step 和 Run 复选框均没有选定

通过在 Synch 选项卡中设置的处理器组控件 您可以使用单独的 未附加的 Code 窗口来查看连接 或设置多个 Code 窗口 以及开始调试会话

如果您使用多个 Code 窗口 建议您将其中一个同步处理器作为当前连接 并将 Code 窗口附加至此连接 作为显示调试器消息的首选窗口

使用同步处理器时请牢记以下几点

• 尽管会大量减少延迟 但在硬件交叉触发或同步可用时 不存在行为差别

• 尽管对模拟器进行同步时需要合适的桥式产品 但在模拟器和其它硬目标板 之间不存在行为差别

ARM DUI 0174C 版权所有 © 2002, 2003 ARM Limited 保留所有权利 5-43

Page 164: pudn.comread.pudn.com/downloads102/ebook/419574/arm...ii 版权所有 © 2002, 2003 ARM Limited 保留所有权利 ARM DUI 0174C RealView Debugger k 1 版权所有 © 2002, 2003 ARM

使用多目标连接

5-44 版权所有 © 2002, 2003 ARM Limited 保留所有权利 ARM DUI 0174C

Page 165: pudn.comread.pudn.com/downloads102/ebook/419574/arm...ii 版权所有 © 2002, 2003 ARM Limited 保留所有权利 ARM DUI 0174C RealView Debugger k 1 版权所有 © 2002, 2003 ARM

附录 A

本附录描述如何安装硬件以获得 RealView Debugger 支持的跟踪配置 有关跟踪硬件组件如何与 RealView Debugger 交互作用以使您可以执行跟踪的详细信息请参阅第 2-7 页使用入门

安装跟踪捕获系统时 请勿超出目标 ETM 信号或跟踪捕获硬件的计时规格有关详情 请参阅 ARM Multi-Trace User Guide

本附录包含以下部分

• 第 A-2 页 ARM MultiTrace 和 ARM Multi-ICE

• 第 A-4 页 Agilent 16600 或 16700 逻辑分析仪和 Emulation Probe

• 第 A-8 页 Agilent 16600 或 16700 逻辑分析仪和 Multi-ICE

• 第 A-11 页 Agilent Emulation Probe 和 Trace Port Analyzer (E5904B)

• 第 A-14 页 Tektronix TLA 600 或 TLA 700 Logic Analyzer 和 Multi-ICE

ARM DUI 0174C 版权所有 © 2002, 2003 ARM Limited. 保留所有权利 A-1

Page 166: pudn.comread.pudn.com/downloads102/ebook/419574/arm...ii 版权所有 © 2002, 2003 ARM Limited 保留所有权利 ARM DUI 0174C RealView Debugger k 1 版权所有 © 2002, 2003 ARM

设置跟踪硬件

A.1 ARM MultiTrace ARM Multi-ICE

ARM MultiTrace 分析仪可从 ARM Limited 获取 与 Multi-ICE 配合使用时 可以组成完整的跟踪解决方案 您可以使用附带的带状电缆和适配器将其连接至目标板 并使用 10BaseT 以太网电缆将其连接至主机工作站

A.1.1

要安装硬件以在 RealView Debugger 中启用跟踪功能 如第 A-3 页图 A-1 中所示

1. 按照 Multi-ICE User Guide 中的 Using Multi-ICE with Debuggers 一章所述连接和配置 Multi-ICE 接口单元

2. 按照 MultiTrace User Guide 中的 Getting Started 一章所述 连接和配置 MultiTrace 接口单元

有关连接至目标并将其配置为用于 RealView Debugger 的信息 请参阅 RealView Debugger v1.6 Target Configuration Guide

A-2 版权所有 © 2002, 2003 ARM Limited. 保留所有权利 ARM DUI 0174C

Page 167: pudn.comread.pudn.com/downloads102/ebook/419574/arm...ii 版权所有 © 2002, 2003 ARM Limited 保留所有权利 ARM DUI 0174C RealView Debugger k 1 版权所有 © 2002, 2003 ARM

设置跟踪硬件

A-1 Multi-ICE Multi-ICE Multi-Trace

4������ ���'���� 5

6�%���� 5%������ �����#�����������%� *�

�� #��� ���� �� �

�� #��� �� �

307�%������ ������ ��

20���$� � ���� ��

�� ������� ���� ��

���

�������� ������

���

�������� �������

���� ������������

���� ���������

.0���$���#����%��$� � ����� ��

"������ ��� ������!���

������"��%��5��

6�%���� 5%������ �����#�����!����"� �##�

'���� 5�� ��

����

���������

'���� 5�� ��

� ��������� �%��5��

ARM DUI 0174C 版权所有 © 2002, 2003 ARM Limited. 保留所有权利 A-3

Page 168: pudn.comread.pudn.com/downloads102/ebook/419574/arm...ii 版权所有 © 2002, 2003 ARM Limited 保留所有权利 ARM DUI 0174C RealView Debugger k 1 版权所有 © 2002, 2003 ARM

设置跟踪硬件

A.2 Agilent 16600 16700 Emulation Probe

要在 RealView Debugger 中安装硬件并启用跟踪功能 如第 A-5 页图 A-2 中所示

1. 安装带 Agilent Emulation Probe 的 Agilent 16600 或 16700 逻辑分析仪以及支持以下功能的 Agilent 逻辑分析仪卡

• 样本率至少与目标的核心时钟频率同样高 如果使用四位 ETM 数据端口 则至少应为两倍高

• 少 21 次信号输入

• 少 10,000 字 样本 的存储器

2. 连接所有硬件 如第 A-5 页图 A-2 中所示 接通所有硬件的电源 ARM 目标板除外

A-4 版权所有 © 2002, 2003 ARM Limited. 保留所有权利 ARM DUI 0174C

Page 169: pudn.comread.pudn.com/downloads102/ebook/419574/arm...ii 版权所有 © 2002, 2003 ARM Limited 保留所有权利 ARM DUI 0174C RealView Debugger k 1 版权所有 © 2002, 2003 ARM

设置跟踪硬件

A-2 Agilent 16600 16700 Emulation Probe

3. 使用逻辑分析仪的用户接口配置网络安装 通常 网络设置是系统管理功能的一部分 您可以通过单击 Logic Analysis System 窗口中的 System Admin 进行访问 有关详情 请参阅逻辑分析仪文档

4������ ���'���� 5

���������� � �

3/���$ � ����� ��

����� ��������� %����8��2�9��3��0

4�#�������$:�

�$%������� ���%�

;&�������<���������� � �� �

����� ��� ��

6�%���� 5%������ �����#�����!����"� �##�

���� �� ��

���� %����$;32!<

ARM DUI 0174C 版权所有 © 2002, 2003 ARM Limited. 保留所有权利 A-5

Page 170: pudn.comread.pudn.com/downloads102/ebook/419574/arm...ii 版权所有 © 2002, 2003 ARM Limited 保留所有权利 ARM DUI 0174C RealView Debugger k 1 版权所有 © 2002, 2003 ARM

设置跟踪硬件

4. 检查以下组件的版本号是否正确

必须是 A.01.40.00 或更高版本

必须是 A.01.40.00 或更高版本

必须是各种仿真模块组件的以下版本号或更高版本E3499B Series Emulation System

Version: A.07.64Location: Generics

E3459B ARM7/9 JTAG EmulatorVersion: B.02.04

E3459Q ARM7/9 Trace Port AnalyzerVersion: Q.01.00.

要查看软件版本 请在 System Administration Tools 窗口中选择 Software Install 选项卡 然后单击 List 如果您需要升级软件 请按照网站 http://www.agilent.com 中的说明联系 Agilent 技术支持

要查看固件版本 请右击 Emulator 图标 位于 Logic Analysis System 或 Workspace 窗口中 然后选择 Update Firmware 选项以显示当前版本如果您需要升级

a. 请从网站 http://www.agilent.com 中下载合适的文件

b. 将文件复制至逻辑分析仪的硬盘 将其放入目录 /hplogic/firmware/run_cntrl 中

c. 在 Update Firmware 窗口中单击 Update Firmware 升级将会自动执行

Agilent 网站提供了有关此过程的详细信息

5. 配置分析仪软件 在此过程中 您必须记录以下信息 才能将 RealView Debugger 安装为与以下参数相匹配

• 您正捕获的目标信号数量 即宽信号 16 位 或窄信号 8 位

• 时钟定义 即单边时钟和双边时钟

提供的分析仪配置文件将假定使用全速 单边 时钟 并且不对数据进行多路处理或多路分解 如果您要使用半速率时钟 多路处理或多路分解 则必须修改已加载至分析仪的配置

A-6 版权所有 © 2002, 2003 ARM Limited. 保留所有权利 ARM DUI 0174C

Page 171: pudn.comread.pudn.com/downloads102/ebook/419574/arm...ii 版权所有 © 2002, 2003 ARM Limited 保留所有权利 ARM DUI 0174C RealView Debugger k 1 版权所有 © 2002, 2003 ARM

设置跟踪硬件

您可以按以下方式配置分析仪

• 在 Logic Analysis System 窗口中单击 File Manager 加载合适的一般配置文件 然后您可以将其保存至逻辑分析仪和适当插槽的专用配置文件

以下逻辑分析仪配置文件可供使用

— CARMETM_9 对应 8 位端口宽度 带时间标记

— CARMETM_10 对应 8 位端口宽度

— CARMETM_11 对应 16 位端口宽度 带时间标记

— CARMETM_12 对应 16 位端口宽度

使用 8 位端口宽度的配置也适用于 4 位 ETM 跟踪端口

请与 Agilent 联系 获得逻辑分析仪的 CD-ROM 软件更新 此更新始终包括了 ETM 跟踪所需的 新配置文件

• 在 Logic Analysis System 窗口中单击 Setup Assistant 如果可用采用此方法时 加载配置文件的过程被分为一系列简单的步骤 对于每一个步骤 您会被提示允许 Setup Assistant 按照您的规格自动生成配置文件 有关详情 请参阅逻辑分析仪文档

6. 接通 ARM 目标板电源 您的逻辑分析仪硬件已配置为用于 RealView Debugger

7. 配置 RealView Debugger 中的目标以启用跟踪 请参阅 RealView Debugger v1.6 Target Configuration Guide

ARM DUI 0174C 版权所有 © 2002, 2003 ARM Limited. 保留所有权利 A-7

Page 172: pudn.comread.pudn.com/downloads102/ebook/419574/arm...ii 版权所有 © 2002, 2003 ARM Limited 保留所有权利 ARM DUI 0174C RealView Debugger k 1 版权所有 © 2002, 2003 ARM

设置跟踪硬件

A.3 Agilent 16600 16700 Multi-ICE

此配置与单 Agilent 配置之间的不同在于 Agilent Emulation Module 被替换为 Multi-ICE 接口单元

要在 RealView Debugger 中安装硬件并启用跟踪功能 您必须

1. 安装附带 Agilent 逻辑分析仪卡支持的 Agilent 16600 或 16700 逻辑分析仪

• 样本率至少与目标的核心时钟频率同样高 如果使用四位 ETM 数据端口 则至少应为两倍高

• 少 21 次信号输入

• 少 10,000 字 样本 的存储器

2. 按照 Multi-ICE User Guide 所述 连接 Multi-ICE 接口单元

3. 在目标板上的接口单元与 JTAG 插头之间连接一条 Multi-ICE JTAG 电缆并将逻辑分析仪 Mictor 连接器从端口 Pod 1 和 Pod 2 连接至 Trace 端口 Mictor 插座

如果目标板上没有单独的 JTAG 和 Trace 连接器 则必须使用已插入 Trace 连接器的适配器板 板可以从逻辑分析仪供应商处获取

4. 连接硬件的其余部分 如第 A-10 页图 A-3 中所示

5. 接通所有硬件的电源 目标板除外

6. 在主机工作站上启动 Multi-ICE 服务器软件 并验证硬件自动配置是否工作正常

7. 配置逻辑分析仪的网络接口 网络设置通常是系统管理功能的一部分您可以通过单击 Logic Analysis System 窗口中的 System Admin 进行访问有关详情 请参阅逻辑分析仪文档

8. 检查以下组件的版本号是否正确

必须是 A.01.40.00 或更高版本

必须是 A.01.40.00 或更高版本

要查看软件版本 请在 System Administration Tools 窗口中选择 Software Install 选项卡 然后单击 List 如果您需要升级软件 请按照网站 http://www.agilent.com 中的说明联系 Agilent 技术支持

A-8 版权所有 © 2002, 2003 ARM Limited. 保留所有权利 ARM DUI 0174C

Page 173: pudn.comread.pudn.com/downloads102/ebook/419574/arm...ii 版权所有 © 2002, 2003 ARM Limited 保留所有权利 ARM DUI 0174C RealView Debugger k 1 版权所有 © 2002, 2003 ARM

设置跟踪硬件

9. 配置分析仪软件 在此过程中 您必须记录以下信息 才能将 RealView Debugger 安装为与以下参数相匹配

• 您正捕获的目标信号数量 即宽信号 16 位 或窄信号 8 位

• 时钟定义 即单边时钟和双边时钟

提供的分析仪配置文件将假定使用全速 单边 时钟 并且不对数据进行多路处理或多路分解 如果您要使用半速率时钟 多路处理或多路分解 则必须修改已加载的配置

您可以按以下任何一种方式配置分析仪

• 在 Logic Analysis System 窗口中单击 File Manager 加载合适的一般配置文件 然后您可以将其保存至逻辑分析仪和适当插槽的专用配置文件

以下逻辑分析仪配置文件可供使用

— CARMETM_9 对应 8 位端口宽度 带时间标记

— CARMETM_10 对应 8 位端口宽度

— CARMETM_11 对应 16 位端口宽度 带时间标记

— CARMETM_12 对应 16 位端口宽度

使用 8 位端口宽度的配置也适用于 4 位 ETM 跟踪端口

请与 Agilent 联系 获得逻辑分析仪的 CD-ROM 软件更新 此更新包含了 ETM 跟踪所需的 新配置文件

• 在 Logic Analysis System 窗口中单击 Setup Assistant 如果可用采用此方法时 加载配置文件的过程被分为一系列简单的步骤 对于每一个步骤 您会被提示允许 Setup Assistant 按照您的规格自动生成配置文件 有关详情 请参阅逻辑分析仪文档

如果您使用 Setup Assistant 则必须在配置 RealView Debugger 时从 Logic Analyzer Configuration 对话框中选择 Setup Assistant 选项

10. 接通 ARM 目标板电源 您的逻辑分析仪硬件已配置为用于 RealView Debugger

11. 此时 您必须配置 RealView Debugger 中的目标以启用跟踪 请参阅 RealView Debugger v1.6 Target Configuration Guide

ARM DUI 0174C 版权所有 © 2002, 2003 ARM Limited. 保留所有权利 A-9

Page 174: pudn.comread.pudn.com/downloads102/ebook/419574/arm...ii 版权所有 © 2002, 2003 ARM Limited 保留所有权利 ARM DUI 0174C RealView Debugger k 1 版权所有 © 2002, 2003 ARM

设置跟踪硬件

A-3 Agilent Trace Port Analyzer Multi-ICE 2.2

4�#�������$:� �� �

�#������3.000�%� ��%4�#�������$%�%��$%��

4������ ���'���� 5

6�%���� 5%������ �����#�����!����"� �##�

���� ���������

�� #��� ���� � �� �

�� #��� �� �

307�%���� 307�%�2���� ������ ��%

�� ����� ��%�� ���������8��������/��������������

22���$� � ����� ���� ���������2

22���$� � ���� ����� ���������3

3/���$� � ���� ��

23���$��� �������������� �� �����&��

23���$��� �������������� �� ������*��

��������������

���

20���$� � ����� ��

�� ������� ���� ��

A-10 版权所有 © 2002, 2003 ARM Limited. 保留所有权利 ARM DUI 0174C

Page 175: pudn.comread.pudn.com/downloads102/ebook/419574/arm...ii 版权所有 © 2002, 2003 ARM Limited 保留所有权利 ARM DUI 0174C RealView Debugger k 1 版权所有 © 2002, 2003 ARM

设置跟踪硬件

A.4 Agilent Emulation Probe Trace Port Analyzer (E5904B)

以下部分提供了 Agilent 集成跟踪解决方案

• Agilent 集成 EP 和 TPA (EP/TPA) 它包含 Emulation Probe (EP) 包括网络接口和控制逻辑 以及 Trace Port Analyzer (TPA) 可提供信号捕获逻辑和存储器

• 目标缓冲器板 可缓冲发送至 TPA 的信号

图 A-4 所示为使用 E5904B 组件的配置

A-4 Agilent Trace Port Analyzer Emulation Probe

����# ��������������

307�%������ ������ ��

���� �� ��

6�%���� 5%������ �����#����!����"� �##�

���� %����$;32!<

4������ ���'���� 5

�� ������ ���;�� �����#� ���������$<

���#����0���$ � ����� ��

�� #��� �� �

ARM DUI 0174C 版权所有 © 2002, 2003 ARM Limited. 保留所有权利 A-11

Page 176: pudn.comread.pudn.com/downloads102/ebook/419574/arm...ii 版权所有 © 2002, 2003 ARM Limited 保留所有权利 ARM DUI 0174C RealView Debugger k 1 版权所有 © 2002, 2003 ARM

设置跟踪硬件

• 一些目标板包括一个 Mictor 跟踪端口连接器和一个 IDC JTAG 连接器Mictor 连接器包括 JTAG 端口信号 这些信号从目标缓冲器板上发送至 20 路带状电缆 请勿将 JTAG 接口同时连接至目标缓冲器板和目标 IDC 连接器

• ARM 不支持将 RealView Debugger 与附带其它任何 JTAG 接口单元的 Agilent EP/TPA 一起使用

• 如果同时使用 Mictor 跟踪连接器连接了 Agilent EP/TPA 的 JTAG 接口则不能将 JTAG 控制器连接至目标的 JTAG 控制接口

要安装 E5904B 硬件以在 RealView Debugger 中启用跟踪功能

1. 将 Agilent EP/TPA 连接至局域网和目标接口板 将目标接口板连接至缓冲器板 这些连接如第 A-11 页图 A-4 中所示

2. 连接电源电缆 然后打开检测设备的电源

3. 使用正确的网络地址配置 Emulation Probe 并检查探测器所运行的固件版本是否正确 要执行此操作

a. 使用 RS-232 将 EP/TPA 连接至工作站

b. 在工作站上安装 dumb terminal 会话 例如使用 HyperTerminal 串行端口设置应为

• 9600 波特率

• 8 数据位

• 无奇偶校验

• 1 停止位

• 硬件信号交换关闭

对探测器进行电源循环 一分钟后 提示符 >p 将显示在终端窗口中

c. 在 >p 提示符下键入 ver -a 检查探测器运行的固件是否正确

郑重建议您将固件升级至 新的版本 要执行此升级 请遵循网站 www.agilent.com 上提供的说明

d. 在 >p 提示符下键入 lan 屏幕将显示探测器的网络配置 有关此输出的详细资料 请参阅 Emulation Probe 文档

A-12 版权所有 © 2002, 2003 ARM Limited. 保留所有权利 ARM DUI 0174C

Page 177: pudn.comread.pudn.com/downloads102/ebook/419574/arm...ii 版权所有 © 2002, 2003 ARM Limited 保留所有权利 ARM DUI 0174C RealView Debugger k 1 版权所有 © 2002, 2003 ARM

设置跟踪硬件

e. 键入以下命令 设置分配给探测器的网络地址lan -i network-address

此处的 network-address 必须替换为分配给探测器的点分四元组网络地址 根据网络性质不同 您可能还需要设置网络掩码 使用 lan -s 和默认网关 使用 lan -g 有关 lan 命令的详情 请键入 help lan 或参阅 Agilent 文档

网络管理员必须为设备分配一个静态名称和网络地址 您不能将 DHCP 网络地址用于当前固件

输入此命令后 您必须对探测器执行电源循环以使更改生效

您可能还需要使用 lan 命令来更改其它网络参数设置

f. 对探测器执行电源循环 片刻之后将显示版本信息 如步骤 3c 中所示

您现在可以拔下 RS-232 串行电缆

4. 接通目标板电源 您的 EP/TPA 硬件现在已配置为用于 RealView Debugger

5. 配置 RealView Debugger 中的目标以启用跟踪 请参阅 RealView Debugger v1.6 Target Configuration Guide

ARM DUI 0174C 版权所有 © 2002, 2003 ARM Limited. 保留所有权利 A-13

Page 178: pudn.comread.pudn.com/downloads102/ebook/419574/arm...ii 版权所有 © 2002, 2003 ARM Limited 保留所有权利 ARM DUI 0174C RealView Debugger k 1 版权所有 © 2002, 2003 ARM

设置跟踪硬件

A.5 Tektronix TLA 600 TLA 700 Logic Analyzer Multi-ICE

要安装硬件以在 RealView Debugger 中启用跟踪功能 如第 A-15 页图 A-5 中所示

1. 按照 Multi-ICE User Guide 中的说明 使用分析仪背面板上的 CD-ROM 单元在分析仪上安装 Multi-ICE 软件

2. 按照 Tektronix TLA Logic Analyzer ARM ETM Support Package Instructions 中的说明安装分析仪

特别是应将 Tektronix P6434 Mass Termination Probe 的 Mictor 插座连接至目标板 并将电缆的两个模块末端连接至分析仪 将 A3 和 A2 模块末端插入分析仪上的 A3 和 A2 连接器 并将 A1 和 A0 模块末端插入分析仪上的 A1 和 A0 连接器

Tektronix 电缆的标记如表 A-1 中所示 有四种探测器名称和颜色 因为 Tektronix 具有四个等效但标记不同的连接器

3. 将分析仪端口连接至目标板上的 Mictor 跟踪连接器

4. 验证 Dragonfly Software TLA COM Server 应用程序是否正在 Tektronix 分析仪上运行

5. 将 Multi-ICE 接口单元连接至分析仪背面板上的并行端口 并连接至目标板上的 JTAG 连接器

6. 接通 ARM 目标板电源

7. 使用 Start → Programs → ARM Multi-ICE v2.2 → Multi-ICE Server启动 Multi-ICE 服务器软件

8. 从 Multi-ICE 服务器 File 菜单中选择 Auto-configure 然后验证是否可以自动配置目标板

A-1 Tektronix P6434

A 褐色/橙色 A3 和 A2 Pin1 褐色 面 A1 和 A0 Pin38 橙色 面

B 蓝色/黄色 B3 和 B2 Pin1 褐色 面 B1 和 B0 Pin38 橙色 面

C 白色/灰色 C3 和 C2 Pin1 褐色 面 C1 和 C0 Pin38 橙色 面

D 绿色/紫色 D3 和 D2 Pin1 褐色 面 D1 和 D0 Pin38 橙色 面

A-14 版权所有 © 2002, 2003 ARM Limited. 保留所有权利 ARM DUI 0174C

Page 179: pudn.comread.pudn.com/downloads102/ebook/419574/arm...ii 版权所有 © 2002, 2003 ARM Limited 保留所有权利 ARM DUI 0174C RealView Debugger k 1 版权所有 © 2002, 2003 ARM

设置跟踪硬件

9. 您的逻辑分析仪硬件现在已配置为用于 RealView Debugger

此时 您必须配置 RealView Debugger 中的目标以启用跟踪功能 请参阅 RealView Debugger v1.6 Target Configuration Guide

A-5 Tektronix TLA 700 Multi-ICE7

4������ ���'���� 5

����������;� ����� ����� ������� ��<

�� �������� ��

20����� � ����� ��

����� ��������� %����8��2�9��3��0

�4��4�#�������$:�

�$%������� ���%�

;&�������<���������� � �� �

��5� ���+������ ��� ��

6�%���� 5%������ �����#�����!����"� �##�

ARM DUI 0174C 版权所有 © 2002, 2003 ARM Limited. 保留所有权利 A-15

Page 180: pudn.comread.pudn.com/downloads102/ebook/419574/arm...ii 版权所有 © 2002, 2003 ARM Limited 保留所有权利 ARM DUI 0174C RealView Debugger k 1 版权所有 © 2002, 2003 ARM

设置跟踪硬件

A-16 版权所有 © 2002, 2003 ARM Limited. 保留所有权利 ARM DUI 0174C

Page 181: pudn.comread.pudn.com/downloads102/ebook/419574/arm...ii 版权所有 © 2002, 2003 ARM Limited 保留所有权利 ARM DUI 0174C RealView Debugger k 1 版权所有 © 2002, 2003 ARM

附录 B

本附录介绍如何安装软件以获得 RealView Debugge 支持的跟踪的配置 这些指令假定您已按照附录 A 设置跟踪硬件中所述安装了硬件

本附录包含以下几部分

• 第 B-2 页 ARM MultiTrace 和 ARM Multi-ICE

• 第 B-6 页 ARM Multi-ICE for XScale

• 第 B-8 页 Agilent 16600 或 16700 Logic Analyzer 和 Emulation Probe

• 第 B-14 页 Agilent 16600 或 16700 Logic Analyzer 和 ARM Multi-ICE

• 第 B-16 页 Agilent Trace Port Analyzer 和 Agilent Emulation Probe

• 第 B-19 页 Tektronix TLA 600 或 TLA700 和 ARM Multi-ICE

• 第 B-22 页 ARMulator ETM 仿真

• 第 B-24 页使用 Simulator Broker 连接的模拟器

有关连接至目标的一般信息 请参阅 RealView Debugger v1.6 Target Configuration Guide

ARM DUI 0174C 版权所有 © 2002, 2003 ARM Limited. 保留所有权利 B-1

Page 182: pudn.comread.pudn.com/downloads102/ebook/419574/arm...ii 版权所有 © 2002, 2003 ARM Limited 保留所有权利 ARM DUI 0174C RealView Debugger k 1 版权所有 © 2002, 2003 ARM

设置跟踪软件

B.1 ARM MultiTrace ARM Multi-ICE

本部分介绍如何安装 RealView Debugger 以连接至 ARM MultiTrace 和 ARM Multi-ICE 的组合 有关 Multi-ICE 的详情 请参阅 Multi-ICE User Guide有关安装 MultiTrace 单元的详情 请参阅 MultiTrace User Guide

要安装和配置 Multi-ICE 和 MultiTrace

1. 在您要调试的工作站和 Multi-ICE 接口单元连接到的工作站上安装 Multi-ICE

2. 在 Multi-ICE 接口单元连接到的工作站上配置 Multi-ICE 服务器

3. 选择 Start → Programs → ARM RealView Debugger v1.6.1 → RealView Debugger 以启动 RealView Debugger

4. 在 Code 窗口中 选择 File → Connection → Connect to Target... 显示 Connection Control 窗口

5. 展开顶级 ARM_A_RR 载体

6. 如果 Multi-ICE 不存在于目标列表中 则按以下方式显示它

a. 右击列表中的任何目标 以显示上下文菜单

b. 从上下文菜单中选择 Add/Remove/Edit Devices... 以显示 RDI Target List 如图 B-1 中所示

B-1 RDI Target List

c. 如果 Multi-ICE 存在 则选择此复选框 如果不存在 则单击 Add DLL... 然后从 Multi-ICE 安装目录下选择 Multi-Ice.dll 您可能需要使用 Windows Explorer 来确保具有扩展名 .dll 的文件并未隐藏 单击 Close 以关闭此对话框

B-2 版权所有 © 2002, 2003 ARM Limited. 保留所有权利 ARM DUI 0174C

Page 183: pudn.comread.pudn.com/downloads102/ebook/419574/arm...ii 版权所有 © 2002, 2003 ARM Limited 保留所有权利 ARM DUI 0174C RealView Debugger k 1 版权所有 © 2002, 2003 ARM

设置跟踪软件

7. 右击 Multi-ICE 条目 并从上下文菜单中选择 Configure Device Info... 以便显示 ARM Multi-ICE Configuration 对话框 图 B-2

B-2 Multi-ICE Configuration

8. 根据要使用的 Multi-ICE 服务器的位置 单击 This computer 或者 Another computer

如果您选择 Another computer 则在随后出现的对话框中键入远程工作站的名称 或使用树型控件找到远程工作站 单击 OK

9. 从 Available devices 中显示的列表中 选择要跟踪的 ARM 处理器

10. 您可以有选择地在 Connection name 文本字段中输入您的姓名 您的姓名将显示在 Multi-ICE 服务器窗口中 在您与其他用户共享服务器时 这会有所帮助

11. 单击 Trace 选项卡 使其可见 第 B-4 页图 B-3

ARM DUI 0174C 版权所有 © 2002, 2003 ARM Limited. 保留所有权利 B-3

Page 184: pudn.comread.pudn.com/downloads102/ebook/419574/arm...ii 版权所有 © 2002, 2003 ARM Limited 保留所有权利 ARM DUI 0174C RealView Debugger k 1 版权所有 © 2002, 2003 ARM

设置跟踪软件

B-3 Trace Multi-ICE

此选项卡包含配置跟踪控制软件所需的控件 Select a Trace Capture DLL... 下拉式列表包含当前可用的跟踪捕获驱动程序的名称 这些驱动程序将从 ETM 读取跟踪信息 并转换成调试器所需的格式

12. 从 Select a Trace Capture DLL... 下拉式列表中选择 MultiTrace 驱动程序此驱动程序可指定用于控制跟踪捕获设备的驱动程序文件

• 如果 multitrace.dll 存在于下拉式列表中 则选择它

• 如果 multitrace.dll 不存在于下拉式列表中 则单击 Add... 然后从 MultiTrace 安装目录下选择 multitrace.dll 您可能需要使用 Windows Explorer 来确保具有扩展名 .dll 的文件并未隐藏

13. 选定 multitrace.dll 之后 系统会将 MultiTrace 配置控制添加至 Multi-ICE Trace 选项卡中 第 B-5 页图 B-4 按 MultiTrace User Guide 中所述来配置 MultiTrace

B-4 版权所有 © 2002, 2003 ARM Limited. 保留所有权利 ARM DUI 0174C

Page 185: pudn.comread.pudn.com/downloads102/ebook/419574/arm...ii 版权所有 © 2002, 2003 ARM Limited 保留所有权利 ARM DUI 0174C RealView Debugger k 1 版权所有 © 2002, 2003 ARM

设置跟踪软件

B-4 MultiTrace

14. 单击 OK 以退出 Multi-ICE 对话框

15. 通过展开二级 Multi-ICE 条目 然后选择处理器连接 如 ARM 966E-S来从 Connection Control 窗口中的目标列表中选择 Multi-ICE

16. 关闭 Connection Control 窗口

ARM DUI 0174C 版权所有 © 2002, 2003 ARM Limited. 保留所有权利 B-5

Page 186: pudn.comread.pudn.com/downloads102/ebook/419574/arm...ii 版权所有 © 2002, 2003 ARM Limited 保留所有权利 ARM DUI 0174C RealView Debugger k 1 版权所有 © 2002, 2003 ARM

设置跟踪软件

B.2 ARM Multi-ICE for XScale

本部分介绍如何安装 RealView Debugger 以连接至 ARM Multi-ICE for XScale有关 Multi-ICE 的详细信息 请参阅 Multi-ICE Installation Guide 或

Multi-ICE User Guide

要安装和配置 Multi-ICE for XScale

1. 在您要调试的工作站和 Multi-ICE 接口单元连接到的工作站上安装 Multi-ICE

2. 在 Multi-ICE 接口单元连接到的工作站上配置 Multi-ICE 服务器

3. 选择 Start → Programs → ARM RealView Debugger v1.6.1 → RealView Debugger 启动 RealView Debugger

4. 选择 File → Connection → Connect to Target... 显示 Connection Control 窗口

5. 展开顶级 ARM_A_RR 载体

6. 如果 Multi-ICE 不存在于目标列表中 则按以下方式显示它

a. 右击列表中的任何目标 以显示上下文菜单

b. 从上下文菜单中选择 Add/Remove/Edit Devices... 以显示 RDI Target List 如第 B-2 页图 B-1 中所示

c. 如果 Multi-ICE 存在 则选择此复选框 如果不存在 则单击 Add DLL... 然后从 Multi-ICE 安装目录下选择 Multi-Ice.dll 您可能需要使用 Windows Explorer 来确保具有扩展名 .dll 的文件并未隐藏 单击 Close 以关闭此对话框

7. 右击 Multi-ICE 条目 并从上下文菜单中选择 Configure Device Info...以便显示 ARM Multi-ICE Configuration 对话框 如第 B-3 页图 B-2 所示

8. 根据要使用的 Multi-ICE 服务器的位置 单击 This computer 或者 Another computer

如果您选择 Another computer 则在随后出现的对话框中键入远程工作站的名称 或使用树型控件找到远程工作站 单击 OK

9. 从 Available devices 中所示的列表中选择要跟踪的 ARM 处理器

10. 您可以有选择地在 Connection name 文本字段中输入您的姓名 您的姓名将显示在 Multi-ICE 服务器窗口中 在您与他人共享服务器时 这会有所帮助

B-6 版权所有 © 2002, 2003 ARM Limited. 保留所有权利 ARM DUI 0174C

Page 187: pudn.comread.pudn.com/downloads102/ebook/419574/arm...ii 版权所有 © 2002, 2003 ARM Limited 保留所有权利 ARM DUI 0174C RealView Debugger k 1 版权所有 © 2002, 2003 ARM

设置跟踪软件

11. 单击 OK 以退出 Multi-ICE 对话框

12. 通过展开二级 Multi-ICE 条目 然后选择处理器连接 如 ARM 966E-S 来从 Connection Control 窗口的目标列表中选择 Multi-ICE

13. 关闭 Connection Control 窗口

ARM DUI 0174C 版权所有 © 2002, 2003 ARM Limited. 保留所有权利 B-7

Page 188: pudn.comread.pudn.com/downloads102/ebook/419574/arm...ii 版权所有 © 2002, 2003 ARM Limited 保留所有权利 ARM DUI 0174C RealView Debugger k 1 版权所有 © 2002, 2003 ARM

设置跟踪软件

B.3 Agilent 16600 16700 Logic Analyzer Emulation Probe

本部分介绍如何安装 RealView Debugger 以连接 Agilent Logic Analyzer 和 Emulation Probe 您必须先安装逻辑分析仪软件 作为硬件安装的一部分 请参阅附录 A 设置跟踪硬件

ARM Agilent Debug Interface (ADI) 并不是随 RealView Debugger v1.6.1 一起提供的 必须单独购买

要配置 Agilent 16600 或 16700 分析仪

1. 选择 Start → Programs → ARM RealView Debugger v1.6.1 → RealView Debugger

2. 选择 File → Connection → Connect to Target... 显示 Connection Control 窗口

3. 展开顶级 ARM_A_RR 载体

4. 如果 ADI 不存在于目标列表中 则按以下方式显示它

a. 右击列表中的任何目标 以显示上下文菜单

b. 从上下文菜单中选择 Add/Remove/Edit Devices... 以显示 RDI Target List 如第 B-2 页图 B-1 中所示

c. 如果 ADI 存在 则选择此复选框 如果不存在 则单击 Add DLL... 然后从 \bin 中选择 Gateway2.dll 您可能需要使用 Windows Explorer 来确保具有扩展名 .dll 的文件并未隐藏 单击 Close 以关闭 RDI Target List 对话框

5. 右击 ADI 条目 然后从上下文菜单中选择 Configure Device Info... 以显示 Gateway Configuration 对话框 第 B-9 页图 B-5

B-8 版权所有 © 2002, 2003 ARM Limited. 保留所有权利 ARM DUI 0174C

Page 189: pudn.comread.pudn.com/downloads102/ebook/419574/arm...ii 版权所有 © 2002, 2003 ARM Limited 保留所有权利 ARM DUI 0174C RealView Debugger k 1 版权所有 © 2002, 2003 ARM

设置跟踪软件

B-5 Gateway Configuration Connection Details

6. 确保显示 Connection Details 选项卡

7. 填写 Emulation Probe 的 Network Details 然后单击 Lookup

8. 单击 Advanced 选项卡 第 B-10 页图 B-6

ARM DUI 0174C 版权所有 © 2002, 2003 ARM Limited. 保留所有权利 B-9

Page 190: pudn.comread.pudn.com/downloads102/ebook/419574/arm...ii 版权所有 © 2002, 2003 ARM Limited 保留所有权利 ARM DUI 0174C RealView Debugger k 1 版权所有 © 2002, 2003 ARM

设置跟踪软件

B-6 Gateway Configuration Advanced

9. 如果您的目标以大端模式运行 则单击 Big-endian

10. 单击 Trace 选项卡 第 B-11 页图 B-7

B-10 版权所有 © 2002, 2003 ARM Limited. 保留所有权利 ARM DUI 0174C

Page 191: pudn.comread.pudn.com/downloads102/ebook/419574/arm...ii 版权所有 © 2002, 2003 ARM Limited 保留所有权利 ARM DUI 0174C RealView Debugger k 1 版权所有 © 2002, 2003 ARM

设置跟踪软件

B-7 Gateway Configuration Trace

11. 在 Select a Trace Capture DLL... 下拉式列表中指定 Gateway2 驱动程序此驱动程序可指定用于控制跟踪捕获设备的驱动程序文件

• 如果 Gateway2.dll 存在于下拉式列表中 则选择它

• 如果 Gateway2.dll 不存在于下拉式列表中 则单击 Add... 然后从 \bin 中选择 Gateway2.dll 您可能需要使用 Windows Explorer 来确保具有扩展名 .dll 的文件并未隐藏

已配置的 Gateway Trace 选项卡将显示在第 B-12 页图 B-8 中

ARM DUI 0174C 版权所有 © 2002, 2003 ARM Limited. 保留所有权利 B-11

Page 192: pudn.comread.pudn.com/downloads102/ebook/419574/arm...ii 版权所有 © 2002, 2003 ARM Limited 保留所有权利 ARM DUI 0174C RealView Debugger k 1 版权所有 © 2002, 2003 ARM

设置跟踪软件

B-8 Gateway2

12. 在对话框的 System 部分 单击 Logic Analyzer

13. 输入 Agilent Logic Analyzer 的 Network Address

14. 单击 Configuration 以显示 Logic Analyzer Configuration 对话框 图 B-9

B-9 Logic Analyzer Configuration

B-12 版权所有 © 2002, 2003 ARM Limited. 保留所有权利 ARM DUI 0174C

Page 193: pudn.comread.pudn.com/downloads102/ebook/419574/arm...ii 版权所有 © 2002, 2003 ARM Limited 保留所有权利 ARM DUI 0174C RealView Debugger k 1 版权所有 © 2002, 2003 ARM

设置跟踪软件

15. 选择适当的启动选项 来表示调试器执行的初始化的级别

• 如果您要在调试器启动时确保逻辑分析仪已完全初始化 可以执行跟踪 则请选择 Automatic 选项 在这种情况下 您必须在对话框中指定适当的 Machine Name Lister Name 和 Config File

您必须指定打开配置文件的完整的目录路径

• 如果不希望由调试器加载配置文件 则选择 Set-up Assistant 选项其它参数 Machine Name 和 Lister Name 都将用指定值进行初始化 只有当您从逻辑分析仪用户接口加载配置文件时 此模式才是合适的 加载可通过使用以下两项之一来进行

— Setup Assistant

— File Manager 工具

如果要使用 Agilent 提供的缺省逻辑分析仪配置文件 您必须

• 将机器名设置为 ARM ETM Analyzer

• 将列表程序名设置为 ETM Data

缺省逻辑分析仪配置文件不能直接由分析仪加载 而应该使用分析仪用户接口上的文件管理器工具加载 在这种情况下 您必须加载每个文件 以适当的文件名保存配置 然后将此新名称指定为要加载的配置

16. 单击 OK 相继退出各个对话框

17. 在 RealView Debugger Code 窗口中 通过展开二级 Multi-ICE 条目 然后选择处理器连接 例如 ARM 966E-S 来从 Connection Control 窗口中的目标列表中选择 ADI

18. 选择 Tools → Analyzer/Trace Control → Configure Analyzer Properties显示 Configure ETM 对话框 使用您在设置分析仪时记录的信息 便可以按如下所述来设置 ETM

a. 将 Trace data width 设置为 16 bit 以便进行 wide 分析仪连接 或者设置为 8 bit 或 4 bit 视目标硬件而定

b. 如果要使用双边计时 请启用 Half-rate clocking

c. 单击 OK 以接受更改

RealView Debugger 此时已配置完成 可以进行跟踪

有关设置 Agilent 16600 或 16700 Logic Analyzer 和 Emulation Probe 的详情 请参阅 Agilent 文档 可从网站 http://www.agilent.com 获取 有关详情 请参阅第 x 页其它书刊

有关设置和使用 ARM ADI 的详情 请参阅 ARM ADI User Guide

ARM DUI 0174C 版权所有 © 2002, 2003 ARM Limited. 保留所有权利 B-13

Page 194: pudn.comread.pudn.com/downloads102/ebook/419574/arm...ii 版权所有 © 2002, 2003 ARM Limited 保留所有权利 ARM DUI 0174C RealView Debugger k 1 版权所有 © 2002, 2003 ARM

设置跟踪软件

B.4 Agilent 16600 16700 Logic Analyzer ARM Multi-ICE

本部分介绍如何安装 RealView Debugger 以连接至 Agilent Logic Analyzer 和 ARM Multi-ICE 的组合 您必须先安装逻辑分析仪软件 作为硬件安装的一部分 请参阅附录 B 设置跟踪软件

ARM ADI 并不是随 RealView Debugger 1.6.1 一起提供的 必须单独购买

有关设置 ARM ADI 的详情 请参阅 ARM ADI User Guide

要将 Agilent 16600 或 16700 Analyzer 与 Multi-ICE 一起安装和配置

1. 在您要调试的工作站和 Multi-ICE 接口单元连接到的工作站上安装 Multi-ICE

2. 在 Multi-ICE 接口单元连接到的工作站上配置 Multi-ICE 服务器

3. 选择 Start → Programs → ARM RealView Debugger v1.6.1 → RealView Debugger

4. 在 Code 窗口中 选择 File → Connection → Connect to Target... 以显示 Connection Control 窗口

5. 展开顶级 ARM_A_RR 载体

6. 如果 Multi-ICE 不存在于目标列表中 则按以下方式显示它

a. 右击列表中的任何目标 以显示上下文菜单

b. 从上下文菜单中选择 Add/Remove/Edit Devices... 以显示 RDI Target List 如第 B-2 页图 B-1 中所示

c. 如果 Multi-ICE 存在 则选择此复选框 如果不存在 则单击 Add DLL... 然后从 Multi-ICE 安装目录下选择 Multi-Ice.dll 您可能需要使用 Windows Explorer 来确保具有扩展名 .dll 的文件并未隐藏 单击 Close 以关闭此对话框

7. 右击 Multi-ICE 条目 并从上下文菜单中选择 Configure Device Info... 以显示 ARM Multi-ICE Configuration 对话框 第 B-3 页图 B-2

8. 在 Connect 选项卡中 从 Available devices 中所示的列表中选择要跟踪的 ARM 处理器

9. 显示 Trace 选项卡 如第 B-4 页图 B-3 中所示

B-14 版权所有 © 2002, 2003 ARM Limited. 保留所有权利 ARM DUI 0174C

Page 195: pudn.comread.pudn.com/downloads102/ebook/419574/arm...ii 版权所有 © 2002, 2003 ARM Limited 保留所有权利 ARM DUI 0174C RealView Debugger k 1 版权所有 © 2002, 2003 ARM

设置跟踪软件

10. 在 Select a Trace Capture DLL... 下拉式列表中指定 ARM ADI 驱动程序此驱动程序可指定用于控制跟踪捕获设备和执行开始和停止跟踪等操作的驱动程序文件

• 如果 Gateway2.dll 存在于下拉式列表中 则选择它

• 如果 Gateway2.dll 不存在于下拉式列表中 则单击 Add 然后从 \bin 中选择 Gateway2.dll 您可能需要使用 Windows Explorer 来确保具有扩展名 .dll 的文件并未隐藏

11. 单击 Configuration 以显示 Logic Analyzer Configuration 对话框 您还必须选择适当的启动选项 来表示调试器执行的初始化的级别

• 如果您要在调试器启动时确保逻辑分析仪已完全初始化 可以执行跟踪 则请选择 Automatic 选项 在这种情况下 您必须在对话框中指定适当的机器名 列表程序名和配置文件名

您必须指定打开配置文件的完整的目录路径

• 如果不希望调试器加载配置文件 则选择 Set-up Assistant 选项 其它参数 列表程序名和机器名 都是用指定值进行初始化的 只有当您从逻辑分析仪用户接口加载配置文件时 此模式才是合适的加载可通过使用以下两项之一来进行

— Setup Assistant

— File Manager 工具

如果要使用 Agilent 提供的缺省逻辑分析仪配置文件 您必须

• 将机器名设置为 ARM ETM Analyzer

• 将列表程序名设置为 ETM Data

缺省逻辑分析仪配置文件不能直接由分析仪加载 而应该使用分析仪用户接口上的文件管理器工具加载 在这种情况下 您必须加载每个文件 以适当的文件名保存配置 然后将此新名称指定为要加载的配置

12. 单击 OK 相继退出各个对话框

13. 通过展开二级 Multi-ICE 条目 然后选择处理器连接 例如 ARM 966E-S来从 Connection Control 窗口中的目标列表中选择 ADI

有关设置 Agilent 16600 或 16700 Logic Analyzer 的详情 请参阅 Agilent 文档可从网站 http://www.agilent.com 获取 有关详情 请参阅第 x 页其它书刊

ARM DUI 0174C 版权所有 © 2002, 2003 ARM Limited. 保留所有权利 B-15

Page 196: pudn.comread.pudn.com/downloads102/ebook/419574/arm...ii 版权所有 © 2002, 2003 ARM Limited 保留所有权利 ARM DUI 0174C RealView Debugger k 1 版权所有 © 2002, 2003 ARM

设置跟踪软件

B.5 Agilent Trace Port Analyzer Agilent Emulation Probe

本部分介绍如何设置 RealView Debugger 以连接至 Agilent Trace Port Analyzer 和Emulation Probe 的组合 您必须先安装逻辑分析仪软件 作为硬件安装的一部分 请参阅 附录 B 设置跟踪软件

ARM ADI 并不是随 RealView Debugger 1.6.1 一起提供的 必须单独购买

要配置 Agilent 分析仪和探测器

1. 选择 Start → Programs → ARM RealView Debugger v1.6.1 → RealView Debugger

2. 选择 File → Connection → Connect to Target... 显示 Connection Control 窗口

3. 展开顶级 ARM_A_RR 载体

4. 如果 ADI 不存在于目标列表中 则按以下方式显示它

a. 右击列表中的任何目标 以显示上下文菜单

b. 从上下文菜单中选择 Add/Remove/Edit Devices... 以显示 RDI Target List 如第 B-2 页图 B-1 中所示

c. 如果 ADI 存在 则选择此复选框 如果不存在 则单击 Add DLL... 然后从 \bin 中选择 Gateway2.dll 您可能需要使用 Windows Explorer 来确保具有扩展名 .dll 的文件并未隐藏 单击 Close 以关闭 RDI Target List 对话框

5. 右击 ADI 条目 并从上下文菜单中选择 Configure Device Info... 以显示 Gateway Configuration 对话框 第 B-9 页图 B-5

6. 填写 Emulation Probe 的网络地址 然后单击 Lookup

7. 如果您的目标以大端模式运行

a. 单击 Advanced 以显示高级配置选项卡 如第 B-10 页图 B-6 中所示

b. 单击 Big-endian

8. 单击 Trace 以显示跟踪配置选项卡 如第 B-11 页图 B-7 中所示

B-16 版权所有 © 2002, 2003 ARM Limited. 保留所有权利 ARM DUI 0174C

Page 197: pudn.comread.pudn.com/downloads102/ebook/419574/arm...ii 版权所有 © 2002, 2003 ARM Limited 保留所有权利 ARM DUI 0174C RealView Debugger k 1 版权所有 © 2002, 2003 ARM

设置跟踪软件

9. 在 Select a Trace Capture DLL... 下拉式列表中指定 Gateway2 驱动程序此驱动程序可指定用于控制跟踪捕获设备和执行开始和停止跟踪等操作的驱动程序文件

• 如果 Gateway2.dll 存在于下拉式列表中 则选择它

• 如果 Gateway2.dll 不存在于下拉式列表中 则单击 Add... 然后从 \bin 中选择 Gateway2.dll 您可能需要使用 Windows Explorer 来确保具有扩展名 .dll 的文件并未隐藏

配置的对话框如图 B-10 中所示

B-10 Gateway2

10. 单击 Trace Port Analyzer

11. 在 Network Address 字段中输入 Agilent Trace Port Analyzer 的网络地址

12. 单击 OK 相继退出各个对话框

ARM DUI 0174C 版权所有 © 2002, 2003 ARM Limited. 保留所有权利 B-17

Page 198: pudn.comread.pudn.com/downloads102/ebook/419574/arm...ii 版权所有 © 2002, 2003 ARM Limited 保留所有权利 ARM DUI 0174C RealView Debugger k 1 版权所有 © 2002, 2003 ARM

设置跟踪软件

13. 通过展开二级 Multi-ICE 条目 然后选择处理器连接 例如 ARM 966E-S来从 Connection Control 窗口中的目标列表中选择 ADI

有关配置 Agilent Emulation Probe 的详情 请参阅 Trace Port Analysis for ARM ETM User's Guide 的 Setting Up the Trace Port Analyzer 一章

有关设置 Agilent Trace Port Analyzer 和 Agilent Emulation Probe 的详情 请参阅 Agilent 文档 可从网站 http://www.agilent.com 获取 有关详情 请参阅第 x 页其它书刊

有关设置和使用 ARM ADI 的详情 请参阅 ARM ADI User Guide

B-18 版权所有 © 2002, 2003 ARM Limited. 保留所有权利 ARM DUI 0174C

Page 199: pudn.comread.pudn.com/downloads102/ebook/419574/arm...ii 版权所有 © 2002, 2003 ARM Limited 保留所有权利 ARM DUI 0174C RealView Debugger k 1 版权所有 © 2002, 2003 ARM

设置跟踪软件

B.6 Tektronix TLA 600 TLA700 ARM Multi-ICE

本部分介绍如何设置 RealView Debugger 以连接至 ARM Multi-ICE 和 Dragonfly Software Tektronix 跟踪捕获代理 并非由 ARM 提供 的组合 有关 Multi-ICE 的详情 请参阅 Multi-ICE Installation Guide 或 Multi-ICE User Guide有关设置 Tektronix 接口软件的详情 请参阅 Tektronix TLA Logic Analyzer ARM ETM Support Package Instructions

要安装和设置 Tektronix TLA600 或 TLA700 和 Multi-ICE

1. 在 Multi-ICE 接口单元连接到的工作站上配置 Multi-ICE 服务器

2. 选择 Start → Programs → ARM RealView Debugger v1.6.1 → RealView Debugger

3. 选择 File → Connection → Connect to Target... 显示 Connection Control 窗口

4. 展开顶级 ARM_A_RR 载体

5. 如果 Multi-ICE 不存在于目标列表中 则按以下方式显示它

a. 右击列表中的任何目标 以显示上下文菜单

b. 从上下文菜单中选择 Add/Remove/Edit Devices... 以显示 RDI Target List 如第 B-2 页图 B-1 中所示

c. 如果 Multi-ICE 存在 则选择此复选框 如果不存在 则单击 Add DLL... 然后从 Multi-ICE 安装目录下选择 Multi-Ice.dll 您可能需要使用 Windows Explorer 来确保具有扩展名 .dll 的文件并未隐藏 单击 Close 以关闭此对话框

6. 右击 Multi-ICE 条目 并从上下文菜单中选择 Configure Device Info... 以便显示 ARM Multi-ICE Configuration 对话框 第 B-3 页图 B-2

7. 根据要使用的 Multi-ICE 服务器的位置 单击 This computer 或者 Another computer

如果您选择 Another computer 则在随后出现的对话框中键入远程工作站的名称 或使用树型控件找到远程工作站 单击 OK

8. 从 Select a new processor 中所示的列表中选择要跟踪的 ARM 处理器

9. 您可以有选择地在 Connection name 文本字段中输入您的姓名 您的姓名将显示在 Multi-ICE 服务器窗口中 在您与他人共享服务器时 这会有所帮助

ARM DUI 0174C 版权所有 © 2002, 2003 ARM Limited. 保留所有权利 B-19

Page 200: pudn.comread.pudn.com/downloads102/ebook/419574/arm...ii 版权所有 © 2002, 2003 ARM Limited 保留所有权利 ARM DUI 0174C RealView Debugger k 1 版权所有 © 2002, 2003 ARM

设置跟踪软件

10. 单击 Trace 选项卡 使其可见 图 B-11

此选项卡包含配置跟踪控制软件所需的控件 标记为 Select a Trace Capture DLL... 的下拉式列表包含当前可用的跟踪捕获驱动程序的名称这些驱动程序将从 ETM 读取跟踪信息 并转换成 RealView Debugger 所需的格式

B-11 Trace Multi-ICE Configuration

11. 从 Select a Trace Capture DLL... 下拉式列表中选择 Dragonfly 驱动程序 adstla.dll

• 如果 adstla.dll 存在于下拉式列表中 则选定它

• 如果 adstla.dll 不存在于下拉式列表中 请单击 Add... 然后从 Dragonfly Software TLA 安装目录下选择 adstla.dll 您可能需要使用 Windows Explorer 来确保具有扩展名 .dll 的文件并未隐藏

此驱动程序可指定用于控制跟踪捕获设备和执行开始和停止跟踪等操作的驱动程序文件

B-20 版权所有 © 2002, 2003 ARM Limited. 保留所有权利 ARM DUI 0174C

Page 201: pudn.comread.pudn.com/downloads102/ebook/419574/arm...ii 版权所有 © 2002, 2003 ARM Limited 保留所有权利 ARM DUI 0174C RealView Debugger k 1 版权所有 © 2002, 2003 ARM

设置跟踪软件

12. 单击 Configure... 以显示 Dragonfly 跟踪捕获配置对话框 图 B-12

B-12 Dragonfly TLA Configuration

13. 按 Tektronix TLA Logic Analyzer ARM ETM Support Package Instructions所述来配置 Dragonfly Software 跟踪捕获代理

14. 单击 OK 相继退出各个对话框

15. 通过展开二级 Multi-ICE 条目 然后选择处理器连接 如 ARM 966E-S 来从 Connection Control 窗口的目标列表中选择 Multi-ICE

ARM DUI 0174C 版权所有 © 2002, 2003 ARM Limited. 保留所有权利 B-21

Page 202: pudn.comread.pudn.com/downloads102/ebook/419574/arm...ii 版权所有 © 2002, 2003 ARM Limited 保留所有权利 ARM DUI 0174C RealView Debugger k 1 版权所有 © 2002, 2003 ARM

设置跟踪软件

B.7 ARMulator ETM

本部分介绍如何设置和连接至 ARMulator

ARMulator 支持与 ETM 一起进行的 ARM7TDMI 或 ARM9TDMI 仿真 有关配置 ARMulator 的详情 请参阅 RealView Debugger v1.6 Target Configuration Guide中配置自定义连接 一章

在安装了 RealView Debugger 和 ARMulator 之后 您必须配置 ARMulator 以便对 ETM 进行仿真 要执行此操作

1. 选择 Start → Programs → ARM RealView Debugger v1.6.1 → RealView Debugger 启动 RealView Debugger

2. 选择 File → Connection → Connect to Target... 显示 Connection Control 窗口

3. 展开顶级 ARM_A_RR 载体

4. 右击 ARMulator 条目 并从上下文菜单中选择 Configure Device Info... 以便显示 ARMulator Configuration 对话框 第 B-3 页图 B-2

B-22 版权所有 © 2002, 2003 ARM Limited. 保留所有权利 ARM DUI 0174C

Page 203: pudn.comread.pudn.com/downloads102/ebook/419574/arm...ii 版权所有 © 2002, 2003 ARM Limited 保留所有权利 ARM DUI 0174C RealView Debugger k 1 版权所有 © 2002, 2003 ARM

设置跟踪软件

B-13 ARMulator

5. 在 Processor 列表中 选择其名称以如下格式结尾的处理器

ETM(L) 大型 ETMETM(M) 中型 ETMETM(S) 小型 ETM

有关各种型号的大小之间的差异 请参阅第 2-4 页可用资源

6. 单击 OK 以关闭 ARMulator Configuration 对话框 关闭 Connection Control 窗口

7. 通过展开二级 ARMulator 条目 然后选择要进行仿真的处理器 如 ARM7TDMI-ETM(L) 来从 Connection Control 窗口的目标列表中选择 ARMulator

ARM DUI 0174C 版权所有 © 2002, 2003 ARM Limited. 保留所有权利 B-23

Page 204: pudn.comread.pudn.com/downloads102/ebook/419574/arm...ii 版权所有 © 2002, 2003 ARM Limited 保留所有权利 ARM DUI 0174C RealView Debugger k 1 版权所有 © 2002, 2003 ARM

设置跟踪软件

B.8 Simulator Broker

本部分介绍如何连接至使用 Simulator Broker 连接 如 DSP Group 目标 的模拟器

要访问模拟器

1. 选择 File → Connection → Connect to Target... 显示 Connection Control 窗口

2. 展开条目 Server Connection Broker

3. 展开条目 localhost Simulator Broker

4. 双击所需条目 如 new_OAK 以启动模拟器连接

连接列表将会展开 以显示新连接 如 SimOAK_1 系统将更新 Code 窗口标题栏 以显示此连接

5. 单击 File → Load Image... 以加载适合于要使用的模拟器 的可执行文件

缺省情况下 系统将通过使用存储在 Advanced_Information 块中的 Logic_Analyzer 设置组中的预设值 在启用跟踪 ARM 目标后 自动配置 RealView Debugger但是为了启用跟踪 您必须确保已在 Analysis 窗口中的 菜单中选择了 Connect Analyzer/Analysis 有关如何执行此操作的信息 请参阅第 2-34 页配置跟踪选项

B-24 版权所有 © 2002, 2003 ARM Limited. 保留所有权利 ARM DUI 0174C

Page 205: pudn.comread.pudn.com/downloads102/ebook/419574/arm...ii 版权所有 © 2002, 2003 ARM Limited 保留所有权利 ARM DUI 0174C RealView Debugger k 1 版权所有 © 2002, 2003 ARM

本词汇表中的项目按字母顺序列出 结尾是符号和数字

ADS 请参阅 ARM Developer Suite

Agilent 受 RealView Debugger 支持的 JTAG 接口单元

Agilent 受 RealView Debugger 支持的 JTAG 接口单元

Agilent 受 RealView Debugger 支持的跟踪捕获硬件设备

Agilent 受 RealView Debugger 支持的跟踪捕获硬件设备

Angel Angel 是一种在目标上运行的软件调试监控器 使您可以对在基于 ARM 的硬件上运行的应用程序进行调试 Angel 通常在 JTAG 仿真器 例如 Multi-ICE 不可用的情况下使用

ARM Developer Suite (ADS) 一套软件开发应用程序以及附带的支持文档和示例 使您可以为 ARM 系列的 RISC 处理器编写并调试应用程序

ARM Multi-Trace ARM Real-Time Trace 的外部收集单元

ARM 执行 ARM 32 位 指令的处理器在 ARM 状态下操作

另请参阅 Thumb 状态

ARM DUI 0174C 版权所有 © 2002, 2003 ARM Limited. 保留所有权利 词汇表- 1

Page 206: pudn.comread.pudn.com/downloads102/ebook/419574/arm...ii 版权所有 © 2002, 2003 ARM Limited 保留所有权利 ARM DUI 0174C RealView Debugger k 1 版权所有 © 2002, 2003 ARM

词汇表

ARMulator ARMulator 是一种指令集模拟器 它收集了模拟指令集和各种 ARM 处理器体系结构的模块

ATPCS ARM-Thumb 过程调用标准 (ARM-Thumb Procedure Call Standard)

CPSR 当前程序状态寄存器

另请参阅程序状态寄存器

DSP 数字信号处理器

DWARF 请参阅以任意记录格式调试

ELF 可执行和链接格式 (Executable and Linking Format) ARM 代码生成工具可生成 ELF 格式的对象和可执行映像

EmbeddedICE EmbeddedICE 逻辑是一个片上逻辑块 可为 ARM 处理器内核提供基于 TAP 的调试支持 您可以使用 JTAG 接口并通过 ARM 内核上的 TAP 控制器来对其进行访问

另请参阅 IEEE1149.1

ETM 请参阅嵌入跟踪宏单元

ETV 请参阅扩展的目标可见度

FIFO 先入先出

FPE 请参阅浮点仿真器

FPE 请参阅浮点仿真器

GPIO 请参阅通用输入/输出

Halfword 16 位单元长度的信息数据

IEEE Std. 1149.1 用于定义 TAP 的 IEEE 标准 通常称为 JTAG 但并不恰当

另请参阅测试访问端口

Integrator 一系列 ARM 硬件开发平台 提供的内核模块 包含处理器和本地内存

JTAG 请参阅联合测试操作组

JTAG 一种协议转换器 可以将来自 RealView Debugger 的低级别命令转换为适用于 EmbeddedICE 逻辑和 ETM 的 JTAG 符号

Multi-ICE 一种基于 JTAG 的工具 用于调试嵌入式系统

词汇表- 2 版权所有 © 2002, 2003 ARM Limited. 保留所有权利 ARM DUI 0174C

Page 207: pudn.comread.pudn.com/downloads102/ebook/419574/arm...ii 版权所有 © 2002, 2003 ARM Limited 保留所有权利 ARM DUI 0174C RealView Debugger k 1 版权所有 © 2002, 2003 ARM

词汇表

OakDSPCore MaxCore AXYS Design Automation, Inc. 的 OakDSPCore MaxCore 模拟器为来自 DSP Group Inc 的 Oak DSP Core 提供高端硬件/软件模型 此模拟器可从 RealView Debugger Connection Control 窗口中获得 如果已具有 Oak DSP 许可证

PSR 请参阅程序状态寄存器

RDI 请参阅远程调试接口

RealView Compilation Tools RealView Compilation Tools 是一套附带支持文档和示例的工具 使您可以为 ARM 系列的 RISC 处理器编写和构建应用程序

RealView Debugger Trace 附加至 RealView Debugger 的一种软件产品 通过增加实时程序和数据跟踪而扩展了调试功能

Remote_A Remote_A 是一种软件协议转换器和配置接口 它可以在调试器的 RDI 1.5 软件接口与 Angel 目标使用的 Angel 调试协议之间进行转换 它可以通过串行或以太网接口进行通信

RTOS Real Time Operating System 实时操作系统

RVCT 请参阅 RealView Compilation Tools

Semihosting 一种机制 其中以应用程序代码提出的 I/O 请求被传送至主机系统 而不是在目标上执行

SPSR 保存程序状态寄存器 (Saved Program Status Register)

另请参阅程序状态寄存器

SWI 请参阅软件中断

TAP 请参阅测试访问端口

TAP 设备上的逻辑 使您可以访问部分或整个设备以便进行测试 IEEE1149.1 中定义了电路的功能

另请参阅测试访问端口和 IEEE1149.1

Target 运行目标应用程序的目标板 包括实际或模拟的处理器 存储器和外围设备

Target Vehicle Server (TVS) 基本上是调试器本身 包含基本调试功能 TVS 包括运行控制 基本多任务处理支持 大多数命令处理 目标识别 例如内存映射 列表 规则处理 板文件和 .bcd 文件 以及用于跟踪目标环境的数据结构

ARM DUI 0174C 版权所有 © 2002, 2003 ARM Limited. 保留所有权利 词汇表- 3

Page 208: pudn.comread.pudn.com/downloads102/ebook/419574/arm...ii 版权所有 © 2002, 2003 ARM Limited 保留所有权利 ARM DUI 0174C RealView Debugger k 1 版权所有 © 2002, 2003 ARM

词汇表

Tektronix (TLA) 受 RealView Debugger 支持的跟踪捕获硬件设备

Thumb 执行 Thumb 16 位 指令的处理器在 Thumb 状态下操作

另请参阅 ARM 状态

TLA 请参阅 Tektronix 逻辑分析仪

TPA 请参阅跟踪端口分析仪

TVS 请参阅目标载体服务器

VFP 请参阅向量浮点

Watch 观察点是您要求调试器在每步操作中或每个断点处显示的变量或表达式 以便您可以查看其值的变化 Watch 窗格是 RealView Debugger Code 窗口的一部分用于显示您已定义的观察点

RealView Debugger 使用板这一术语来表示目标处理器 内存 外围设备和调试程序连接方式

板文件 是高级别的配置文件 通常称为 rvdebug.brd 它参考一个或多个其它文件

不赞成使用的选项和功能就是强烈建议您不要使用的选项和功能 将来版本的产品将不支持不赞成使用的选项和功能

(TAP) 用于访问指定设备 TAP 控制器的端口 由 TCK TMS TDI TDO 和 nTRST可选 组成

程序状态寄存器 (PSR) 包含有关当前执行上下文的信息 也称为当前 PSR (CPSR) 以强调与记录有关备用处理器模式信息的保存 PSR (SPSR) 之间的区别

涉及到断点时 触发是一种操作 可以通知目标已到达断点且任何相关条件均已得到满足

涉及到跟踪时 触发是一种事件 可以指示调试器在不停止处理器运行的情况下停止收集跟踪数据并显示触发位置周围的跟踪信息 实际显示的信息取决于触发在缓冲内所处的位置

微处理器的一部分 用于从存储器中读取并执行指令 包括指令获取单元算术逻辑单元以及寄存器组 它不包括可选协处理器 高速缓存以及内存管理单元

一种内存组织结构 在此结构中 一个词的 低位字节放在 高的地址 而高位字节则放在 低的地址

另请参阅小端

词汇表- 4 版权所有 © 2002, 2003 ARM Limited. 保留所有权利 ARM DUI 0174C

Page 209: pudn.comread.pudn.com/downloads102/ebook/419574/arm...ii 版权所有 © 2002, 2003 ARM Limited 保留所有权利 ARM DUI 0174C RealView Debugger k 1 版权所有 © 2002, 2003 ARM

词汇表

一种调试目标处理器 通常可通过接入提供商连接对其进行访问

用户定义的一个点 执行将在到达此点时停止 以便调试程序能够检查内存和寄存器的状态

另请参阅硬件断点和软件断点

是当前程序堆栈上的过程或函数调用示例列表 它可能还包括每个事例的调用参数和本地变量的相关信息

可以有效访问变量或函数等项目的有效范围

在目标的硬件连接环境中 仿真器提供了一个通过外部引脚与内核引脚仿真连接的接口 , 从而可以使您控制这些引脚上的信号

(FPE) 一种可模拟硬件单元活动的软件 专用于执行关于浮点值的算术运算

一种跟踪点 可使您设置 AND 或 OR 条件 计数器条件和复杂比较 这些条件可以包括任何可支持的触发点 起点和终点及范围的组合

另请参阅跟踪点

实时记录在程序执行期间发生的处理器活动 包括指令和数据访问 跟踪信息既可以存储在处理器的跟踪缓存中 也可以存储在某个外部跟踪硬件单元中 捕获的跟踪信息将返回至 RealView Debugger 的 Analysis 窗口 并在其中分析以帮助您识别程序代码中的缺陷

一种外部设备 用于存储来自跟踪端口的信息 某些处理器包含自己的片上跟踪缓冲器 这样就无需使用外部设备了

跟踪点可以是一行源代码 一行汇编代码或一个内存地址 在 RealView Debugger 中 您可以设置多种跟踪点 以便准确确定要跟踪的程序信息

复杂跟踪点中的单元 类似于简单跟踪点 可与其它跟踪点单元结合来创建复杂跟踪点

(TPA) 一种外部设备 用于存储来自跟踪端口的信息 此信息经过压缩 以便分析仪无需以与直接监控核心总线的分析仪相同的带宽捕获数据

一种工具 可使您精简已执行的跟踪捕获结果 如果您要提炼出显示内容中感兴趣的部分 此功能将很有帮助

请参阅堆栈回溯

一种跟踪点 可使您设置触发点 跟踪起点和终点 以及存储器和数据访问的跟踪范围

另请参阅跟踪点

ARM DUI 0174C 版权所有 © 2002, 2003 ARM Limited. 保留所有权利 词汇表- 5

Page 210: pudn.comread.pudn.com/downloads102/ebook/419574/arm...ii 版权所有 © 2002, 2003 ARM Limited 保留所有权利 ARM DUI 0174C RealView Debugger k 1 版权所有 © 2002, 2003 ARM

词汇表

一个由调试器命令序列组成的文件 您可以使用 include 命令在命令行接口下调用

是一个调试目标连接项目 可连接至一个或多个目标处理器 此术语通常用于描述 RealView Debugger Connection Control 窗口

(ETV) 扩展的目标可见度可使 RealView Debugger 访问目标中的深层次内容 例如由硬件制造商或 SoC 设计者提供的芯片级细节信息

(JTAG) 专注于芯片测试方法的 IEEE 专家组 许多调试和编程工具都使用联合测试操作组 (JTAG) 接口端口与处理器进行通信 有关详细信息 请参阅 IEEE 标准 测试访问端口和边界扫描体系结构规范 1149.1 (JTAG)

模拟器用于在软件中执行非本机指令 模拟内核

Integrator 环境中的附加开发板 包含 ARM 处理器和本机内存 核心模块可以单独运行 也可以与 Integrator 母板实现堆栈

另请参阅 Integrator

执行被调试的程序期间累加的统计资料 用于测量性能或确定关键代码区域

(ETM) 嵌入硬件中的逻辑块 已连接至处理器的地址 数据和状态符号 它通过跟踪端口 以压缩协议广播分支地址 数据和状态信息 它包含用于触发和过滤跟踪输出的资源

一种断点 通过将内存中的指令替换为导致处理器执行异常操作的指令来执行 如果指令存储在只读内存中 则不能使用软件断点 因为必须更改指令内存 使用软件断点可以在断点期间继续执行中断处理 因此更适于在实时系统中使用

另请参阅断点和硬件断点

(SWI) 导致处理器调用程序员特定子程序的指令 ARM 标准 C 函数库使用它来处理semihost

扫描链由串行连接的设备组成 可以使用标准 JTAG TAP 接口实现边界扫描技术 每个设备都至少包含一个 TAP 控制器 其中包括形成链的移位寄存器 处理器可能包含几个移位寄存器 使您可以访问设备的选定部件

请参阅弹出式菜单

信息的 64 位单元

词汇表- 6 版权所有 © 2002, 2003 ARM Limited. 保留所有权利 ARM DUI 0174C

Page 211: pudn.comread.pudn.com/downloads102/ebook/419574/arm...ii 版权所有 © 2002, 2003 ARM Limited 保留所有权利 ARM DUI 0174C RealView Debugger k 1 版权所有 © 2002, 2003 ARM

词汇表

也称为上下文菜单 暂时显示的菜单 提供与当前情况相关的选项 在大多数 RealView Debugger 窗口或窗格中 将鼠标光标定位在窗口内并右击即可获得此菜单 在某些窗口中 弹出式菜单会有所不同 视鼠标光标所在的行以及当前选定的选项卡页而定

当某个特定条件为真时即可停止执行的断点 条件通常会参考断点位置范围内的程序变量值

/ (GPIO) 这指 ASIC 上用于 I/O 的引脚 其中一些 GPIO 引脚可进行多路复用以扩展跟踪端口宽度

将几个处理器设置为特定的程序位置和状态 然后将其同时启动

使几个处理器在同一瞬间停止执行

命令的同步执行是指调试器在此命令完成之前将停止接受新命令

(VFP) 浮点协处理器的一种标准 可由单条指令处理多个数据值

一种内存组织结构 在此结构中 一个词的 低字节放在 低的地址 而 高字节则放在 高的地址

另请参阅大端

(DWARF) ARM 代码生成工具可生成 DWARF2 格式的调试信息

命令的异步执行是指一旦启动新命令时调试器即会接受该命令 以便继续通过调试器执行其它操作

使用非侵入型附加硬件执行的断点 存储位置在只读存储器 (ROM) 中时 硬件断点是停止执行的唯一方法 使用硬件断点通常会导致处理器完全停止运行对于实时系统而言 这种方法是不可取的

另请参阅断点和软件断点

(RDI) 远程调试接口 是调试器与调试代理之间的一种 ARM 标准程序接口 RDI 为调试器提供了一种与以下设备进行通信的统一方式

• 在主机上运行的模拟器 例如 ARMulator

• 在基于 ARM 的硬件上运行的调试监控器 例如 Angel) 通过通信链接与该监控器进行通信

• 通过硬件调试支持对 ARM 处理器进行控制的调试代理 例如 Multi-ICE

作为调试目标接口的一部分 执行载体处理从客户机工具到目标的请求

ARM DUI 0174C 版权所有 © 2002, 2003 ARM Limited. 保留所有权利 词汇表- 7

Page 212: pudn.comread.pudn.com/downloads102/ebook/419574/arm...ii 版权所有 © 2002, 2003 ARM Limited 保留所有权利 ARM DUI 0174C RealView Debugger k 1 版权所有 © 2002, 2003 ARM

词汇表

这指 RealView Debugger Analysis 窗口中的跟踪输出行 仅用于状态目的 例如跟踪暂停 描述处理器周期的有关信息

信息的 32 位单元

词汇表- 8 版权所有 © 2002, 2003 ARM Limited. 保留所有权利 ARM DUI 0174C

Page 213: pudn.comread.pudn.com/downloads102/ebook/419574/arm...ii 版权所有 © 2002, 2003 ARM Limited 保留所有权利 ARM DUI 0174C RealView Debugger k 1 版权所有 © 2002, 2003 ARM

本索引中的项目按字母顺序列出 结尾是符号和数字 给出的参考是指页码

Absolute Time 2-66Access Type 2-66Access type match filter on 2-62Access Type 排序 2-68Address as Symbol/Line 2-66Address as value 2-66Address expression match 查找 2-54Address expression match filter on

2-60Address 列 Analysis 窗口 2-43Address/Data 2-22Address 排序 2-68ADS

ARMulator B-22Agilent

E5903A A-11, A-1216600 或 16700 逻辑分析仪 A-4,

A-8, B-14仿真模块 2-3仿真探测器 A-11, B-16跟踪端口分析仪 2-3, B-16

逻辑分析仪 2-3Analysis window

code window tracking 2-64Analysis 窗口 2-33

Columns 菜单 2-66Context 菜单 2-72Exit 2-70Find 菜单 2-51Sort 菜单 2-68View 菜单 2-56更新 2-57列类型 2-41选项卡 2-41状态行 2-45, 2-71

AND Filters 2-64Angel 调试监控器 5-8ARM CPU 宏单元 2-8ARM Developer Suite ixARM Multi-ICE 2.0 配置对话框 B-3,

B-6, B-8, B-14, B-16, B-19, B-22ARM 处理器 2-5

ETM 2-8ARM-ARM-PP 连接 4-4

ARM-A-RR 连接 5-15ARMulator 2-4, 2-6ASIC 2-8, 2-13ATPCS 3-10Attach Window to a Connection 5-15,

5-18Automatic Update on Append to buffer

2-40Automatic Update on New buffer 2-40Auto-range 2-55, 2-60Breakpoints/Triggers 窗格 2-31Buffer 保存至文件

Trace buffer 保存至文件 2-69Buffer 从文件加载

Trace buffer 从文件加载 2-69B=>E% 列 Analysis 窗口 2-43,

2-67C 编程语言 xiCall-graph 2-50CARMETM A-7, A-9Close Loaded File 2-70Cmd 选项卡 Output 窗格 5-12Code Window Tracking 2-64

ARM DUI 0174C 版权所有 © 2002, 2003 ARM Limited. 保留所有权利 索引- 1

Page 214: pudn.comread.pudn.com/downloads102/ebook/419574/arm...ii 版权所有 © 2002, 2003 ARM Limited 保留所有权利 ARM DUI 0174C RealView Debugger k 1 版权所有 © 2002, 2003 ARM

索引

Code 窗口 5-4标题栏 5-13创建 5-6附加 5-13附件 3-9新建 5-17与连接比较 5-4

Code 视图 2-41Collect data Around Trigger 2-37, 2-38Color Box 在 Code 窗口中 5-18Columns 菜单 Analysis 窗口 2-66Configure ETM

处理器安装 2-13存储器映射解码 2-13跟踪端口模式 2-11跟踪数据宽度 2-11精确周期跟踪 2-14启用时间标记 2-13已启用半速计时 2-11

Configure ETM 对话框 2-10Conn 选项卡 Resource Viewer 5-14Connect Analyzer/Analysis 2-35Connect 选项卡

Connection Control 窗口 5-11Connection

按钮 5-12菜单 5-6下拉列表 5-6与 Code 窗口比较 5-4

Connection Control 窗口 5-10Connect 选项卡 5-11Synch 选项卡 5-11, 5-41, 5-42

Connection 按钮 5-6Context 菜单 Analysis 窗口 2-72Continue Collecting on Buffer Full

2-38Continuous Collection Mode (no

Trigger) 2-38Count of hits 2-67Count 列 Analysis 窗口 2-43,

2-44Count 排序 2-68Cycles 2-64Data Value in Decimal 2-66Data Value in Hex 2-66Data value match filter on 2-60Data value match 查找 2-55Data value 排序 2-68Data 视图 2-41

Debugger 内核 5-4Default Ring-buffered last N traces

2-36Define Processor Speed for Scaling

2-65Disassembly 选项卡 2-15Disconnect All 5-23Disconnect 模式 定义 5-23Downloads

RTOS Awareness 1-3, 3-4Dsm 视图 2-41DSP

模拟器 1-3, 4-3DSP 连接至 4-2Elem 列 Analysis 窗口 2-42Entry position 2-52, 2-58ETM 2-8, 2-18

配置 2-5, 2-10资源 2-4

ETM 配置 2-9ETM 启用的处理器 2-5Event Triggers 设置和编辑 2-36Execution 控件 5-41, 5-42Exec% 列 Analysis 窗口 2-43Exec/B=>E/B=>E Avg 列 Analysis

窗口 2-44, 2-67Exit Analysis 窗口 2-70Exit 窗口 2-70E5903A Agilent A-11, A-12FIFO highwater 2-13FIFO 缓冲器 2-4, 2-13FIFO 溢出 2-14, 2-45FIFOFULL 逻辑 2-11File Editor 窗口 2-15Filter on Access Type Match 2-62Filter on Address Expression Match

2-60Filter on Data Value Match 2-60Filter on Percent Time Match 2-63Filter on Position Match 2-57Filter on Raw Address Match 2-59Filter on Symbol Name Match 2-61Filter on Time Match 2-58Filtering trace

AND filters 2-64filter on access type match 2-62filter on address expression match

2-60filter on data value match 2-60

filter on percent time match 2-63filter on position match 2-57filter on raw address match 2-59filter on symbol name match 2-61filter on time match 2-58save filtered buffer to file 2-70

Find Address Expression Match 2-54Find Data Value Match 2-55Find next 2-73Find Position Match 2-52Find previous 2-73Find Raw Address Match 2-53Find Symbol Name Match 2-56Find Time Match 2-53Find Trigger 2-52Find 菜单 2-51Find 菜单 Analysis 窗口 2-51FLEXlm

命令 4-3许可证 1-4

Func 视图 2-41GPIO 2-11Histogram 列 Analysis 窗口 2-44Information 对话框 2-72Intel StrongARM 和 JTAG 5-8Interpretation of Data 2-67IP 地址 B-12, B-16, B-17JTAG

规格 xi接口单元 2-3, 2-9扫描路径 5-10

last N traces 2-36List 选择对话框 2-18lmstat 4-3Load Trace Buffer from File 2-69Logic Analyzer Configuration 对话框

B-12, B-15Loose 同步 5-37Mastering Regular Expressions xMCR 2-14Memory 窗格 2-15Micro-Seconds 2-64Mictor 连接器 A-8, A-12, A-14Milli-Seconds 2-64Min/Max B>E 列 Analysis 窗口

2-44, 2-67MRC 2-14Multi-ICE 2-3, A-2, A-8, B-2, B-6,

B-14

索引- 2 版权所有 © 2002, 2003 ARM Limited. 保留所有权利 ARM DUI 0174C

Page 215: pudn.comread.pudn.com/downloads102/ebook/419574/arm...ii 版权所有 © 2002, 2003 ARM Limited 保留所有权利 ARM DUI 0174C RealView Debugger k 1 版权所有 © 2002, 2003 ARM

索引

Multi-ICE 直接连接 4-4, 5-8MultiTrace 2-3, A-2, B-2Name 排序 2-68Nano-Seconds 2-64New Code Window 5-6, 5-18new_OAK 连接 4-3, B-24Oak

DSP 4-2仿真器 2-4, 2-6模拟器 1-3, 4-3

OakDSPCore MaxCore 仿真器 2-4, 2-6

OakDSPCore MaxCore 模拟器 1-3, 4-3

Other 列 Analysis 窗口 2-43Output 窗格 Cmd 选项卡 5-12Parent/Child %ages Relative to Whole

Time 2-51Percent time match filter on 2-63Physical to Logical Address Mapping

2-36Pico-Seconds 2-64Position 2-66Position match

filter on 2-57查找 2-52

Print Trace Lines 2-70Procedure Call Standard ixProcess Control 窗格 Thread 选项卡

3-13Processes

what are 3-2Profile 视图 2-41Projects

绑定 5-13断开连接的效果 5-27和窗口附加 5-25连接的效果 5-27缺省绑定 5-26使用多个窗口 5-25使用多个连接 5-24在多处理器模式下绑定 5-26

Prompt 对话框 2-54, 2-61Raw address match

查找 2-53Raw address match filter on 2-59Raw 视图 2-41RealView Debugger

窗口附加 5-13

单处理器许可证 5-11跟踪 2-2架构 5-8扩展 1-2文档套件 viii

Relative Time 2-66排序 2-68

Resource Viewer 5-14RTOS 3-11选项卡 3-11

Resource Viewer Window 5-19RTOS 选项卡 5-14

Resource Viewer 窗口 3-11Conn 选项卡 5-14附加 5-20

Reverse Sort 2-68Ring-buffered last N traces 2-36RTOS 3-1, 3-2

Awareness Downloads goto 1-3, 3-4

Board/Chip 定义文件 3-4过程 3-2加载映像 3-7配置设置 3-4数据结构 3-11调试 3-3系统时间期限 3-3线程 3-2线程按钮 3-8线程列表 3-8, 3-11支持库 3-5, 3-7, 3-12支持软件包 1-3指定映像目标名称 3-7

Save Filtered Trace Buffer to File 2-70Save Trace Buffer to File 2-69Scale Time Units 2-64Seconds 2-64Set Amount of Trace buffer to read

2-38Set Trigger 2-18Setup Assistant 在逻辑分析仪中

B-13, B-15Set/Edit Event Triggers 2-36Set/Toggle Trace Point... 2-18

Set Trigger 2-18Trace End Point 2-19

Show Details View 2-64Show Position relative to Trigger 2-65Simple trace points

Set/Toggle Trace Point... 2-18Sort 菜单 Analysis 窗口 2-68Source 选项卡 2-15Start of Excuded Trace Range 2-20Start of Trace Range 2-20Stop processor on buffer full 2-37, 2-38Stop processor on trigger 2-37Stop-Collect-Run profiling (intrusive)

2-36Store Control-Flow Changes Only

2-38Symbol name match

filter on 2-61查找 2-56

Symbolic 列 Analysis 窗口 2-43, 2-44

Synch 选项卡 5-41, 5-42Connection Control 窗口 5-11

Synchronizationtight 5-38

Synchronized on Run 5-42Synchronized on Step 5-41Synchronized on Stop 5-42TeakLite

DSP 4-2模拟器 4-3

Tektronix B-19TLA 600 和 700 A-14

Tektronix 逻辑分析仪 2-3Thread

选项卡 在 Process Control 窗格中 3-13

Tight 同步 5-38Time match

filter on 2-58查找 2-53

Time Measure from Selected 2-72Time Measure from Triggered 2-73Time/cycl 列 Analysis 窗口 2-42Time/Entry 排序 2-68TLA 600 和 700 Tektronix A-14Trace buffer save to file 2-70Trace Data Value Access 2-23Trace Data Value Read 2-22Trace Data Value Write 2-22Trace End Point 2-19Trace if X after Y 对话框 2-27Trace if X after ’n’ executions of Y 对

话框 2-28, 2-29

ARM DUI 0174C 版权所有 © 2002, 2003 ARM Limited. 保留所有权利 索引- 3

Page 216: pudn.comread.pudn.com/downloads102/ebook/419574/arm...ii 版权所有 © 2002, 2003 ARM Limited 保留所有权利 ARM DUI 0174C RealView Debugger k 1 版权所有 © 2002, 2003 ARM

索引

Trace Instr Exec 2-22Trace Instr Fetch 2-22Trace on X after Y 2-27Trace on X after Y executed N times

2-28, 2-29Tracing

示例 2-74Track in Code Window 2-72Trigger 控件 5-42Trigger find 2-52Use Logarithmic Scale for Histogram

2-51View 菜单 Analysis 窗口 2-56XScale B-6XScale 处理器 2-8

1st 列 Analysis 窗口 2-43

* 连接旁边 5-6* 线程旁边 3-9+Time 列 Analysis 窗口 2-42

A安装处理器以防止溢出 2-13

B板 附加 5-16半速计时 2-11, A-6, A-9, B-13保存跟踪信息 2-69编辑跟踪点 2-31变量 线程中的更改 3-10标记的视图类型 2-41捕获配置报告信息 2-78

C查找相应的源代码 2-32程序执行 2-9, 2-32处理器安装 2-13

FIFO highwater 2-13安装处理器以防止溢出 2-13

窗口附加 5-13

窗口附加 5-16, 5-20从目标断开连接 5-21存储器映射解码 2-13错误

调试状态 2-45错误的同步地址 2-46

D单处理器 RealView Debugger 5-11当前连接 5-5, 5-6, 5-11, 5-16, 5-17

更改 5-16当前线程 3-9登录命令和输出 5-12地址映射 2-36点对点数据链接 5-28调度至时间期限 3-2定标

定义处理器速度 2-65断开连接的结果 5-21断开连接结果 5-21断开上一次连接 5-22断开所有连接 5-23对称的多处理器 5-28对话框

2-30ARM ADI 配置 B-9ARM Multi-ICE 配置 B-3, B-23Configure ETM 2-10Information 2-72List Selection 2-18, 2-62, 2-64Prompt 2-39, 2-51, 2-54, 2-56,

2-58, 2-59, 2-60, 2-61, 2-63, 2-65Select Trace file to Save to 2-70TLA 配置 B-21Trace if X after A==B 2-29Trace if X after Y [and/or Z] 2-28Trace if X after ’n’ executions of Y

2-28对数刻度 2-51多处理器

Connect 选项卡 5-11Loose 同步 5-37Synch 选项卡 5-11, 5-41tight 同步 5-38

次连接 5-4架构 5-3交叉触发 5-38, 5-40设备 5-2通信保护 5-40同步 5-2, 5-10, 5-36同步处理器 5-43同步和交叉触发 5-40同步设备 5-41同步术语 5-36同步延迟 5-36同步延迟示例 5-37同步组 5-36

多处理器许可证 5-11多个目标 连接 5-18多路复用 2-11多目标连接 5-2

F反馈 xii仿真模块

固件版本 A-6仿真器 2-4, 2-6仿真探测器 B-16仿真探测器 Agilent A-11, B-8,

B-16, B-18非 ETM 处理器 2-6非精确周期模式 2-14非侵入型 2-2分析配置 选择 2-35分析仪属性 配置 2-10, 2-35复杂跟踪点 2-2, 2-16, 2-21

Trace on X after Y executed N times 2-28, 2-29

Trace on X after Y [and/or Z] 2-27地址/数据 2-22

复制 2-35, 2-73父函数 2-50附加

板 5-16窗口 5-16, 5-20

附加线程 3-13附件

状态 3-9

索引- 4 版权所有 © 2002, 2003 ARM Limited. 保留所有权利 ARM DUI 0174C

Page 217: pudn.comread.pudn.com/downloads102/ebook/419574/arm...ii 版权所有 © 2002, 2003 ARM Limited 保留所有权利 ARM DUI 0174C RealView Debugger k 1 版权所有 © 2002, 2003 ARM

索引

G概念 多处理器调试 5-2跟踪 2-2

保存和加载信息 2-69捕获 2-8查找信息 2-51概览 1-2更改显示 2-66过程 2-9简单 2-2解释数据 2-40仅用于地址 2-12仅用于数据 2-12控制方法 B-11, B-15, B-17配置捕获 2-9使用入门 2-7使用示例 2-7示例 2-74数据和地址 2-12数据宽度 B-13协处理器 2-14硬件解决方案 2-7

跟踪 FIFO 溢出 跟踪状态行 2-45

跟踪 过滤 2-15跟踪捕获

开始 2-32配置 2-15

跟踪捕获硬件 2-3跟踪点

编辑 2-31复杂 2-2, 2-16, 2-21, 2-82简单 2-15禁用 2-32清除 2-32修改 2-31

跟踪端口分析仪 2-3跟踪端口分析仪 Agilent B-12,

B-17跟踪端口模式 2-11跟踪缓冲器 清除 2-40跟踪缓冲器大小 2-12跟踪快速目标 A-1跟踪使用入门 2-7跟踪数据宽度 2-11跟踪协处理器 2-14跟踪选项

配置 2-34

跟踪硬件要求 2-3跟踪暂停 2-16, 2-17跟踪暂停 跟踪状态行 2-45更改当前连接 5-16更改跟踪显示 2-66更新 2-57共享的存储器 as comms link 5-28共享多处理器资源 5-28关于线程的信息 3-12广播数据链接 5-28过滤捕获的信息 2-56过滤跟踪 2-15

H缓冲器 清除 2-40活动连接列表 5-15, 5-20获取活动线程 3-8

J寄存器 线程 3-10计时规范 目标 A-1加载

跟踪信息 2-69映像 2-9, 2-15

架构 RealView Debugger 5-3, 5-8简单断点

使用 Set/Toggle 跟踪点设置 2-17简单跟踪点 2-2, 2-15将新缓冲器附加至现有的缓冲器

2-40交叉触发 5-38, 5-40

软件示例软件示例 5-38

同步 5-40硬件示例 5-38

交叉触发控件 5-42交叉触发示例 5-38解除多路复用 2-11解释跟踪数据 2-40禁用跟踪点 2-32精确周期跟踪 2-12, 2-14

非精确周期模式 2-14精确周期模式 2-14

K开始跟踪捕获 2-32刻度 对数 2-51刻度 线性 2-51

L来自用户的意见 xii连接

当前 5-6多个目标 5-18活动列表 5-6星号 5-6状态信息 5-4, 5-5

连接目标 2-9连接至 DSP 4-2连接至目标 5-10列类型 Analysis 窗口 2-41临时许可证 1-4逻辑分析系统 A-5, A-6, A-9逻辑分析仪 B-12, B-14, B-17

Agilent 2-3Agilent 16600 或 16700 A-4, A-8MultiTrace A-2Setup Assistant B-13, B-15TLA 600 A-14自动配置 B-13, B-15

M命令

ADDFILE 3-6CONNECT 3-7RELOAD 3-6

目标调试接口 5-4, 5-8目标连接 2-9目标硬件 5-4

P配置

Agilent 16600 或 16700 逻辑分析仪 A-6, B-8

分析仪属性 2-10, 2-35跟踪选项 2-34

ARM DUI 0174C 版权所有 © 2002, 2003 ARM Limited. 保留所有权利 索引- 5

Page 218: pudn.comread.pudn.com/downloads102/ebook/419574/arm...ii 版权所有 © 2002, 2003 ARM Limited 保留所有权利 ARM DUI 0174C RealView Debugger k 1 版权所有 © 2002, 2003 ARM

索引

配置 ETM 2-9, 2-10跟踪缓冲器大小 2-12跟踪协处理器 2-14

配置跟踪捕获 2-9, 2-15

Q启用时间标记 2-13嵌入 ICE 逻辑 2-8嵌入跟踪宏单元 参见 ETM清除跟踪点 2-32清除跟踪缓冲器 2-40

R任务控制块 3-10软实时 3-2

S设置断开连接模式 5-23设置跟踪点

复杂 2-82设置跟踪缓冲器大小 2-39时间标记 2-13时间期限 调度 3-2实时 2-2实时应用程序 3-2示例 连接三个目标 5-18术语 词汇表- 1数据 解释 2-40数据跟踪模式 2-12数据同步丢失 2-45数据中止示例 跟踪 2-74

T多处理器

调试 1-3调试 概念 5-2

调试接口单元 5-8调试状态 跟踪状态行 2-45通信保护 5-40通用输入/输出 参见 GPIO同步

Execution 控件 5-41

交叉触发 5-38, 5-40交叉触发控件 5-42交叉触发软件示例 5-38交叉触发示例 5-38交叉触发硬件示例 5-38设备 5-41示例 5-43释放 5-37术语 5-36通信保护 5-40延迟 5-36延迟示例 5-37

同步点 2-45同步丢失 2-45同步丢失 跟踪状态行 2-45同步组 5-36

W唯一的连接 断开连接 5-22文件

.dll 显示 B-15, B-17

X显示

Resource Viewer Window 5-19当前线程 3-8线程信息 3-12

显示代码 2-32线程

当前 3-9附加 3-13附加的窗口 3-9, 5-16更改变量 3-10寄存器 3-10未附加的窗口 3-9显示线程列表 3-8线程和过程 3-2详情 3-8星号 3-9中断 3-10

线程按钮 3-8线程列表 3-8线性刻度 2-51相关性 5-2星号 连接旁边 5-6星号 线程旁边 3-9

修改跟踪点 2-31共享的变量 3-10局部变量 3-10

许可证 1-4, 5-2, 5-11临时 1-4

选择分析配置 2-35

Y延迟 5-36, 5-40

示例 5-37已启用跟踪 2-37抑制 FIFO full 上的数据 2-14硬件

平台 1-6要求 2-3资源 2-4

硬实时 3-2映像

目标名称 3-7用户的意见 xii用于跟踪的硬件解决方案 2-7远程配置 B-14, B-16

Z在触发前收集数据 2-37, 2-38找到 RTOS 数据结构 3-5正常 2-11支持 RTOS 1-3支持的硬件 1-6直接连接 Multi-ICE 4-4执行程序 2-9, 2-32中断线程 3-10柱状图 2-49柱状图 对数刻度 2-51状态行 2-16, 2-17, 2-45状态行 Analysis 窗口 2-71桌面

连接窗口 5-13资源 2-4资源共享 5-28子函数 2-50

索引- 6 版权所有 © 2002, 2003 ARM Limited. 保留所有权利 ARM DUI 0174C