I am using a C6687 DSP, i'm using a bios_6_41_00_26 and xdctools_3_30_05_60_core, and i am trying to create a hwi where i'll put an ISR function that will be executed after receiving a SRIO doorbell interrupt from the other DSP.
i try the code below but it desn't work .
Void myIsr(UArg arg) { // this runs when interrupt #4 goes off ctr++; /* Clear all the specified doorbell interrupts. */ hSrio->DOORBELL_ICSR_ICCR[0].RIO_DOORBELL_ICCR = 0xFFFF; Hwi_clearInterrupt(4); } void hwi_init( Hwi_FuncPtr handler_isr) { Hwi_Params hwiParams; Error_Block eb; Hwi_Params_init(&hwiParams); Error_init(&eb); // set the argument you want passed to your ISR function hwiParams.arg = 1; // set the event id of the peripheral assigned to this interrupt hwiParams.eventId = 20; // don't allow this interrupt to nest itself hwiParams.maskSetting = Hwi_MaskingOption_SELF; // // Configure interrupt 4 to invoke "myIsr". // Automatically enables interrupt 4 by default // set params.enableInt = FALSE if you want to control // when the interrupt is enabled using Hwi_enableInterrupt() // hwiParams.enableInt = TRUE; myHwi = Hwi_create(4, handler_isr, &hwiParams, &eb); if (Error_check(&eb)) { // handle the error printf("Error!!! \n"); } }
could you give me any idea about that !!
thanks.
Noura