[libcpu][cortex-r52]Fix duplicate interrupt dispatch on RZ/N2L - #11765
[libcpu][cortex-r52]Fix duplicate interrupt dispatch on RZ/N2L#11765CYFS3 wants to merge 1 commit into
Conversation
|
👋 感谢您对 RT-Thread 的贡献!Thank you for your contribution to RT-Thread! 为确保代码符合 RT-Thread 的编码规范,请在你的仓库中执行以下步骤运行代码格式化工作流(如果格式化CI运行失败)。 🛠 操作步骤 | Steps
完成后,提交将自动更新至 如有问题欢迎联系我们,再次感谢您的贡献!💐 |
There was a problem hiding this comment.
Pull request overview
Prevents duplicate interrupt dispatch for Renesas RZ Cortex-R52 platforms.
避免 Renesas RZ Cortex-R52 平台重复分发中断。
Changes:
- Uses only the FSP dispatcher on
SOC_SERIES_R9A07G0. - Aligns IRQ/FIQ masking, spurious handling, and raw ACK usage.
- Removes obsolete commented include.
💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.
| #ifdef SOC_SERIES_R9A07G0 | ||
| bsp_common_interrupt_handler((uint32_t)ir); |
| #ifdef SOC_SERIES_R9A07G0 | ||
| extern fsp_vector_t g_vector_table[BSP_ICU_VECTOR_MAX_ENTRIES]; | ||
|
|
||
| bsp_common_interrupt_handler((uint32_t)ir); |
拉取/合并请求描述:(PR description)
[
为什么提交这份PR (why to submit this PR)
RZ/N2L 使用 FSP 管理中断向量。当前 Cortex-R52 trap 在调用
bsp_common_interrupt_handler()后,又将 GIC INTID 作为 FSP 向量表索引并通过 RT-Threadisr_table再次分发。使能 CANFD 后,UART RX 的 GIC INTID 321 会错误命中g_vector_table[321]的 CANFD TX ISR,导致控制台回车后进入错误中断并触发 data abort。你的解决方案是什么 (what is your solution)
在
SOC_SERIES_R9A07G0下仅调用 FSP 的bsp_common_interrupt_handler(),不再重复更新和调用 RT-Threadisr_table;非 RZ/N2L 路径保持原有分发。同时统一 FIQ 与 IRQ 的 INTID 掩码、伪中断处理和原始 ACK 值。已在bsp/renesas/rzn2l_etherkit单独编译build/kernel/libcpu/arm/cortex-r52/trap.o通过。请提供验证的bsp和config (provide the config and bsp)
]
当前拉取/合并请求的状态 Intent for your PR
必须选择一项 Choose one (Mandatory):
代码质量 Code Quality:
我在这个拉取/合并请求中已经考虑了 As part of this pull request, I've considered the following:
#if 0代码,不包含已经被注释了的代码 All redundant code is removed and cleaned up