您好
如果 MCU 使用 MAIN_GPIO0_1并 使用 MAIN_GPIO0_1 IRQ、那么 A53 Linux 可以使用 MAIN_GPIO0_3 IRQ?
关于这个问题:
在 tda4中、我们发现当 MCU2_0使用 WAKE_GPIO IRQ 时、我们在 Linux 中探测 WAKE_GPIO 失败。
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.
您好
如果 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 内核之间没有寄存器访问同步。