AnsweredAssumed Answered

ADuC7060 external interrupts: possible bug

Question asked by Ivan.K on Oct 1, 2012
Latest reply on Oct 9, 2012 by MMA



Summary: When any of the external interrupt sources are configured as rising edge triggered, under some conditions the IRQ handler is called continuously.


Reproducibility: Always


Steps to Reproduce:

1. Open the attached code example.

2. Set a breakpoint on the specified line.

3. Start debugging using the JTAG adapter, and then run the program.

4. Press and release the INT0 push button.

5. Program execution stops at the breakpoint.

6. Run the program again.

7. Program execution stops at the breakpoint again.


Steps to Reproduce:

1. Press and release the INT0 push button very fast.

2. At some moment the IRQ handler being called continuously, until the button is pressed again.


Actual Results: The IRQ handler is called continuously, that is, the IRQCLRE register doesn't clear the interrupt source.


Hardware: EVAL-ADuC7060 Rev. A1 (EVALADUC7060QSPZU2); ADuC7060BSTZ32; mIDAS-Link v5.3


Software: µVision V4.60.0.0; MDK-Lite Version:; J-Link compiled Jul 30 2008 11:24:37 ARM Rev.5


if (IRQSTATUS & BIT13)  // External Interrupt0 source
    IRQCLRE = BIT13;    // Clear External Interrupt 0      // <----- Set a breakpoint here
    T1LD    = 0x500;