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/TMS320F28027:实时调试问题

Guru**** 2544130 points


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

https://e2e.ti.com/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/626659/ccs-tms320f28027-real-time-debug-issue

器件型号:TMS320F28027

工具/软件:Code Composer Studio

大家好、我正在使用 F28027 Launchpad 和 CCS7.2在 CCS5 (C2000)技术讲座的指导下进行有关实时调试的一些测试。 (CCS7专题讨论会对实时调试没有任何了解)。

在培训材料中、可以看到、通过启用实时调试模式、我们可以在处理器运行时访问存储器和寄存器。 传统调试 要求处理器完全停止以访问存储器和寄存器。  

但是、即使在传统调试中、我也可以在处理器运行时访问存储器和寄存器。 我这么说是因为当我运行代码时、当我启用寄存器窗口的持续刷新时、寄存器的值会改变。 当我在传统调试模式下运行代码时、内存浏览器中的变量也是如此。

我正在使用 F2802x 示例项目文件夹中的 Example_2802xEPwmRealTimeInt 项目、变量 EPwm1TimerIntCount 和寄存器 EPwm1Regs.TBCTR 以相同的方式进行更改、无论在传统调试模式还是实时调试模式下都是如此。

在 SPRU430F 中可以看到:在实时仿真模式中、如果 DBGM = 1、CPU 将忽略 HALT 请求或硬件断点、直到 DBGM 被清除。 DBGM 不会阻止 CPU 在软件断点处停止

但是、当我在实时调试模式下的中断中插入软件断点时、CCS 会要求我切换到粗鲁的实时调试模式。 只有进入粗鲁的实时调试模式、代码才能在我插入中断的断点处停止。

在  SPRU430F 中可以看到:在实时仿真模式中、如果 DBGM = 1、CPU 将忽略 HALT 请求或硬件断点、直到 DBGM 被清除。 DBGM 不会阻止 CPU 在软件断点处停止。

暂停请求可以单击工具栏中的暂停图标、对吧? 那么、Halt 意味着与使用 CCS 进行调试时的暂停相同、对吧?

4.无论 代码是否被暂停、我都不能通过在实时调试模式中修改寄存器窗口中的 DBGM 值来更改 ST1寄存器中的 DBGM 值。 因此、我只能通过在代码中添加代码 lilke "asm (" SETC DBGM")来更改它的值、对吧? 通过添加此类代码、我可以使部分程序代码时间关键、而不会被调试器停止、对吧?

提前感谢。

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

    您观看过此视频吗? 我认为这可能有助于澄清您在实时中断中看到的情况。
    training.ti.com/c2000-real-time-features

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

    感谢您的回复、我可以准确地完成视频所做的工作。 实际上、我在做了相同的实验之后提出了问题。 它没有回答我的问题。