Yahoo Groups archive

Lpc2000

Index last updated: 2026-04-28 23:31 UTC

Message

Re: [lpc2000] Interrupt pending but not raised

2005-12-07 by 3gpabko

On the first thought you have problems in your ISR's.
Perhaps you are not correctly handle and acknowledge
IRQ's.
Be sure that before exiting the ISR you are correctly
clearing the interrupt flags in the peripheral
registers(UART and Timer) and that you have a write to
the VICVectAddr register in the VIC in order to update
the VIC priority.

Hope this helps.

Zdravko

--- andersryl <andersryl@...> wrote:

> Hi,
> 
> I have a very peculiar problem regarding interrupts
> on my Olimex 
> E2214 board (using gcc and gld with Eclipse).
> 
> I'm trying to get my board to communicate with a
> Windows application 
> using the UART1. The way it works is that the Win
> app sends frames 
> with commands to the test board to which the ARM
> responds by sending 
> a new frame back to the PC. I have set the UART1 to
> give interrupts 
> when the RxFIFO is filled with 8 bytes.
> 
> Each frame consists of 12 to 100 bytes (11 bytes
> header and 1-89 
> bytes of data).
> 
> The communication works fine the first 4 rounds
> (request+reply).
> 
> However the fifth time the Win app starts sending a
> "request-frame" 
> the ARM does not generate any interrupts. I can see
> that there are 
> interrupts pending (by debug print-outs with the
> other UART from a 
> busy-waiting loop*) and that the peripherals that
> should give 
> interrupts are enabled to do so.
> 
> I also have a timer running giving an interrupt
> after 2 seconds if 
> no data is received (should not happen in normal
> operation due to 
> frequent requests from the Win app). This timer
> interrupt works fine 
> until the Win app starts sending frames. After the
> last request 
> (as described above) this interrupt is also pending
> but no interrupt 
> is raised.
> 
> From debug print-outs from the ISRs I also see that
> I never leave my 
> two ISRs (One for UART1 and one for Timer0) with any
> interrupts 
> pending.
> 
> *) Debug print-outs after the fifth Win app request
> frame:
> VICIRQStatus: 0x00000080
> VICIntEnable: 0x00000090
> VICVectAddr:  0x000000D4
> T0IR:               0x00
> T0TCR:              0x01
> T0MCR:            0x0003
> U1IIR:              0xC4
> 
> VICIRQStatus: 0x00000090
> VICIntEnable: 0x00000090
> VICVectAddr:  0x00000000
> T0IR:               0x01
> T0TCR:              0x01
> T0MCR:            0x0003
> U1IIR:              0xC4
> 
> Sorry about the long post.
> Any help is greatly accepted.
> 
> /Anders
> 
> 
> 
> 
> 



		
__________________________________________ 
Yahoo! DSL \ufffd Something to write home about. 
Just $16.99/mo. or less. 
dsl.yahoo.com

Attachments

Move to quarantaine

This moves the raw source file on disk only. The archive index is not changed automatically, so you still need to run a manual refresh afterward.