TI E2E™ 设计支持论坛将于 5 月 30 日至 6 月 1 日进行维护。如果您在此期间需要技术支持,请联系 TI 的客户支持中心寻求帮助。

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.

[参考译文] TMS320F2.8027万F:中断例程mainISR()中的断点处于非活动状态

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

https://e2e.ti.com/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/577262/tms320f28027f-breakpoint-inactive-in-interrupt-routine-mainisr

部件号:TMS320F2.8027万F

我遇到了一个奇怪的断点问题:在lab1中,如果我在mainISR()中设置了断点,代码就会停止,但是,如果我在lab2中执行相同的操作,代码就不会在该点停止。 main()函数内的断点 在两个实验中都按预期工作。 在马达运行时,lab2中的代码确实会进入中断例程。 这是正常现象还是我的代码/设置有任何问题?

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您应该能够在ISR内部进行调试。 有时会出现运行时调试集不能正确触发的问题。 我通常会通过在CCS编辑模式下设置它,然后输入调试会话来纠正此错误。 重新切换断点通常可以为我解决此问题。

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

    谢谢Sean,

    如果我评论一下,我就会发现这一点

    #ifdef闪存
    #pragma code_section (mainISR,"ramfuncs");
    #endif

    在任何instaspin项目中的以上行(Lab1没有这些行,但其他行有),调试工作如预期的那样,您是否可以猜测需要注释掉这些行的任何可能原因?

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    我不明白为什么这会有什么不同,因为这些行只告诉编译器从闪存加载时,在RAM中放置mainISR函数的位置。 您是否在启用芯片实时模式的情况下调试代码?

    Sean
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    是的,我正在启用实时模式进行调试。 这种解释有什么作用吗?