This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

Why there is no HWI generated in this ezDSP5535 USB

Hi,

I create a simple ezDSP5535 DSP/BIOS project, but there is no HWI interrupt generated.

Here is the code. I expect the keys (SW1, SW2) can trigger a gpio interrupt, which post a SWI. Then SWI has a LOG_printf output.

I set a breakpoint inside gpioISR, but nothing occurs.

I have used EZDSP5535_GPIO_init() to initialize GPIO. Are there anything I forget?

Thanks,

3036.ezDSP5535_switch_BIOS.zip

Void swiFxn0(Void);
Void task(Arg id_arg); /* Function for tasks created with Config Tool */ 
/** Interrupt Service Routine */
//interrupt void sarISR(void);
void sarISR(void);
void gpioISR(void);
extern void EZDSP5535_GPIO_init();

/*
* ======== main ========
*/
Void main()
{/*
Bool flag = 1;
CSL_SarChSetup param;*/

EZDSP5535_GPIO_init();
HWI_enable();
// SWI_post(&SWI0);
LOG_printf(&trace,"Main done!\n");
}

void gpioISR(void)
{
SWI_post(&SWI0);
;
}

void sarISR(void)
{
;
}

/*
* ======== swiFxn0 ========
*/
Void swiFxn0(Void)
{
LOG_printf(&trace,"swiFxn0 posts SWI1\n");
// SWI_post(&SWI1);
LOG_printf(&trace,"SWI0 done!\n");
}

  • Hi Robert,

    I dont see any GPIO pin config code in your app. Just a call to EZDSP5535_GPIO_init() function. I am not familiar with this function. Does it configure all GPIO pins to generate an interrupt and change their direction to input ?

    In order to debug the problem, you can look at the IER and IFR register contents in the CCS register view. This will help you determine if the GPIO is actually generating an interrupt (IFR bit set) and if BIOS has enabled the interrupt (IER bit set). IER is a bit mask indicating which interrupts are enabled and IFR is a bit mask showing the status of the different interrupts.

    Best,

    Ashish