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.

Interrupt handling

Other Parts Discussed in Thread: DM3730

HI,

I implemented a touch screen driver that has an interrupt handler for gpio 153 and irq 313.

as far as i know this is the only place that addresses those calls.

the problem is that the system "ignores" some of the interrupts the screen outputs and doesn't respond to all of them.

when the interrupt is acknowledged, the system reacts fine but it takes a long press or several presses until it starts responding.

The SOM is dm3730.

  • Hi Shlomi,

    How often the system "ignores" the interrupts? Is the "ignored" interrupt is one per hundreds or one of tow and more?
    There are various reasons for interrupt missing.
    Physical parameters of the event. This can be verified by an oscilloscope when compare an "ignored" interrupt with an "accepted" interrupt.
    Software: Detection of interrupts on each incoming interrupt line can be enabled or disabled independently by the MPU_INTC.INTCPS_MIRn interrupt mask register. Therefore you should check the register values.
    Also check the priority for the interrupts and the priority threshold by INTCPS_ILRm and INTCPS_THRESHOLD registers. If the priority is low try to increase it. An other important register is INTCPS_PENDING_IRQn which contains the IRQ status after masking.
    For more details refer to the DM37x TRM section 12.4.1 Interrupt Processing about the case when the interrupt line could be deasserted.

    BR
    Tsvetolin Shulev

  • thanks for replying,

    the problem was the interrupt trigger set to _falling, i changed it to _low and it fixed it :)