工具/软件: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")来更改它的值、对吧? 通过添加此类代码、我可以使部分程序代码时间关键、而不会被调试器停止、对吧?
提前感谢。