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.

[参考译文] TMS320F280039:为什么 XDS110 调试器会偶尔停止 MCU?

Guru**** 2880110 points

Other Parts Discussed in Thread: XDS110ISO-EVM

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

https://e2e.ti.com/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/1630280/tms320f280039-why-does-the-xds110-debugger-stop-my-mcu-sporadically

器件型号: TMS320F280039
主题中讨论的其他器件: XDS110ISO-EVM

我注意到、在“Watch"(“(观察(观察)窗格中激活“Continuous Refresh“(持续刷新)功能后、XDS110 调试器会定期停止我的 F280039 MCU 以读取观察到的变量。 在“Registers"窗“窗格或“Memory"窗“窗格也是如此。

Icepick HW 在不停止 MCU 的情况下是否真的无法读取存储器? 还是需要更高级的调试器?

由于我正在通过 MCU 控制开关模式电源、因此不能容忍调试器停止 MCU。 如果在不停止 MCU 的情况下确实无法访问读取/写入存储器、如何配置 Code Composer Studio 来确实避免这些中断?

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

    您好、Oliver:

    Icepick HW 是否真的无法在不停止 MCU 的情况下读取存储器?

    这是一个基本的架构限制,而不是一个错误。 Icepick 调试接口(由所有 C2000 器件使用)需要 CPU 停止以读取存储器。 这是 C2000 架构中的设计使然、不能规避。

    或者我是否需要更高级的调试器?

    即使是 XDS200 或 XDS560 等昂贵的调试器也存在相同的限制、因为它们都对 C2000 器件使用 Icepick/JTAG 协议。 问题在于体系结构、而不是与硬件有关。

    我必须如何配置 Code Composer Studio 才能肯定地避免这些中断?

    在所有调试窗格中禁用“Continuous Refresh“(持续刷新):

    即时操作:
    1.观察窗格:右键点击→Properties→取消选中“Continuous Refresh“
    2.寄存器窗格:下拉菜单→取消选中“Continuous Refresh“
    3.内存窗格:右键单击→属性→禁用自动刷新

    此致、

    Brennan

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

    感谢您的澄清! 如果我需要 在快速控制环路处于活动状态(例如在开关模式电源或磁场定向电流控制应用中)时观看一些重要变量(比如关于十个 32 位值)、您建议如何实现这一点、尤其是当我需要 在 10kHz 范围内的快速采样率时? 是否有任何机制可用于此目的?

    我可以考虑使用具有~10MHz 时钟频率的 SPI 接口将值周期性地发送到具有 SPI 接口的 PC、但随后我必须在 SW 上花费额外的精力、这也会导致额外的 CPU 负载、并且我需要添加一个隔离式 SPI 接口、而 TI 的 XDS110ISO-EVM 调试器 已被隔离。

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

    Oliver、

    您可以使用 XDS110ISO-EVM 调试器、无需外部硬件即可实现 10kHz 监控。 建议的方法为:

    1.在由 10kHz 计时器 ISR 触发的 RAM 中实现一个循环缓冲器
    2. CPU 开销极小(使用优化的 ISR 时为~0.5%)
    3.使用 CCS Graph 工具可视化数据 — 无需定制 PC 软件
    4.利用现有的调试基础设施 — 无需隔离式 SPI 接口

    此致、

    Brennan

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

    尊敬的 Brennan:

    感谢您的回答、这听起来非常有前途! 我仍然不明白、如何在不停止 CPU 的情况下将循环缓冲器的内容传输到调试器。 对于这种方法、我可以阅读任何文档吗?

    我已经阅读了 XDS110ISO-EVM 用户指南、但我只发现可以通过 SPI 输出 4 个 DAC 通道。 我更倾向于使用数字输出。

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

    Oliver、  

    对于数字输出、您可以使用 SCI/UART 流式传输将数据直接发送到 PC。 请注意、波特率限制为 1.5625Mbaud、因此采样率将在~7.8KHZ 时小于 10kHz。

    您可以参考的另一个文档是 Code Composer Studio 用户指南

    此致、

    Brennan