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.

[参考译文] MSPM0G3507:查找它暂停的位置...

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

https://e2e.ti.com/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/1385250/mspm0g3507-finding-out-where-it-is-paused

器件型号:MSPM0G3507

工具与软件:

我的步进电机应用偶尔会冻结。 我现在将在调试器下运行调试器、当调试器锁定时尝试按下"暂停"按钮。 它似乎暂停、但没有出现任何源。 仅显示调用堆栈

DL_Common_delayCycles + 0x8 () 0x000031AC

而不指示源代码中我所在的位置。 是否有办法确定 MCU 停止的位置?

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

    如果(通常)回溯不起作用、请查看 Registers 视图:Core Registers -> LR。 在"Disassembly"视图中键入该地址将告诉您调用地址的是谁。 (不要忘记 将低位更改为0。)

    我希望 delayCycles 足够短、以便返回寄存器(lr)受到不干扰。

    [编辑:少量措辞。]

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

    尊敬的 Keith:

    调试 winodw 将显示一些正在运行的顶级代码、也许您可以获取代码位置并执行进一步分析。

    如果未显示任何内容、那么您可以在内核寄存器中检查 PC:它应该会显示正在运行的代码、您可以在 dsirassembly 窗口中检查它。

    此外、LR 可以提供退货地址信息、正如 Bruce 建议的那样。

    B.R.

    SAL

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

    我应该指出的是,我在 Theia。

    我看到了:

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

    谢谢,我在怀疑的地方挂了电话,我必须有某种种族。 如果需要相关帮助、我将打开一个新主题。