--- In lpc2000@yahoogroups.com, "sig5534" <sig5534@h...> wrote: > > This is my first ARM7 project, so I am sure I must be missing > something really simple, but I sure can't find what it is. > > I'm using JetJTAG debugger and the IAR compiler, and a bit of MakeApp > stuff. I didn't trust what MakeApp was doing so I put my own manual > VIC init calls in after their init. But same problem persists. > > I'm trying to get the TIMER-0 INT to fire. The counter is setup and > running, and it looks like all of the INT flags go off in the T0 and > VIC as they should, but yet it never jumps into the ISR routine. > > I have TIMER0(VIC-CH4) set to go to IRQ slot-0. > > Here's what the T0 and VIC registers look like after it runs: > > T0IR 0x0001 (Int Flag Tripped, yes?) > T0TCR 0x0001 (Counter enabled) > > VICFIQStatus 0x0000 > VICIRQStatus 0x0010 (Int flag tripped for T0, yes?) > VICRawIntr 0x2018 > VICIntSelect 0x0020 (I have T1 set to go to FIQ later) > VICIntEnable 0x0070 > VICSoftInt 0x0000 > VICProtection 0x0000 > VICDefVectAddr 0x0948 > VICVectAddr 0x095C > VICVectAddr0 0x095C ( correct ISR adr) > VICVectCntl0 0x0024 (T0 is VIC-CH4, and Enabled) > > If I understand this, the INT flag in VICIRQStatus is tripped > correctly. So why is it not taking the jump to the ISR adr? Do you have the "LDR PC, [PC, #-0x0FF0]" at address 0x18 in the exception vectors? Have you reserved a suitable IRQ stack and initialized its stack pointer in the startup code? Have you enabled IRQ in the CPU (like "msr cpsr_c, #0x1F") in the startup code? Karl Olsen
Message
Re: VIC not taking Jump to Interrupt ISR
2004-12-13 by Karl Olsen
Attachments
- No local attachments were found for this message.