This is the mail archive of the
ecos-discuss@sources.redhat.com
mailing list for the eCos project.
Re: spurious interrupts
- From: Nick Garnett <nickg at ecoscentric dot com>
- To: "Daniel Schmidt" <Daniel dot Schmidt3 at gmx dot de>
- Cc: ecos-discuss at sources dot redhat dot com
- Date: 22 Jul 2004 11:27:04 +0100
- Subject: Re: [ECOS] spurious interrupts
- References: <m3k6wwo08j.fsf@xl5.calivar.com> <13967.1090490659@www32.gmx.net>
"Daniel Schmidt" <Daniel.Schmidt3@gmx.de> writes:
> I've debugged my ecos-test-application; and debugged to see where the
> interrupt is from. But there is no one sending the interrupt (source=0;
> *PXA2X0_ICIR=0) but before reaching this code position my code jumps
> around in non program code.
That sounds suspicious. Maybe it is just jumping to the IRQ vector, or
partway into the IRQ VSR. So it's not a real interrupt at all.
>
> The spurious interrupt is after the first timerinterrupt (this runs ok)
> but the scheduling is not doing well. So I'd assume the stackpointer for
> interrupts is wrong (in my application). After proceeding the first
> interrupt (timer) after some instructions there come a second jump into
> the interrupt handler, but not issued by the interrupt controller.
A simple test you could try is to increase the size of your thread
stack and maybe the interrupt stack and see if that makes a
difference.
Another thing to look at is whether you are acknowledging the
interrupts correctly. Also double check that the decoding in
hal_IRQ_handler() is doing the right thing.
--
Nick Garnett eCos Kernel Architect
http://www.ecoscentric.com/ The eCos and RedBoot experts
--
Before posting, please read the FAQ: http://ecos.sourceware.org/fom/ecos
and search the list archive: http://ecos.sourceware.org/ml/ecos-discuss