完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
|
大家好:
硬件平台为arty a7,我们给E203添加了一个以太网外设,按照顺序把中断源设置为53号,可是发现外设的确产生了中断信号(边沿),可是plic模块的plic_ext_irq并没有被拉高。 担心是由于添加中断的时候plic模块的修改有问题,我们直接把52号中断(IIC),接到了以太网外设的中断信号上,发现plic模块的plic_ext_irq还是没有被拉高。 我们在对应的c程序中读了一下发现,虽然我们调用了中断使能函数,可是读回来的plic对应中断源的中断使能寄存器还是0。不知道是为什么?有人遇到同样的问题吗,PLIC中断源使能无效。 我们最后把button 2对应的中断接口连到了以太网外设上(39号),发现这次就可以使能中断源了?真的好奇怪,现在在阅读plic_man的源码,希望能发现原因吧。最后版本的C和verilog代码。 // platform.h#define PLIC_INT_EMAC_BASE 39 // TODO: add plic_int_emac_base#define PLIC_NUM_INTERRUPTS 54 // TODO: change 52 to 54// main.cvoid register_plic_irqs (){ /************************************************************************** * Set up the PLIC * *************************************************************************/ PLIC_init( g_plic, PLIC_CTRL_ADDR, PLIC_NUM_INTERRUPTS, PLIC_NUM_PRIORItiES); for (int ii = 0; ii < PLIC_NUM_INTERRUPTS; ii ++){ g_ext_interrupt_handlers[ii] = no_interrupt_handler; } g_ext_interrupt_handlers[PLIC_INT_EMAC_BASE] = emac_re_handler; g_ext_interrupt_handlers[PLIC_INT_DEVICE_BUTTON_1] = button_1_handler; PLIC_enable_interrupt ( g_plic, PLIC_INT_EMAC_BASE); PLIC_enable_interrupt ( g_plic, PLIC_INT_DEVICE_BUTTON_1); PLIC_set_priority( g_plic, PLIC_INT_EMAC_BASE, 1); PLIC_set_priority( g_plic, PLIC_INT_DEVICE_BUTTON_1, 1);} // e203_subsys_plic.vwire plic_irq_i_38 = ip2intc_irpt; |
|
相关推荐
1个回答
|
|
|
针对您在添加中断源时遇到的PLIC中断使能问题,以下是系统的解决方案和排查步骤: 1. 核心问题定位
2. 硬件连接排查(1) 中断信号连接在SoC顶层模块(如
(2) 中断触发方式
3. 软件配置纠正(1) 中断使能寄存器地址PLIC上下文偏移计算(以HART 0 M模式为例):
(2) 优先级与阈值设置(3) 全局中断使能在startup代码中开启全局中断: 4. PLIC内部信号检查在PLIC RTL中(
5. 软件处理流程(1) 中断服务例程(ISR)(2) 清除外设中断6. 验证步骤
通过以上步骤,重点排查地址计算错误、电平转换缺失及上下文偏移问题,即可解决中断无法使能的问题。实际开发中建议结合仿真波形(如VCS/Icarus)和硬件调试器(如JTAG)进行联合验证。 |
|
|
|
|
你正在撰写答案
如果你是对答案或其他答案精选点评或询问,请使用“评论”功能。
【作品合集】玄铁BPI-CanMV-K230D-Zero开发板测评
3030 浏览 0 评论
【作品合集】玄铁Banana Pi BPI-RV2开发板测评
1679 浏览 0 评论
27298 浏览 0 评论
【作品合集】矽速科技Sipeed MaixCAM Pro开发板测评
33636 浏览 0 评论
【作品合集】赛昉科技VisionFive 2单板计算机开发板测评
36189 浏览 0 评论
/9
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2025-12-1 10:38 , Processed in 0.466913 second(s), Total 40, Slave 33 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191

淘帖
462