我想使用EDMA3搬运数据完成中断来通知DSP处理数据,在参考CIC文档和ti维基百科后,使用Cpintc接口函数在bios中动态创建中断,ccs版本为5.3,xdc版本为3.25.2.70。
使用EDMA3控制器1 通道24,normal模式,使能传送完成中断,region为global_region,将cic0输入事件6映射至36想要让CORE0来处理数据,无法进入中断,将断点打在ISR函数中无法进入断点,且ISR内的操作未执行。EDMA发送数据完成后可以看到edma Pending寄存器中捕获到该中断
在中断函数运行后,未发送数据前,cico寄存器状态如下:0x26000010=0x00000001, 0x2600404=0x00240000,传送完成后 0x2600200、0x2600280、0x2600300、0x2600380的值均为0x00000040,intc寄存器状态如下,0x18000000=0x02000000,0x1800104=0x00020119,0x1800180=0x400e0001。
下面为截图 请问TI工程师这种情况应该如何解决
user6019245:
顶上去
Nancy Wang:
IPR[TCC]是否置位?
user6019245:
回复 Nancy Wang:
是,在trigger之后 IPR相应的位被置为1
Nancy Wang:
回复 user6019245:
GIE/IER都使能了吗?手动置位IFR可以进入中断吗?
user6019245:
回复 Nancy Wang:
cic中的全局中断是使能的,global channel中的IER也是使能的,IFR是指事件标志寄存器吗?手动使能EVTFLAG相应位也无法进入中断
user6019245:
回复 Nancy Wang:
IER读取出来的值为0x000047b3
user6019245:
顶上去