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.

[参考译文] AM62A7:如果 MCU 使用主 GPIO,并打开 GPIO IRQ,那么 A53 Linux 可以使用主 GPIO IRQ?

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

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/1299976/am62a7-if-mcu-use-main-gpio-and-open-gpio-irq-then-a53-linux-can-use-main-gpio-irq

器件型号:AM62A7

您好  

如果 MCU 使用 MAIN_GPIO0_1并 使用  MAIN_GPIO0_1 IRQ、那么 A53 Linux 可以使用 MAIN_GPIO0_3 IRQ?

关于这个问题:

在 tda4中、我们发现当 MCU2_0使用 WAKE_GPIO IRQ 时、我们在 Linux 中探测 WAKE_GPIO 失败。

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

    您好!

    如果 MCU 使用 MAIN_GPIO0_1并 使用  MAIN_GPIO0_1 IRQ、那么 A53 Linux 可以使用 MAIN_GPIO0_3 IRQ?

    [/报价]

    不可以、同一个 GPIO 模块不能在 Linux 和其他操作系统之间共享。

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

    如果 MCU 只使用   MAIN_GPIO0_1输出1或0、没有 IRQ、 那么 A53 Linux 可以使用 MAIN_GPIO0_3 IRQ ?

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

    您好!

    否。

    MAIN_GPIO0_1和 MAIN_GPIO0_3由同一组寄存器控制。 MCU 和 A53访问同一寄存器来同时控制 GPIO0_1和 GPIO0_3会导致出现竞态条件。

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

    例如、  寄存器 A 位1中的 MAIN_GPIO0_1、寄存器 A 位3中的 MAIN_GPIO0_3;

    MCU 将 A 读取到 MCU_tmp

    A53 将 A 读取到 A53_tmp

    MCU 修改 MCU_tmp 中的位1并向  

    A53修改 A53_tmp 中的位3并向  

    那么 MCU 的 A 设置将被 A53覆盖。

    如果我们能 避开这个场景,是可以的?

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

    是的、这种情形就是我所说的竞态条件。 我不知道如何避免这种情况。 A53和 MCU 内核之间没有寄存器访问同步。