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.

[参考译文] AM6442:AM6442:A 内核和 R 内核之间的 GPIO 问题

Guru**** 2873830 points

Other Parts Discussed in Thread: AM6442

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

https://e2e.ti.com/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/1629138/am6442-am6442-gpio-issues-between-the-a-core-and-r-core

器件型号: AM6442

我目前在裸机模式下运行 4 个 R5 内核、在上运行 2 个带 Linux 的 A53 内核 AM6442

GPIO 分配如下:

  • A 内核 (Linux):
    • GPIO0_42(组 2、中断路由器输出 0–11)
  • R 内核(裸机):
    • GPIO0_7(组 0、中断路由器输出 12)
    • GPIO0_8(组 0、中断路由器输出 13)
    • GPIO0_9(组 0、中断路由器输出 14)
    • GPIO0_10(组 0、中断路由器输出 15)

所有 GPIO 均配置为 具有上升沿中断触发的输入


问题描述

当 A 内核 (Linux) 运行时:

  • R 内核上的 GPIO 中断 间歇性丢失

当我将 A 内核暂停在调试模式时:

  • 所有 4 个 R 内核上的 GPIO 中断变为 稳定(无损耗)

它的格式

  • A 内核和 R 内核使用的 GPIO 组为 分离
    • A 内核→组 2
    • R CORES→组 0
  • R 内核使用的信号 每引脚 GPIO 中断 (不仅仅是银行级轮询)
  • 以下是 R 内核(已连接)上的 GPIO ISR 实现

问题

此配置是否有任何问题?

即使 GPIO 组是分开的、A 内核 (Linux) 似乎仍然影响 R 内核上的 GPIO 中断行为。 我想了解:

  • 是否有可能导致这种干扰的共享资源(例如中断路由器,GPIO 模块或中断状态寄存器)
  • 或者 Linux 可能会重新配置或清除影响 R 内核中断的 GPIO 相关寄存器

image.png