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/TMS320F28375S:CLA 调试:疯狂反汇编窗口

Guru**** 2538950 points


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

https://e2e.ti.com/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/683115/ccs-tms320f28375s-cla-debug-crazy-disassembly-window

器件型号:TMS320F28375S

工具/软件:Code Composer Studio

您好!

我在查看 CLA 代码时遇到问题:一旦我连接到 CLA、Disassamly 窗口(以及源代码窗口和表达式窗口)的内容就会开始刷新和跳转、因此无法使用它。

CCS 版本为7.2.0、通过 Spectrum Digital XDS560V2 STM Traveler Emulator 进行连接。

有什么想法吗?

此致、

弗兰克

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

    它是否每次都发生? 您是否在这些窗口上启用了自动刷新? 如果是、请将其禁用。
    在使用不同的仿真器时会看到这种行为?

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

    尊敬的 Chris:

    一旦我启动 CPU、它就会立即发生。 遗憾的是、这是将 CLA 代码复制到 CLA RAM 所必需的... F28377S launchpad / XDS 100v2也会发生这种情况。

    我不知道如何关闭自动刷新、但我在 CCS 中没有找到帮助、但我找到了 GEL_RefreshWindows()函数、它似乎完全实现了我所做的_NOT_W想要 的操作(请参阅下面的内容)。 是否可以从 GEL 中的错误位置调用它?

    在哪里可以使用旋钮关闭"自动刷新"?

    谢谢、此致、

    弗兰克

    CCS 帮助:

    强制刷新所有 IDE 窗口

    格式

    GEL_RefreshWindows();

    参数

    说明

    此函数使"Disassembly"窗口、"Mixed Mode"窗口、"Register"窗口、"Memory"窗口和"Watch"窗口使用目标上的内容刷新其内容。 如果目标存储器在目标暂停时发生更改、例如由于 DMA 传输而发生更改、这将非常有用。

    同步

    从 GEL 同步:否

    完全同步:否

    示例

    GEL_RefreshWindows

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

    弗兰克

    我们从终端为器件设置的 GEL 不使用该 GEL 函数。 您在各个窗口(内存浏览器、分解等)上关闭了 Autorefresh。 下面的圆圈按钮是您应该在每个窗口上选择的按钮、用于关闭和打开特定窗口。

    我认为这不是 GEL 问题、但您也可以尝试在没有 GEL 的情况下进行连接。 打开目标配置文件、转到"Advanced"选项卡、选择 C28xx_CPU1、然后删除"初始化脚本"的路径。 保存并重新连接。

    此致

    Chris

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

    尊敬的 Chris:

    Memory Browser 窗口中的"Continuously refresh"按钮按预期工作。 但"Disassembly"窗口中没有此类按钮...

    同时我找到了一种方法:如果我使用_mdebugstop();语句来停止 CLA、则窗口运行正常。 现在、我可以在 CCS 不使用任何"随机"刷新的情况下检查生成的代码(和单步执行)。 (我还尝试读取生成的.asm 文件、但这些文件是由机器读取的。)

    连接 CLA 时的行为与仅连接 CPU 时的行为不同:在这里、即使 CPU 正在运行、"Disassembly"窗口也是静态的。 可能是 CCS 开发人员想要在下一个版本中检查和查看此内容...

    谢谢、此致、

    弗兰克

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

    好的,你找到了一种解决办法! 是的、我将记下您观察到的情况。

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

    如果反汇编窗口可以正常工作而不将__mdebugstop()放入代码中,重新编译并重新加载它,并且-最困难的是-不要忘记再次删除它。

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

    是的、当然可以。 遗憾的是、我们从一开始就没有观察到这种行为 您看到它非常奇怪。

    此致
    Chris