fiq卡在 XScuGic_InterruptHandler这个函数,显示中断id是1023。
我先跑了一遍irq,能过。 然后改block design为fiq,改ps的中断号为28, exception int为6。 然后就出现上述问题。
调用了以下配置,用了id 28的fiq跟 axi_gpio做中断触发
① XGpio_Initialize
②XScuGic_LookupConfig
③XScuGic_CfgInitialize
④Xil_ExceptionInit
⑤Xil_ExceptionRegisterHandler(XIL_EXCEPTION_ID_FIQ_INT,(Xil_ExceptionHandler)INTC_HANDLER, IntcInstancePtr);
⑥Xil_ExceptionEnableMask(XREG_CPSR_FIQ_ENABLE);
⑦XScuGic_SetPriorityTriggerType(IntcInstancePtr, IntrId,0x10, 0x3);
⑧XScuGic_Connect
⑨XGpio_SetDataDirection
⑩XGpio_InterruptEnable(AXI_Gpio, IntrMask);
(11)XGpio_InterruptGlobalEnable(AXI_Gpio);
(12)XScuGic_Enable(IntcInstancePtr, IntrId);
就是fiq卡在 XScuGic_InterruptHandler ,显示中断id是1023。
①参考了官方有个ar59842,但是仍然不行。从打印看,ps收到了中断,但是没有获得正确的中断号,没有调用关联的函数。
②怀疑可能漏掉配置或者配置不对
③怀疑是fiq有专用的配置函数
fiq正常运行,可以调用关联的函数