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.

[参考译文] TMS320F280039C:CAN&'t 在 CLA 中的断点处停止

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

https://e2e.ti.com/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/1520735/tms320f280039c-can-t-stop-at-breakpoints-in-cla

器件型号:TMS320F280039C

工具/软件:

您好 Champ、

我要找我的客户。

我们知道我们应该使用 编译器内在函数 MDEBUGSTOP 作为 CLA 断点。

但是、 为方便在 CLA 中进行调试、客户倾向于添加软件或硬件断点。

它以任一方式(软件/硬件断点)进行测试、CLA 代码每次都很难在断点处停止。 大多数时候不会在断点处停下来。

该线程中清楚地说明了软件断点可能消失。 我很擅长这方面。

https://e2e.ti.com/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/714009/faq-code-composer-studio---breakpoints-disappear-after-copy-from-flash-to-ram

但是、正如线程所建议的、我们按照 下面的代码片段使用硬件断点。 我们仍然没有看到代码在设置硬件断点的位置停止。

(1)。 专家是否会尽量解释为什么 CLA 代码不会在硬件断点处停止? 在"Breakpoints"窗口中、H/W BP 确实被启用。

线程末尾列出的步骤(GEL 文件的 STH)也是必须执行的吗?  不仅使用硬件断点、

(2)。 我们还发现、并非每行代码都能够在 CLA 中设置断点(硬件/软件)、尤其是不允许配置外设寄存器的行。 但是、 CLA 可以访问外设寄存器。  

例如、第86行和第91行不允许设置断点。 双击要在其中设置断点的行、该断点不存在。  但是、第69行是"Allow"(允许)、存在硬件断点。

我们试图澄清它无法在 CLA 中的任何位置设置硬件断点的原因。 我们在 CPU 调试中不会遇到这样的问题。

专家会尝试解释这一点吗? 客户和我对根本案例很好奇。

谢谢。此致、

Johnny