I've wasted a couple of days trying to get timer 2 to IRQ through the Vectored Interrupt Controller (VIC) - it always ends up in the default handler. If anyone has an example C or assembler snippet you'd bring a little light into a frustrated programmers miserable life. I'm actually using a development kit called CardEngine by logicpd and the message their loader squirts out is "NO HANDLER FOR INTERRUPT", which I presume is the default handler. Huge thanks, Alfie.
Sharp LH79520 int controller (arm7 core)
Started by ●March 3, 2004
Reply by ●March 3, 20042004-03-03
I'd like to see how you're initializing the VIC. From the docs, it looks straight forward. I'm wondering if the MMU is mapping the VIC elsewhere. You might double-check by looking at the addresses you think the vectors are at and seeing if they are pointing to the board's default vectored IRQ handler. You also might want to check the instruction at the ARM's IRQ vector to make sure it is loading the VectorAddr into the PC.
Reply by ●March 3, 20042004-03-03
"Alfie" <AlfieNoakes@blueyonder.co.uk> wrote in message news:5f984b6d.0403030420.1dbe4968@posting.google.com...> I've wasted a couple of days trying to get timer 2 to IRQ through the > Vectored Interrupt Controller (VIC) - it always ends up in the default > handler. > > If anyone has an example C or assembler snippet you'd bring a little > light into a frustrated programmers miserable life. > > I'm actually using a development kit called CardEngine by logicpd and > the message their loader squirts out is "NO HANDLER FOR INTERRUPT", > which I presume is the default handler. > > Huge thanks, > Alfie.I too am struggling with a Sharp baes CardEngine but not the 79520... experience would be valuable. What sort of JTAG do you used? -- Peter Peter.Dickerson (at) ukonline (dot) co (dot) uk
Reply by ●March 3, 20042004-03-03
AlfieNoakes@blueyonder.co.uk (Alfie) writes:> I've wasted a couple of days trying to get timer 2 to IRQ through the > Vectored Interrupt Controller (VIC) - it always ends up in the default > handler. > > If anyone has an example C or assembler snippet you'd bring a little > light into a frustrated programmers miserable life.I've not looked at this for a while, but here's my code. #include "lh79520_timer.h" #include "lh79520_vic.h" #include "lh79520_rcpc.h" /* These headers are from the sharp "bluestreak" library */ /* initialise timer1 as real time vectored interrupt */ VIC->vectaddr[15] = (int) TIMER2_irq_handler; VIC->vectcntl[15] = 0; /* select source and enable it */ VIC->vectcntl[15] = VIC_VECTCNTL_SELECT(VIC_TIMER2); VIC->intenable = VIC_INT_ENABLE(VIC_TIMER2); TIMER1->load = 51609U; /* 1 millisecond */ TIMER1->control = TMRCTRL_ENABLE | TMRCTRL_MODE_PERIODIC ; /* enable the timer clock */ RCPC->periphclkctrl &= ~RCPC_CLKCTRL_CT01_DISABLE; -- John Devereux