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.

[参考译文] TMS320F28384D:如果在代码运行期间设置断点、则断点不起作用

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

https://e2e.ti.com/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/1444481/tms320f28384d-breakpoint-does-not-work-if-setting-it-during-code-running

器件型号:TMS320F28384D

工具与软件:

hi champs、

我是为我们的客户提出这个问题。

用户使用 CCS 12.6 + TI XDS110独立 JTAG +用户电路板。

像这种代码、

int var1 = 0;

main ()

...

while ()

...

VAR1++;

...

}

用户会发现、如果先在"var1++"行设置了硬件断点、然后运行代码、那么代码将按预期工作。

但是、如果用户先运行代码、然后在代码运行时在"var1++"行上设置一个硬件断点、则该代码不会在该断点处停止。 用户确认 行"var1++"持续从观察窗口进行累加。

因此、如果用户在代码运行期间设置了硬件断点、那么为什么硬件断点看起来不起作用、用户会感到困惑。

请注意、代码运行在闪存而非 RAM 上。  

所有测试在闪存上完成。

你有什么评论吗?

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

    韦恩、您好!

    如果按 PAUSE 键、调用堆栈上会出现什么? 它们是否能够在 while 循环的开头按下硬件断点? 它停止了吗?

    此致!

    Ryan Ma

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

    您好、Ryan、

    用户可以在运行代码之前、在 while 循环的开头设置一个硬件断点、然后运行到断点。 你是指这个吗? 或者请您更清楚一点吗?

    但用户不能先运行代码、然后在代码运行时在 while 循环的开头或 while 循环中的任何位置设置断点。

    CCS 程序进入调试视图在 main ()的开头停止->在 while 循环内设置一个断点->在断点处运行并停止(断点工作)->在 while 循环内再次恢复运行并在同一  断点处停止(断点工作)->禁用断点->恢复运行 while 循环内的代码->设置一个断点(完成设置断点)->不在断点处停止

    以上都是硬件断点。

    您还有其他评论吗?

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

    韦恩、您好!

    我无法在使用 CCS12.8.1的终端上重现此问题。 您能否确保未在"Breakpoints"选项卡视图中按下该按钮? 这将跳过已设置的任何断点。 错过的断点是突出显示蓝色还是灰色?

    您可以依次转到"View"->"Breakpoints"

    此致!

    Ryan Ma

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

    您好、Ryan、

    好的、我看到了。 我先把它关闭。

    用户的同事似乎也无法再现这种情况。

    我们将要求用户首先升级 CCS、然后查看是否可以解决这个问题。

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

    韦恩、您好!

    好的、听起来不错!

    此致!

    Ryan Ma