工具与软件:
我已经将 GPIO 引脚7设置为用作中断输入引脚。 配置看起来正确、它能够检测中断。 然而、当中断发生时、不会触发中断服务例程(ISR)。
我已将配置设置为下降沿、上升沿、高电平和低电平。 在低级模式下、由于连续调用中断服务例程(ISR)、Linux 无法加载。 相比之下、在其他模式下、Linux 会成功加载、并能够识别中断是 proc/interrupts 中的边沿还是级别。 但是、ISR 在发生中断时不会触发。 每次生成中断时、上图中的"Err"计数都会增加。
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.
工具与软件:
我已经将 GPIO 引脚7设置为用作中断输入引脚。 配置看起来正确、它能够检测中断。 然而、当中断发生时、不会触发中断服务例程(ISR)。
我已将配置设置为下降沿、上升沿、高电平和低电平。 在低级模式下、由于连续调用中断服务例程(ISR)、Linux 无法加载。 相比之下、在其他模式下、Linux 会成功加载、并能够识别中断是 proc/interrupts 中的边沿还是级别。 但是、ISR 在发生中断时不会触发。 每次生成中断时、上图中的"Err"计数都会增加。
您好!
简而言之、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