In my project,I config the EDMA synchronous event is the CSL_EDMA3_CHA_GPINT10,and my Code for GPIO PIN10 like this:
/* Initialize the GPIO CSL module */
status = CSL_gpioInit(&pContext);
if (status != CSL_SOK) {
printf("GPIO: Initialization error.\n");
return;
}
/* Open the CSL module */
hGpio = CSL_gpioOpen(&gpioObj, CSL_GPIO, NULL, &status);
if ((hGpio == NULL) || (status != CSL_SOK)) {
printf("GPIO: Error opening the instance.\n");
return;
}
/* Setup hardware parameters */
hwSetup.extendSetup = NULL;
/* Setup the General Purpose IO */
status = CSL_gpioHwSetup(hGpio, &hwSetup);
/* Configure pin 10 to generate an interrupt on Rising Edge, and
* configure it as an input
*/
config.pinNum = CSL_GPIO_PIN10;
config.trigger = CSL_GPIO_TRIG_RISING_EDGE;
config.direction = CSL_GPIO_DIR_INPUT;
/* configure the gpio pin 10 */
status = CSL_gpioHwControl(hGpio, CSL_GPIO_CMD_CONFIG_BIT, &config);
if (status != CSL_SOK) {
printf("GPIO: GPIO pin configuration error.\n");
return;
}
/* Event Enable */
HWI_eventMap(C64_INT11, CSL_INTC_EVENTID_GPINT10);
C64_enableIER(C64_EINT11);
/* Enable the bank interrupt */
status = CSL_gpioHwControl(hGpio, CSL_GPIO_CMD_BANK_INT_ENABLE, NULL);
Also,I use the FPGA to generate one rising edge interrupt in the GPIOPIN10.
While debugging my project ,I find that I can run into the ISR function of the HWI_11,
but there is no event appear in the ER/ERH register(I have enabled the event );
besides, if I mannually trigger the EDMA,the EDMA can work well.
if anybody has the same problem, thank you for your reply!