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.

[参考译文] AM62A3:两个或更多个中断可以同时使 AM62Ax 在从睡眠状态唤醒时卡住

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

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/1521518/am62a3-can-two-or-more-interupt-simultaneously-make-am62ax-stuck-while-waking-up-form-sleep

器件型号:AM62A3
主题中讨论的其他器件:AM62A7

工具/软件:

您好 TI、

我们使用 AM62A3 处理器、该处理器大部分时间都处于深度睡眠模式、旨在仅在接收到外部中断时唤醒。 但是、我们会遇到一些问题、即在进入或退出深度睡眠模式期间、AM62A3(在某些情况下为 AM62A7)会卡住或重新启动。 (我们也对其进行了测试)

我们MCU_GPIO0_12将用作唤醒中断源。

我们的问题是:
同时发生的一个或多个中断能否导致 AM62Ax 处理器在进入或退出深度睡眠模式时卡住或重启、我们如何解决该问题?



此致、
Abhineet Ranjan

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

    此外
    在进入睡眠模式时、我们可以屏蔽“MCU_GPIO0_12"(“(不(不接收任何输入/触发器)、而在睡眠模式下、它将被取消屏蔽。
    是否可以在深度睡眠模式或任何其他低功耗模式下使用。

    此致
    Abhineet Ranjan

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

    尊敬的 Abhineet:

    有时 我 遇到 AM62A3/AM62A7 卡住和重新启动的问题。

    请提供 Linux 内核日志。

    两个或更多中断能否同时使 AM62Ax 在从睡眠状态唤醒时卡住。  [/报价]

    您是询问两个不同的中断源还是同一个中断源两次?

    在进入睡眠状态时、我们可以使“MCU_GPIO0_12"被“被屏蔽(不接收任何输入/触发器)、而在睡眠状态时它将被取消屏蔽。

    对于 PADCONFIG、您可以关闭 RX 位、以便焊盘在运行时不接收任何内容、但在进入睡眠模式之前、可以重新启用该位。

    此致、

    Anshu

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

    当从 ACTIVE 模式转换为 SLEEP 模式时中断(反之亦然)时、会发生问题。

    我需要的是在转换中断期间应该无法使  MCU_GPIO0_12 生效。 转换后、它在 ACTIVE 和 DEEP SLEEP 两种情况下开始正常工作。

    您是询问两个不同的中断源还是同一个中断源两次?

     相同的中断源、可生成多个中断(来自 PIR 传感器)

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

    尊敬的 Anshu:
    我还与 Abhineet 合作、从嵌入式方面回复此问题。

    [引述 userid=“566841" url="“ url="~“~/support/processors-group/processors/f/processors-forum/1521518/am62a3-can-two-or-more-interupt-simultaneously-make-am62ax-stuck-while-waking-up-form-sleep/5849791 #5849791“]

    请提供 Linux 内核日志。

    [/报价]

    [  763.344886] PM: suspend entry (deep)
    [  763.356249] Filesystems sync: 0.007 seconds
    [  763.380608] Freezing user space processes
    [  763.386859] Freezing user space processes completed (elapsed 0.002 seconds)
    [  763.393919] OOM killer disabled.
    [  763.397165] Freezing remaining freezable tasks
    [  763.403008] Freezing remaining freezable tasks completed (elapsed 0.001 seconds)
    

    日志看起来与正常操作相同。 但按下按钮时、电路板不会从睡眠状态恢复。 如果我在此状态下等待大约 2-5 分钟、电路板会从开始自动引导。

    对于 PADCONFIG、您可以关闭 RX 位、以便焊盘在处于活动状态时不会收到任何内容、但在进入睡眠状态之前、您可以重新启用该位。
    [/报价]

    根据当前情况、我们假设多个中断在短时间内发生、导致处理器在睡眠和唤醒期间卡滞(注意:这是一种假设)。 因此、我们需要在睡眠序列开始时屏蔽 PIR 引脚、在睡眠序列结束时取消屏蔽。 同样、一旦我们从引脚接收到第一个唤醒事件、就会在唤醒序列的其余部分屏蔽该事件并取消屏蔽该事件、以便 Linux 用作 GPIO。

    注意:我们有多个唤醒源以及 PIR、例如主 GPIO 按钮按下操作。 此卡滞问题仅通过 PIR 输入来确定。

    SDK 版本:9.2(C7x、禁用 MCU 内核)

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

    尊敬的 Sathiya:

    我们需要查看 Sysfw 日志、因为它很难判断睡眠状态期间发生了什么。  

    请按照以下步骤操作并生成日志: e2e.ti.com/.../faq-processor-sdk-am62x-a-p-how-can-we-debug-deep-sleep-on-am62x-am62a-am62p-using-sysfw-trace

    此致、

    Anshu