大家好,
我在 CPU2中设置一个中断内的断点、在另一个中断内设置另一个断点。 第一个断点暂停程序、因此正常、但第二个断点不暂停程序。 这两个断点属于同一文件的不同中断。 两个都在 CPU2上
CPU1中遵循的相同步骤不会出现任何问题。
我认为它与代码操作无关、因为使用 CCS10时、它有时会进入、而不使用 CCS7进入。
此问题仅在调试模式下出现。
我还尝试 在不同的代码行中设置断点,但无法解决 CPU2 问题
我可以通过测试/执行哪些操作 来解决此问题?
谢谢你
BR 
卡洛 
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.
大家好,
我在 CPU2中设置一个中断内的断点、在另一个中断内设置另一个断点。 第一个断点暂停程序、因此正常、但第二个断点不暂停程序。 这两个断点属于同一文件的不同中断。 两个都在 CPU2上
CPU1中遵循的相同步骤不会出现任何问题。
我认为它与代码操作无关、因为使用 CCS10时、它有时会进入、而不使用 CCS7进入。
此问题仅在调试模式下出现。
我还尝试 在不同的代码行中设置断点,但无法解决 CPU2 问题
我可以通过测试/执行哪些操作 来解决此问题?
谢谢你
BR 
卡洛 
卡洛、
让我看看我是否理解正确。
CPU2上有2个中断。 将断点正确放置在一个暂停位置。 在第二个断点内放置一个断点不会停止。 在两种情况下、它都会停止。
您能否确认第二个中断(断点未停止)实际上正在被处理? 即、如果您在其中放置一个 while (1)循环、然后停止它卡在循环中。 即、这是 CCS 未正确设置断点的问题、还是在这种情况下不会发生中断。
检查两个内核上是否使用了相同代码的另一个因素是确保在正确的上下文中设置断点。 如果调试多核器件、我要设置断点视图、以按"调试上下文"对断点进行分组。 这可以通过单击断点视图中的3个虚拟点并选择 Group By -> debug context 来完成。

此致、
John
您好、Carlo、
[引用 userid="6487" URL"~/support/microcontrollers/c2000/f/c2000-microcontrollers-forum/994438/tms320f28374d-issues-in-breakpoints-on-cpu2 ]我认为它与代码操作无关、因为使用 CCS10时有时会输入、而不使用 CCS7输入。您提到它有时可以与 CCS10配合使用。 我认为这意味着它仍将定期失败。 对吧? 并且它始终无法与 CCS7搭配使用?
如果客户可以提供小型、可重现的测试案例、这将非常有帮助。 该示例应该是通用且基本的、足以支持各种目标(我有一个28377d controlCARD 可供使用)。
谢谢
Ki
嗯、当使用调试器时、可能导致该情况的一个原因是暂停。 例如、如果代码中有 printf 语句会导致临时停止。 当到达该语句时、内核将停止、数据被传输到主机、然后内核再次运行。 如果您的中断是在内核停止期间触发的、则不会为其提供服务。
在 F28x 上、即使在暂停时、也可以启用称为实时模式的功能并为关键中断提供服务。
在 CCS 中、您可以在此处的项目设置中启用实时模式:

您还可以在活动的调试会话中打开此功能、方法是单击下面左侧的按钮:

有关这方面的更多信息、请访问以下链接:
https://software-dl.ti.com/ccs/esd/documents/users_guide/ccs_debug-main.html#real-time-mode
此致、
John
尊敬的 John:
我执行了您建议的步骤以及链接、
我遵循的建议之一是: 我在两个内核上刷写了代码,然后按1) Debug configurations->program->load symbols only,2) target->Autorun and launch options-- >启用实时模式(关键中断...)、 但在所有情况下都无法加载程序、并显示所附图片中的错误。
此外、代码中没有任何 printf 语句。
BR、
Vidhi
您好、Vidhi、
[引用 userid="6487" URL"~/support/microcontrollers/c2000/f/c2000-microcontrollers-forum/994438/tms320f28374d-issues-in-breakpoints-on-cpu2命令]CPU2中一个中断内部的断点和另一个中断内部的另一个断点。 第一个断点暂停程序、因此正常、但第二个断点不暂停程序在使用多个中断时需要记住的一个事项:如果一个中断 ISR 正在执行、则在此期间不会执行任何其他中断。 一个 ISR 中断另一个 ISR 的唯一方法是使用嵌套中断。 有关更多信息、请参阅嵌套中断的以下主题: https://software-dl.ti.com/C2000/docs/c28x_interrupt_nesting/html/index.html
确保在第一个中断完全执行完毕后发生第二个中断。
此致、
Vince