C.1. 故障排除步骤

如果您按照本用户指南第二章详述的过程配置了硬件,但通过 ARM Profiler 运行时源代码仍无法执行,请考虑以下常见原因:

  1. 如果 ARM Profiler 终止并显示错误消息“Exiting application due to unrecoverable errors please refer to the ARM Profiler user guide Appendix C hardware troubleshooting guide/因不可恢复的错误而退出应用程序,请参考 ARM Profiler 用户指南的附录 C 硬件故障排除指南”,则以下某个问题可能就是原因所在。

    • 在 ARM Profiler 启动配置中指定的映像文件与目标硬件上的映像不匹配。

      如果启动配置中指定的映像与开发板上加载的映像不匹配,则无法在启用了性能分析的目标上运行该映像。 当使用“Symbols Only/仅符号”选项时,通常会发生此问题,但在这种情况下不会生成特定的错误。 请确保映像文件与目标上的映像文件相匹配,然后重新尝试硬件性能分析。

    • 使用了自修改代码

      如果您使用了自修改代码(这些代码会在运行时尝试跳转到不在 axf 文件中的地址),则 ARM Profiler 可能会失败并出现上述错误。 请删除所有自修改代码,然后重新尝试硬件性能分析。

      Note

      但有一种例外情况,ARM Profiler 允许使用运行时在地址 0x0 到 0x1C 之间安装处理程序的自修改代码。

      ARM Profiler 不支持通过某些中止处理程序进行性能分析。 有些处理程序(如预提取中止处理程序)可能会导致失败并显示上述错误消息。

    • 硬件目标的运行速度太快

      ARM Profiler 只能对内核时钟在 350 MHz 以下的硬件进行性能分析。 如果开发板的运行速度超过此值,请尝试降低硬件速度以符合性能分析要求,然后重试。

    • 映像文件中包含的代码有缺陷

      在通过 ARM Profiler 运行您的代码之前,必须确认这些代码是稳定可靠的。

    • 如果硬件使用的是反相时钟,请确保在 RVConfig 文件中使用了“Inverted clock/反相时钟”设置。

  2. 如果 ARM Profiler 失败并显示以下错误消息之一,则表明 RVI 或 RealView Trace 2 单元可能处于错误状态:

    • Session handle invalid/会话句柄无效

    • Device state requested on connection could not be achieved/无法实现连接时请求的设备状态

    • RVI timed out waiting for a response from the device/RVI 在等待设备响应时超时

    RVI 或 RealView Trace 2 单元可能处于错误状态。 要修复此问题,请尝试对 RVI 和 RealView Trace 2 单元重新加电。 首先,关闭开发板的电源,再关闭 RVI 和 RealView Trace 2 单元的电源。 然后,打开开发板的电源。 接着,重新启动 RVI 和 RealView Trace 2 单元,并等到 RVI 单元上的 STAT LED 灯恒亮,且 RealView Trace 2 单元上的 Power On LED 指示灯亮起。当所有硬件再次启动并运行时,对开发板重新加电并再次尝试运行性能分析。

  3. 如果 ARM Profiler 失败并显示“No connection to the device/没有设备连接”错误消息,请尝试以下操作:

    • 确保 RVConfig 文件与开发板匹配。

    • 检查源自和接向 RVI 与 RealView Trace 2 单元的连接。

    • 确保 RVI 和硬件目标都已开机。

    如果上述各项无问题,但仍显示“No connection to the device/没有设备连接”错误,则可能是设备尚未获取 IP 地址。 请按步骤 2 的说明,尝试对 RVI 单元重新加电。

  4. 如果 ARM Profiler 失败并显示“Device in use/设备正在使用”错误消息,原因可能是 RealView Debugger 与该单元之间存在活动连接。 RVI 和 RealView Trace 2 单元一次只能使用一个连接,因此如果 RVD 已连接,请尝试关闭 RVD 并重新运行 ARM Profiler。 如果 ARM Profiler 的另一个实例已连接到设备,也会出现此错误。 请检查确保只打开了一个 ARM Profiler 实例。

  5. Bad plugin/插件错误”错误消息表明,指定的“.rvc”配置文件不存在。 请检查确保该配置文件位于 RealView Trace 2 启动配置对话框中指定的目录位置。

  6. Failed to parse the specified configuration file/未能分析指定的配置文件”错误消息表明,“.rvc”配置文件有错或无效。 请新建一个有效的“.rvc”配置文件,然后尝试再次运行硬件性能分析。

    Note

    必须使用 RVI 3.3 或更高版本创建 RVConfig 文件。 使用旧版 RVI 创建的 RVConfig 文件与 ARM Profiler 不兼容。

  7. Buffer overflow/缓冲区溢出”错误消息也可能表示硬件目标运行速度太快,或其中某一单元处于错误状态。 有关这些问题的可行修复方法,请参阅第一条和第二条。

  8. 如果 ARM Profiler 失败并显示错误消息“Device not powered or has been disconnected/设备未开机或已断开连接”,请检查 RVI 和 RealView Trace 2 单元的连接和电源状态。

  9. Error in Loading the Object Image <path> execution terminated/加载对象映像 <路径> 时出错,执行已终止”指示映像文件缺失或无效。 请确保启动配置对话框指向有效的映像文件,然后尝试再次进行硬件性能分析。

  10. 错误消息“read/write memory failure/读/写内存失败”可能是目标硬件的内存映射配置有误造成的。 要纠正此问题,请根据硬件规范配置内存映射。

  11. 如果您创建的 .apa 分析文件未报告任何指令,而正在运行的开发板要求使用反相时钟,高速捕获跟踪,请尝试以下修复方法之一:

    • 检查确保探测器牢固地连接到右插槽中。

    • 如果硬件使用反相时钟,请确保在 RVConfig 文件中使用了“Inverted Clock/反相时钟”设置。

    Note

    ARM Profiler 不理会 RVConfig 中的许多设置,包括跟踪计时设置,但“Inverted Clock/反相时钟”设置是个例外。

  12. 有些间接跳转错误是应用程序在引导期间写入向量表造成的。 由于 ARM 断点单元的某些限制,系统只能捕获部分向量表写入。 如果程序在安装期间写入向量表,请确保在以下位置之一执行对向量表的最终写入:

    • 0x08 (SVC)

    • 0x18 (IRQ)

    Note

    如果您的应用程序写入向量表,建议在向量表写入之后附加两个 NOP,以避免在某些目标的调用链中误报链接。

如果进行硬件性能分析时遇到此处未列出的问题,请按照前述说明对 RVI 和 RealView Trace 2 单元重新加电,然后重新开始硬件性能分析。

Copyright © 2007,2008 ARM Limited. All rights reserved。ARM DUI 0414CC
Non-Confidential