完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
本帖最后由 一只耳朵怪 于 2018-6-22 10:46 编辑
大家好, 我使用dm3730运行dvsdk, 在c6accel的dsp端增加了通过GPMC读写FPGA的功能,这个已经完成,我想使用sdma,但没调通,改成fpga通过gpio 65向dsp发gpio中断,dsp收到后在ISR里通过信号量控制从GPMC读数。 我的ISR程序应该是正确的,我使用irq14的timer触发,ISR可以工作,使用gpio65由fpga触发中断,isr不运行。 代码如下: static inline void __raw_writel(unsigned int b, int addr) [ *(volatile unsigned int *) addr = b; ] __raw_writel((1<<18) | (1<<24),0x480020d0); //scm Pin muxing mode 4 (gpio 65), inputenable __raw_writel((1<<1),0x49052034); //OE __raw_writel((1<<1),0x4905204C); //falling detect __raw_writel((1<<1),0x4905202C); //gpio module 3 irqenable2 C64_disableIER(1<<6); HWI_eventMap(6, 75); //gpio 65 in GPIO module 3, so event id is 75 HWI_dispatchPlug(6, (Fxn)dspTimerThread, -1, NULL); HWI_enable(); C64_enableIER(1<<6); 读gpio3 data in(0x49052038)这个寄存器的值,会随着我的fpga信号从0和2来回变,证明gpio已经读到数据了,读gpio3 irq status2(0x49052028)这个寄存器,值一直是2,这是对的,证明gpio65已经收到中断信号。 但我的ISR程序没有触发,读intx status(0x01800180) 或者 ic event flag 3(0x01800000 +0x4 * 2),这两个寄存器一直是0,似乎是gpio中断没有送到iva里去?请问我少做了什么工作?为什么不能触发ISR,这个问题已经困扰我好几天了。 |
|
相关推荐
1个回答
|
|
大家好,
我终于找到问题出在哪了,我没设WUGEN的interrupt mask寄存器,导致中断信号被屏蔽了,没有送入IVA系统中去。设置WUGEN_MEVTCLR寄存器,问题解决。 具体语句:__raw_writel((1<<30),0x01c21070); 谢谢大家的关注。 |
|
|
|
只有小组成员才能发言,加入小组>>
336 浏览 1 评论
529 浏览 2 评论
NA555DR VCC最低电压需要在5V供电,为什么用3.3V供电搭了个单稳态触发器也使用正常?
774 浏览 3 评论
MSP430F249TPMR出现高温存储后失效了的情况,怎么解决?
651 浏览 1 评论
对于多级放大电路板,在PCB布局中,电源摆放的位置应该注意什么?
1130 浏览 1 评论
AT32F407在USART2 DMA发送数据时,接包接到了要发送的数据,程序还是处于等待传输完成的标识判断中,为什么?
56浏览 29评论
130浏览 23评论
请问下tpa3220实际测试引脚功能和官方资料不符,哪位大佬可以帮忙解答下
252浏览 20评论
请教下关于TAS5825PEVM评估模块原理图中不太明白的地方,寻求答疑
201浏览 14评论
两个TMP117传感器一个可以正常读取温度值,一个读取的值一直是0,为什么?
57浏览 13评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-12-23 01:51 , Processed in 1.050717 second(s), Total 49, Slave 43 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号