Yahoo Groups archive

Lpc2000

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

Message

Re: VIC not taking Jump to Interrupt ISR

2004-12-13 by Karl Olsen

--- 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

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.