EmbeddedRelated.com
Forums
The 2024 Embedded Online Conference

Spurious interrupt

Started by kiwanda206 February 10, 2006
Hello everybody,

this is my first post to this group - I just started with the AT91. 

I downloaded a demonstration program (AT91SAM7 Interrupts Example
blinking LEDs) for the AT91SAM7S, compiled it (arm-elf-gcc) and loaded
it into my AT91SAM7S-EK with sam7s2565 dev board. The program has the
standard C startup code that I encounter everywhere.

The execution however gets stuck in the AT91F_Spurious_handler just
after setting all interrupt vectors to a default interrupt vector.
main() is never reached.

Has anyone got any clues where this (undesired) behaviour comes from ?
The board is brand new and the example code written  for it.
	Thanks,

Ewout Boks
	
Hi Ewout,

Try disabling AIC interrupts at the very beginning of
LowLevelInit()

AT91C_BASE_AIC->AIC_IDCR = 0xFFFFFFFF;
AT91C_BASE_AIC->AIC_FFDR = 0xFFFFFFFF;

Regards,
Joe Priebe

--- kiwanda206 <kiwanda206@kiwa...> wrote:

> Hello everybody,
> 
> this is my first post to this group - I just started
> with the AT91. 
> 
> I downloaded a demonstration program (AT91SAM7
> Interrupts Example
> blinking LEDs) for the AT91SAM7S, compiled it
> (arm-elf-gcc) and loaded
> it into my AT91SAM7S-EK with sam7s2565 dev board.
> The program has the
> standard C startup code that I encounter everywhere.
> 
> The execution however gets stuck in the
> AT91F_Spurious_handler just
> after setting all interrupt vectors to a default
> interrupt vector.
> main() is never reached.
> 
> Has anyone got any clues where this (undesired)
> behaviour comes from ?
> The board is brand new and the example code written 
> for it.         
>               
> 
> Thanks,
> 
> Ewout Boks
> 
> 
> 
> 
> 
> 
>
	__________________________________________________
 

On Saturday 11 February 2006 04:54, kiwanda206 wrote:
> Hello everybody,
>
> this is my first post to this group - I just started with the AT91.
>
> I downloaded a demonstration program (AT91SAM7 Interrupts Example
> blinking LEDs) for the AT91SAM7S, compiled it (arm-elf-gcc) and loaded
> it into my AT91SAM7S-EK with sam7s2565 dev board. The program has the
> standard C startup code that I encounter everywhere.
>
> The execution however gets stuck in the AT91F_Spurious_handler just
> after setting all interrupt vectors to a default interrupt vector.
> main() is never reached.
>
> Has anyone got any clues where this (undesired) behaviour comes from ?
> The board is brand new and the example code written  for it.

Spurious interrupts are most typically triggered by fiddling with the AIC 
while interrupts are enabled.

Always disable interrupts (that's the CPU core interrupt) while playing
with 
the AIC.

I have posted a very simple example project that shows how to do this 
properly.

-- CHarles

Charles Manning wrote:
> On Saturday 11 February 2006 04:54, kiwanda206
wrote:
> > Hello everybody,
> >
> > this is my first post to this group - I just started with the AT91.
> >
> > I downloaded a demonstration program (AT91SAM7 Interrupts Example
> > blinking LEDs) for the AT91SAM7S, compiled it (arm-elf-gcc) and loaded
> > it into my AT91SAM7S-EK with sam7s2565 dev board. The program has the
> > standard C startup code that I encounter everywhere.
> >
> > The execution however gets stuck in the AT91F_Spurious_handler just
> > after setting all interrupt vectors to a default interrupt vector.
> > main() is never reached.
> >
> > Has anyone got any clues where this (undesired) behaviour comes from ?
> > The board is brand new and the example code written  for it.
>
> Spurious interrupts are most typically triggered by fiddling with the AIC
> while interrupts are enabled.
>
> Always disable interrupts (that's the CPU core interrupt) while 
> playing with
> the AIC.
>
> I have posted a very simple example project that shows how to do this
> properly.
See http://www.arm.com/support/faqip/3677.html for more information on 
disabling interrupts whilst interrupts are being received.

Regards
Michael
>
> -- CHarles
>
>
> SPONSORED LINKS
> Microcontrollers 
>
<http://groups.yahoo.com/gads?t=ms&k=Microcontrollers&w1=Microcontrollers&w2=Cpu+chip&w3=Arms&w4elopment+tool&w5=Microprocessor&c=5&s&.sig=JL1WKF1vUqEgZhFSvLcTwQ>

> 	Cpu chip 
>
<http://groups.yahoo.com/gads?t=ms&k=Cpu+chip&w1=Microcontrollers&w2=Cpu+chip&w3=Arms&w4elopment+tool&w5=Microprocessor&c=5&s&.sig=J2LJ4JioN5vEM0428aODAg>

> 	Arms 
>
<http://groups.yahoo.com/gads?t=ms&k=Arms&w1=Microcontrollers&w2=Cpu+chip&w3=Arms&w4elopment+tool&w5=Microprocessor&c=5&s&.sig=yPOxLkzDXn5eqYeA1wMVCQ>

>
> Development tool 
>
<http://groups.yahoo.com/gads?t=ms&kelopment+tool&w1=Microcontrollers&w2=Cpu+chip&w3=Arms&w4elopment+tool&w5=Microprocessor&c=5&s&.sig=lhbODg5ptVr7u61IFQfZXQ>

> 	Microprocessor 
>
<http://groups.yahoo.com/gads?t=ms&k=Microprocessor&w1=Microcontrollers&w2=Cpu+chip&w3=Arms&w4elopment+tool&w5=Microprocessor&c=5&s&.sig=CHIRUROYao456Telb69zdA>

>
>
>
> 
> >.
>
>
> 
>
	

The 2024 Embedded Online Conference