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