工具/软件:
背景简介:
DSP 内核将 SPI 集成到 W5500 芯片、并为 SPI 启用了 DMA 功能。 W5500 中断丢失的可能性较低。 仪器可以检测到 W5500 的中断引脚已被拉低、但未生成中断。
启用 w5500 中断:
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.
工具/软件:
背景简介:
DSP 内核将 SPI 集成到 W5500 芯片、并为 SPI 启用了 DMA 功能。 W5500 中断丢失的可能性较低。 仪器可以检测到 W5500 的中断引脚已被拉低、但未生成中断。
启用 w5500 中断:
你好、Lin
该引脚是配置为边沿触发器还是电压电平触发器?
请将此引脚设置为 1、然后检查相关寄存器以查看寄存器是否已设置?
此致
Semon
[ 2384.708][t=0x000001a0:6cdec798] xdc.runtime.Main:++++++++++++++++++++++ Scott cpu_load:56-----
[ 2384.708][t=0x000001a0:6ce3791c] xdc.runtime.Main: Scott Get GPIO 值:1、getSn_IMR = 31、getSn_IR = 4、getSIMR = 1、getSIR = 1、getIMR = 0、getIR = 0
[2384.708]
[ 2385.208][t=0x000001a0:8338cbfc] xdc.runtime.Main:++++++++++++++++++++ Scott cpu_load:31------
[ 2385.208][t=0x000001a0:833d7dcb] xdc.runtime.Main: Scott Get GPIO 值:0、getSn_IMR = 31、getSn_IR = 4、getSIMR = 1、getSIR = 1、getIMR = 0、getIR = 0
[2385.208]
“获取 GPIO 值:0“
这意味着 GPIO 值最终处于低电平 和 已触发硬件中断;
“getSIR = 1“
这意味着 w5500 中断寄存器被 触发;
每 3ms 触发一次中断。
错过中断的时间是不规则的、有时发生在几分钟后、有时发生在几十分钟后。
你好、Lin
请检查是否在其他内核上也启用了 GPIO0 中断、或者除了 DSP1 之外没有启用该中断、例如 A15、如果是、则需要删除其他内核
在某些情况下、两个内核都会处理 GPIO 中断并导致 DPS1 中断丢失
(+) AM5728:中断缺失 — 处理器论坛-处理器 — TI E2E 支持论坛
此致
Semon
如何在 A15;中删除此中断
由于 W5500 驱动程序已从内核 A 中删除、并且 GPIO 中断不再注册。

在删除 w5500 器件驱动程序之前、GPIO 信息:
root@SunGrow:~# cat /sys/kernel/debug/gpio
gpiochip0:GPIO 0-31、父级:platform/4ae10000.GPIO、GPIO-0-31:
GPIO-5(|PHY 复位)输出高电平
gpio-7 (|sysfs )
GPIO-8 (|sysfs)
gpio-11 (|sysfs)
GPIO-31 (|w5500_int ) 在高 IRQ 中
卸下 w5500:后
root@SunGrow:/sys/bus/platform/drivers/omap-rproc、cat /sys/kernel/debug/gpio
gpiochip0:GPIO 0-31、父级:platform/4ae10000.GPIO、GPIO-0-31:
GPIO-5(|PHY 复位)输出高电平
gpio-7 (|sysfs )
GPIO-8 (|sysfs)
gpio-11 (|sysfs)
w5500_int 已删除。
在删除 w5500 器件驱动程序之前、GPIO 信息:
root@SunGrow:~# cat /sys/kernel/debug/gpio
gpiochip0:GPIO 0-31、父级:platform/4ae10000.GPIO、GPIO-0-31:
GPIO-5(|PHY 复位)输出高电平
gpio-7 (|sysfs )
GPIO-8 (|sysfs)
gpio-11 (|sysfs)
GPIO-31 (|w5500_int ) 在高 IRQ 中
卸下 w5500:后
root@SunGrow:/sys/bus/platform/drivers/omap-rproc、cat /sys/kernel/debug/gpio
gpiochip0:GPIO 0-31、父级:platform/4ae10000.GPIO、GPIO-0-31:
GPIO-5(|PHY 复位)输出高电平
gpio-7 (|sysfs )
GPIO-8 (|sysfs)
gpio-11 (|sysfs)
w5500_int 已删除。
[/报价]您好 Lin
最好在 Linux 中禁用 GPIO1 模块以生成中断、如下所示:
GPIO1:GPIO@4ae10000{
兼容=“ti、OMAP4-GPIO“;
reg =<0x4ae10000 0x200>;
/*interrupts = ;*/
TI、hmods =“GPIO1";“;
GPIO 控制器;
#GPIO-cells =<2>;
/*Interrupt-controller;*/
#interrupt-cells =<2>;
};
----------------------------
此链接有更好的说明:
(+) RTOS/AM5728:GPIO 中断响应缓慢 — 处理器论坛-处理器 — TI E2E 支持论坛
此致
Semon
您好 Lin
最好在 Linux 中禁用 GPIO1 模块以生成中断、如下所示:
GPIO1:GPIO@4ae10000{
兼容=“ti、OMAP4-GPIO“;
reg =<0x4ae10000 0x200>;
/*interrupts = ;*/
TI、hmods =“GPIO1";“;
GPIO 控制器;
#GPIO-cells =<2>;
/*Interrupt-controller;*/
#interrupt-cells =<2>;
};
----------------------------
此链接有更好的说明:
(+) RTOS/AM5728:GPIO 中断响应缓慢 — 处理器论坛-处理器 — TI E2E 支持论坛
[/报价]由于客户确认上述更改可以解决此问题、因此请关闭此案例
此致
Semon
您好 Lin
请尝试此补丁、以便禁用 GPIO1 中断
--------------------------------
e2e.ti.com/.../gpio_2D00_intr_2D00_diff.patch
DTS:
GPIO1:GPIO@4ae10000{
兼容=“ti、OMAP4-GPIO“;
reg =<0x4ae10000 0x200>;
中断= ;
TI、hmods =“GPIO1";“;
GPIO 控制器;
#GPIO-cells =<2>;
中断控制器;
#interrupt-cells =<2>;
中断不使用;//添加此项
};