This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

[参考译文] CCS/TMDXICE110:在 CCS 的调试模式下、不会查看处理器的变量和寄存器的值。

Guru**** 2265200 points
Other Parts Discussed in Thread: TMDXICE110, AMIC110
请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/tools/code-composer-studio-group/ccs/f/code-composer-studio-forum/674430/ccs-tmdxice110-in-the-debug-mode-in-the-ccs-the-values-of-the-variables-and-registers-of-the-processor-are-not-viewed

器件型号:TMDXICE110
主题中讨论的其他器件: AMIC110

工具/软件:Code Composer Studio

你好。

我在调试模式下遇到问题。  我购买了调试套件 TMDXICE110。  我通过 JTAG 和 consol 连接了它。

当我将项目加载到调试中时、我有以下窗口。

按下"取消"按钮后、我有这个。  芯片初始化并加载程序。

之后、我安静地运行该程序、并且它正在运行、器件在其 IP 上执行 ping 操作。  在控制台中、我有一条消息、说明程序运行正确。

当我尝试查看调试模式下芯片或变量的寄存器状态时、CCS 不会显示它们。

但是、如果我单击暂停、则会读取寄存器和变量的状态并显示暂停时间。

为什么 CSS 这样工作? 我连接的哪个文件不正确、或者应该激活哪个选项?

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您看到的是预期行为。 通常需要停止目标以查看寄存器和存储器。

    您正在寻找的是一种称为"实时调试"模式的功能。 并非所有器件都支持此功能:
    software-dl.ti.com/.../sdto_ccs_debug-handbook.html

    ARM Cortex 器件不支持对寄存器的实时可行性。 但可以通过 DAP 对存储器进行实时访问。 虽然我们为 Cortex M 器件提供了内幕揭秘、但我们不会为 Cortex A 提供此类支持。这是因为在使用 MMU 时不建议这样做。 如果您希望使用 DAP 进行实时访问、则需要在"Debug"视图中将其公开(如果您仍想使用此路由、请告诉我、我将展示如何操作)。

    谢谢
    Ki
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    [引用 user="Kiselev Dmitry">当我将项目加载到调试中时,我有以下窗口。

    [/引述] AMIC110具有 ARM Cortex-A8和 Cortex-M3内核。

    Cortex-M3可用于执行电源管理、器件复位时、Cortex-M3保持复位状态、直到 Cortex-A8释放 Cortex-M3的复位状态。

    示例程序只需在 Cortex-A8上运行。 当在器件具有同一系列多个内核的项目上首次启动调试会话时、CCS 会显示一个"启动调试会话"对话框、询问要在哪个内核上加载程序。 该对话框默认为所选的所有内核。 对于 AMIC110的示例程序、由于 Cortex-M3处于复位状态、不必要的将程序加载到 Cortex-M3上的尝试失败。

    如果您从 CCS 工程中删除.launches 子目录、当您启动另一调试会话时、 应重新显示"Starting Debug Session"对话框。 取消勾选此选项可将程序加载到 M3_wakeupSS 上、保持选中 CortexA8。 这将导致 CCS 仅尝试将程序加载到 Cortex-A8上、从而防止出现"器件保持复位"错误。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    在 M3_wakeupSS 上加载程序的 untick 选项解决了我的第一个问题。  我直到最后才明白、芯片是否有 M3?

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    嗯、监控芯片寄存器的状态对我来说并不重要、观察变量的状态并能够实时使用工具 RTOS 分析器、系统分析器和硬件跟踪分析器有多重要。 因为现在、它们中的数据仅在我暂停时被卸载。
    您还提到可以实时控制存储器、但这是什么存储器? DDR3或其他什么?
    您能帮我实现目标吗?
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    [引用 user="Kiselev DMitry">您还提到可以实时控制存储器、但这是什么存储器? DDR3或其他什么?
    您能帮我实现目标吗?[/引述]

    您可以通过 DAP 实时访问存储器。 对于某些器件、CCS 将自动使用内幕揭秘下方的 DAP。

    要为您的器件访问它、您需要通过 DAP 显式访问存储器。  

    您需要公开它:

    然后、通过在上下文中使用存储器来显式访问存储器:

    请注意我之前对尝试以这种方式访问存储器时启用 MMU 的问题的评论。

    谢谢

    Ki

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    我尝试连接到 DAP、但未成功。 可能需要执行一些我不知道的其他设置。
    不过、如果我设法激活此模式、我可以实时使用 RTOS 分析器或系统分析器工具吗?
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    [引用 user="Kiselev Dmitry"]我尝试连接到 DAP,但我没有成功

    当您尝试时发生了什么情况? 您是否收到任何错误消息? 如果是、它们是什么?

    [引用 USER="Kiselev Dmitry"]不过,如果我设法激活此模式,我能否实时使用 RTOS 分析器或系统分析器工具?

    通过 DAP 访问存储器对这些工具没有影响。 DAP 只是一个实时访问存储器的接口。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    这是加载后调试窗口的外观。

    之后、我将连接到 DAP、如下所示。 单击 Connect target (连接目标)。

    单击"Connect"后、调试窗口如下所示。

    在我重新建立连接后、调试窗口是

    正如我们看到 CortexA8的启动、DAP 处于无法理解的状态。 系统不再反应、我必须按"终止"。

    内存浏览器不可用、如下所示。

    问题是、我做了什么错?

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    在第一个屏幕截图中、您已经连接到 DAP。 您的第二个屏幕截图实际上断开了 DAP。 第三个屏幕截图显示 DAP 已断开连接。 但第四个屏幕截图显示了连接 DAP。 第五个屏幕截图看起来不错、您需要在存储器浏览器中输入物理地址才能看到任何内容。 您能否输入地址或 IDE 是否已冻结("系统不再反应")

    我还发现本视频可能会有所帮助:
    dev.ti.com/.../

    谢谢
    Ki
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    非常感谢观看本视频。 它对我帮助很大。 我可以读取存储器。
    这一切都会以牺牲 RTOS 分析器等工具为代价而发生什么呢? 是否可以在实时模式下进行监控?
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    RTOS 分析器的工作方式完全不同。 请在 RTOS 分析器上开始新的主题、以便将其分配给相应的 TI-RTOS 专家

    谢谢
    Ki