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.

[参考译文] AM3359:GPIO 中断无效

Guru**** 2408790 points


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

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/1488722/am3359-gpio-interrupt-is-not-working

器件型号:AM3359

工具与软件:

我已经将 GPIO 引脚7设置为用作中断输入引脚。 配置看起来正确、它能够检测中断。 然而、当中断发生时、不会触发中断服务例程(ISR)。
  

我已将配置设置为下降沿、上升沿、高电平和低电平。 在低级模式下、由于连续调用中断服务例程(ISR)、Linux 无法加载。 相比之下、在其他模式下、Linux 会成功加载、并能够识别中断是 proc/interrupts 中的边沿还是级别。 但是、ISR 在发生中断时不会触发。 每次生成中断时、上图中的"Err"计数都会增加。   

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

    您好!

    • 它是否在 TI EVM/Beagle Bone Black 或定制硬件上经过测试?
    • 如果已在定制硬件上测试了该功能、您是否已尝试在 TI EVM 上复制该功能?
    • 您使用的 Linux SDK 版本是什么?
    • 当 ISR 执行时、预期的结果是什么?

    此致、

    Anshu

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

    您好!

    1. 我们在定制电路板上进行测试。
    2. 我们没有 TI EVM。
    3. Linux 版本:4.19.59。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好!

    简而言之、TI E2E 论坛无法为自定义代码提供直接支持、因为它未经 TI 验证/测试。

    从 GPIO 驱动器级别来看、GPIO 应能够处理电平和边沿更改模式。

    如果没有出现 ISR、那么您的自定义应用程序/驱动程序可能无法捕获 IRQ。 由于 IRQ 编号将在 Linux 引导时分配、请尝试检查驱动程序中是否分配/返回了正确的 IRQ 编号。

    该 AM335x 的 UART 驱动程序具有调用 ISR 的示例: https://git.ti.com/cgit/ti-linux-kernel/ti-linux-kernel/tree/drivers/tty/serial/8250/8250_omap.c?h=ti-linux-6.6.y#n1606

    此致、

    Anshu