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.

RTOS/OMAP-L137: Non-dispatched interrupt service routine keeps being called for no reason

Part Number: OMAP-L137
Other Parts Discussed in Thread: SYSBIOS

Tool/software: TI-RTOS

Hi all,

I am trying to setup a non-dispatched interrupt for the USB0 controller of an OMAP-L137 in the SYS/BIOS cfg file (I am hoping to improve USB performances by avoiding the latency due to the Hwi dispatcher).

If I define the interrupt in the Hwi module as follows, it works properly:

var ti_sysbios_family_arm_da830_Hwi3Params = new ti_sysbios_family_arm_da830_Hwi.Params();
ti_sysbios_family_arm_da830_Hwi3Params.instance.name = "USB0_INT";
Program.global.USB0_INT = ti_sysbios_family_arm_da830_Hwi.create(58, "&USB0DeviceIntHandler", ti_sysbios_family_arm_da830_Hwi3Params);

But when I define a non-dispatched interrupt as follows, my USB0DeviceIntHandler ISR keeps being called repeatedly even though there is no interrupt pending (the INTSRCR  register of the USB controller is 0):

ti_sysbios_family_arm_da830_Hwi.nonDispatchedInterrupts["USB0_INT"] = new ti_sysbios_family_arm_da830_Hwi.NonDispatchedInterrupt();
ti_sysbios_family_arm_da830_Hwi.nonDispatchedInterrupts["USB0_INT"].intNum = 58;
ti_sysbios_family_arm_da830_Hwi.nonDispatchedInterrupts["USB0_INT"].fxn = "&USB0DeviceIntHandler";
ti_sysbios_family_arm_da830_Hwi.nonDispatchedInterrupts["USB0_INT"].priority = 31;
ti_sysbios_family_arm_da830_Hwi.nonDispatchedInterrupts["USB0_INT"].enableInt = true;

Any idea of what is wrong?

Thanks in advance.

Olivier

  • Hi Olivier,

    I've notified the RTOS team. Their feedback will be posted here.

    Best Regards,
    Yordan
  • What is the version of SYSBIOS you are using .. there are some known issue for SYSBIOS 6.35 and earlier that have been reported on the forum.
    Are you sure the ISR is invoked due to a USB interrupts and not timer interrupts that TI RTOS enables.

    Also, can you use a masking setting with your interrupt configuration. The default option is Hwi_MaskingOption_SELF which should prevent repeated interrupts but i am wondering if this is being set differently in your version of BIOS or configuration.

    Regards,
    Rahul