我们自己做的6674的板子,具体功能要求为:每20ms用EDMA3从EMIF口搬运数据数据,EDMA3触发事件是GPIO4的上升沿,EDMA3每次搬运完后需要触发HOST中断4,在CIC0中,允许system中断6(EDMA3CC1 GINT),允许host中断4,并且将system中断6通道映射到通道4,并且开全局允许寄存器,GLOBAL_ENABLE_HINT_REG.ENABLE=1, CSR.GIE=1, IER.NMIE=1, IER.IE4=1,在寄存器ISTP设置中断矢量表入口映射地址,调试时发现:
1. 用示波器看到GPIO4每个上升沿可以触发EDMA3搬运数据(通过EMIF的CS和R/W信号,并且搬运数据个数也对);
2.通过CIC0的RAW状态寄存器和状态寄存器都能看到EDMA3CC1 GINT(事件6)相应位是1,说明EDMA3CC1 GINT中断已经产生并且被允许,但是就是在IFR中的中断4标志没有被设置,所以进不了中断服务子程序;
3.为了验证中断矢量表入口地址映射正确:手动在中断设置寄存器ISR中设置中断4,发现就可以进入中断服务子程序,说明中断映射都正确;
4.自我感觉有两种可能:一是SYSTEM中断和host中断没有关联起来,二是设置不正确,
还望高手给予回答,谢谢!!!!!所有初始化没有用CSL,个人感觉6674的CSL说明文件没有c64的PDF帮助文件明了。