您好!
在 Beagle Bone Black 上使用 BareMetal CPSW 以太网驱动程序时、我提到了一些奇怪的行为。
所述的情形通过 ping 泛洪和小数据包大小重现、从而产生大量的 CPSW 中断
实际上、该模式 如下所示:
1、一些代码将 OMAP INTC 中的 INTC_IRQ_THRESHOLD 设置为24
2. CPSW RX 中断正在到达(IRQ #41)
3.在 CPSW IRQ 处理程序中,我转储中断控制器寄存器,请参阅以下内容:
INTC_SIR_IRQ: 0x29
INTC_IRQ_PRIORITY: 0x2C
INTC_IRQ_THRESHOLD:0x18
INTC_ILR 40: 0x0
INTC_ILR 41: 0xb0
INTC_ILR 42: 0xb0
INTC_ILR 43: 0x0
这意味着 IRQ 41已到达(0x29)、它在优先级为44 (0x2C)时具有优先级
阈值为24 (0x18)。 根据参考手册6.1.1.4 0x0是最高优先级、
而0x7F 是最低的。 如果是、我无法清楚地理解:我们怎么能得到
IRQ 优先级为44、而阈值设置为24? 对此有任何建议吗?
我是否错过了什么?
谢谢你。