Interrupt handling

Submitted by Anonymous
on April 1, 2008 - 10:55am

Hello everybody,

I have problem, sometimes I can able to catch the interrupts/ sometimes I could't. What may be root cause for this problem.

The interrupt is generated for every 1500 nanosec approximately by arm7 processor.

Also I am handling this interrupt from PC paralelport.

Any suggestions/inputs are greatly appreciated.

Thanks and Regards
Ravime

Interrupts can be disabled

Anonymous (not verified)
on
April 7, 2008 - 3:40am

Interrupts can be disabled ...

re

Anonymous (not verified)
on
April 9, 2008 - 9:47am

Thank you
If I disable interrupt. I lose the data. So I cant disable it. Some how I sholud handle it.

Other device drivers may

Anonymous (not verified)
on
April 13, 2008 - 4:20am

Other device drivers may disable it; that is, when the interrupt is shared among multiple devices/drivers.

Interrupt handling: missing interrupts

on
April 8, 2008 - 9:29pm

if in the same code execution path, u are able to capture the interrupt and sometimes cannot, then u are running into "missing interrupt" problem. perhaps the interrupt is coming in at a faster rate than your interrupt handler can handle.

not sure about ARM7, but for intel x86, according to manual, while it is handling interrupt, at most one INTERRUPT can come in and it will be queue (without software doing it.....all in the hardware, perhaps microcode programmed)...so that upon completion of handler, the queued interrupt will trigger the handler again. AT MOST one only.....and explicitly it mentioned that the subsequent interrupts (after 1 that has been queued) that comes in will be thrown away --> ie, missing interrupts.

checkout internet - helped yourself out:

http://www.google.com/search?q=arm7+missing+interrupts&btnG=Google+Search

and first one returned:

http://www.embeddedrelated.com/usenet/embedded/show/72620-1.php

Thank you very much. As you

Anonymous (not verified)
on
April 9, 2008 - 10:00am

Thank you very much.

As you have said, Interrupt is coming faster then interrupt handler can handle.

But If my ARM7 generate an interrupt, little delayed ( i.e for(i=0;i<10000,i++);, then my PC is waiting for data around the 20000 nsec. which is not acceptable.

Here ARM7 is genrateing an interrupt for every 2000 nsec once.

Any body have suggestion please.

buffer

on
April 10, 2008 - 2:28pm

use a type of port that can buffer data instead of losing it or that can write the incoming data to ram without cpu intervention using dma

can you configure your parallel port to use some enhanced mode with the above characteristics or do you have to use rs232 or usb or similar

are you just collecting the data or are you using the port as real time timer tick

Thank you for your kind

ravime (not verified)
on
April 11, 2008 - 12:45pm

Thank you for your kind support.

I am using the EPP mode but dont know about setting DMA usage. I do study about this. later I post result.

I am collecting data the using port also sending the data using port.

Regards
Ravime

Is this Interrupt a

on
April 10, 2008 - 10:41am

Is this Interrupt a NMI?

--
Breno Leitao

NMI

Ravime (not verified)
on
April 11, 2008 - 8:25pm

Yes it is NMI.

Comment viewing options

Select your preferred way to display the comments and click "Save settings" to activate your changes.