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/RM57L843:在一个中断事件后双调用中断处理程序

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

https://e2e.ti.com/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/778977/ccs-rm57l843-double-call-of-an-interrupt-handler-after-one-interrupt-event

器件型号:RM57L843
主题中讨论的其他器件:TMDXRM57LHDK

工具/软件:Code Composer Studio

您好!

在处理程序开始时复位中断源后、我收到了中断处理程序的双精度调用。
e2e.ti.com/.../4024.Double-TO-interrupts-call.xlsxThere是中断源复位和中断返回之间的21个 CPU 周期。

问题出在哪里?

您将在附加的文件中找到跟踪。

我该怎么做?

感谢你的帮助

Jerome

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

    很抱歉、我没有得到您的问题的要点。 您的问题是双调用还是21个周期来退出 ISR?
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好、Wang、

    非常感谢您的回复。

    对不起,因为我的问题不清楚。

    我编写了一个超时处理程序、其中包含以下操作:

    1 -     复位中断源

    2-     计算中断(11个 CPU 周期)

    3-     返回主程序

    但是、中断不会返回主程序、而是会再次启动、就像中断原因未被清除一样。 如果计算时间超过大约40个 CPU 周期、则没有问题。

    我想知道是否可以在不重复调用的情况下编写一个简短的中断处理程序(11个 CPU 周期)。

    希望能更清楚一点。

    感谢你的帮助

    Jerome

     

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    抱歉、这是21个 CPU 周期、而不是11个 CPU 周期。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    谢谢 Jerome

    清除中断标志(向标志寄存器写入1)所花费的时间似乎超过21个周期。 外设(正常、器件或严格排序)使用哪种存储器类型(MPU)?
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好、Wang、

    感谢您的快速回复。

    我在3个德州仪器开发板上工作:

    RM48 USB 记忆棒开发套件(Cortex-R4F)

    LaunchPad RM57LX

    TMDXRM57LHDK 开发板  

    我假设用于外设的存储器类型(MPU)是正确的器件。

    使用 RM48 USB 记忆棒开发套件、我不需要在处理程序中断中添加任何延迟。

    借助 TMDXRM57LHDK 开发板、在深入分析之后、我需要添加35个 CPU 周期以避免重复。

    借助 T Launchpad RM57LX 开发板,我需要增加大约45个 CPU 周期以避免重复是不同的。

    我必须添加一个时间参数、以使该软件可用于3种产品。 不是很好?

    感谢你的帮助

    Jerome

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

    当 CPU 写入寄存器时、从指令执行到写入实际写入寄存器会有一些延迟。 通常、这大约是20个 GCLK 周期。

    您能否添加一个虚拟读取状态寄存器以避免重复?
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好、Wang、

    是的、只读状态寄存器就足以解决问题。

    非常感谢您的帮助。

    Jerome