Dwayne Dietrich

Spurious Interupt Exception

Discussion created by Dwayne Dietrich Employee on Apr 1, 2006
This message contains an entire topic ported from the WildRice - Coldfire forum.  Freescale has received the approval from the WildRice administrator on seeding the Freescale forum with messages.  The original message and all replies are in this single message. We have seeded this new forum with selected information that we expect will be of value as you search for answers to your questions.  Freescale assumes no responsibility whatsoever with respect to Posted Material.  For additional information, please see the Terms of Use - Message Boards and Community Forums.  Thank You and Enjoy the Forum!
 

Mar 29, 2006, 10:46 AM
Post #1 of 5 (7 views)
Copy Shortcut
 [ColdFire] Spurious Interupt Exception  Can't Post 
--------------------------------------------------------------------------------
 
 
We are using a Coldfire 5282.
Sometimes, on power-up, we are getting an exception from vector 24 which is
Spurious Interrupt. We are only using 3 interrupts: PIT, IRQ5 and IRQ7.
All other interrupts have been disabled. The 3 interrupts have interrupt
handling routines and work correctly.
Does anyone know what can cause such an exception and how to handle it?
Thanks,
Marcia
--------------------------------------------------------------------
Mar 29, 2006, 11:41 AM
Post #2 of 5 (7 views)
Copy Shortcut
 Re: [ColdFire] Spurious Interupt Exception [In reply to]  Can't Post 
--------------------------------------------------------------------------------
 
Hi Marcia,
a couple of causes I know of:
1. noise on the interrupt lines
2. a couple of weeks ago I had this problem because a piece of code that
was supposed to change the interrupt mask was first masking all interrupts,
and then doing a couple of things before masking the correct
interrupts. The
correct solution to that was not to mask all interrupts (in my case).
Marcia Suzuki wrote:
>We are using a Coldfire 5282.
>Sometimes, on power-up, we are getting an exception from vector 24 which is
>Spurious Interrupt. We are only using 3 interrupts: PIT, IRQ5 and IRQ7.
>All other interrupts have been disabled. The 3 interrupts have interrupt
>handling routines and work correctly.
>
>Does anyone know what can cause such an exception and how to handle it?
>
>Thanks,
>
>Marcia
>
>--------------------------------------------------------------------

--
Paul Wujek, Director, Network Software,
Embedded Sense Inc., 2145 Meadowpine Blvd., Mississauga, Ontario, Canada, L5N 6R8.
--------------------------------------------------------------------
Mar 29, 2006, 12:53 PM
Post #3 of 5 (7 views)
Copy Shortcut
 RE: [ColdFire] Spurious Interupt Exception [In reply to]  Can't Post 
--------------------------------------------------------------------------------
 
Hi Marcia:
I and others have experienced similar behavior when 2 or more interrupts
have been setup to have the same level and priority.
So...
Make sure that each of your interrupts have a unique Level/Priority.
This is stated in the datasheet (but it should be in LARGE print).
Daraius
-----Original Message-----
From:
On Behalf Of Marcia Suzuki
Sent: Wednesday, March 29, 2006 12:47 PM
To: Daraius Hathiram
Subject: [ColdFire] Spurious Interupt Exception

We are using a Coldfire 5282.
Sometimes, on power-up, we are getting an exception from vector 24 which
is Spurious Interrupt. We are only using 3 interrupts: PIT, IRQ5 and
IRQ7.
All other interrupts have been disabled. The 3 interrupts have
interrupt handling routines and work correctly.
Does anyone know what can cause such an exception and how to handle it?
Thanks,
Marcia
--------------------------------------------------------------------
Mar 29, 2006, 1:13 PM
Post #4 of 5 (7 views)
Copy Shortcut
 RE: [ColdFire] Spurious Interupt Exception [In reply to]  Can't Post 
--------------------------------------------------------------------------------
 
Marcia,
Contract engineer working for us posted this in October of last year:
"We just fixed a spurious interrupt problem related to CAN on our 5235 board. If your code diddles the CAN interrupt mask bits, either in the CAN controller or the interrupt controller, you must first bump the SR int level up to 7, then diddle the int mask, then set SR int level back to what it was previously. This is actualy stated in the 5235 ref manual!
This also applies to other peripherals like UARTs."
Hope this helps!
Roger
-----Original Message-----
From: On
Behalf Of Marcia Suzuki
Sent: Wednesday, March 29, 2006 12:47 PM
To: Fitz, Roger C (GE Infra, Transportation)
Subject: [ColdFire] Spurious Interupt Exception
 
We are using a Coldfire 5282.
Sometimes, on power-up, we are getting an exception from vector 24 which is
Spurious Interrupt. We are only using 3 interrupts: PIT, IRQ5 and IRQ7.
All other interrupts have been disabled. The 3 interrupts have interrupt
handling routines and work correctly.
Does anyone know what can cause such an exception and how to handle it?
Thanks,
Marcia
Mar 29, 2006, 2:12 PM
Post #5 of 5 (7 views)
Copy Shortcut
 Re: [ColdFire] Spurious Interupt Exception [In reply to]  Can't Post 
--------------------------------------------------------------------------------
 
> Does anyone know what can cause such an exception and how to handle it?
I have seen these in the past with the 68K. It was documented
that these could occur if you disable a device interrupt without
first masking processor interrupts. As the device interrupt is
turned off, there would be a small window in which the device
could generate an interrupt that triggers the core, but is then
unable to respond to the core's IACK cycle, resulting in a
spurious interrupt.
The solution was to mask processor interrupts when disabling
a device interrupt and to restore the processor interrupt level
afterwards. For TargetOS, an example would be:
isrMask();
MCF_INTC_IMRH = mask;
isrUnmask();
We always do that now in our code, so I haven't seen this
problem with ColdFire.
Tim Stoutamore
Principal Engineer
Blunk Microsystems

----- Original Message -----
From: "Marcia Suzuki"     
   
To: Sent: Wednesday, March 29, 2006 10:46 AM
Subject: [ColdFire] Spurious Interupt Exception

>
> We are using a Coldfire 5282.
> Sometimes, on power-up, we are getting an exception from vector 24 which
is
> Spurious Interrupt. We are only using 3 interrupts: PIT, IRQ5 and IRQ7.
> All other interrupts have been disabled. The 3 interrupts have interrupt
> handling routines and work correctly.
>
> Does anyone know what can cause such an exception and how to handle it?
>
> Thanks,
>
> Marcia
 
 
 

Message Edited by Dietrich on 04-03-2006 11:10 AM

Message Edited by Dietrich on 04-04-2006 01:36 PM

Outcomes