This is the mail archive of the ecos-devel@sourceware.org mailing list for the eCos project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

How to handle very fast repeating interrupts?


Hi,

i'm using a lpx2214 board which is running with 60MHz.
Now I have an interrupt every 12us (so 80k per second.)
The Interrupt handler is very short. It has to read one
word from the external memeory interface and store it into a
buffer. This has to happen until the next interrupt will occure
because otherwise data would be lost.
Because it has to do so little but so often I'd like to
avoid the whole interrupt management/routing eCos implements.
I'd like to configure this interrupt as a FIQ and just want
to jump to my ISR routine. What do I have to pay attention
on when doing so?
I'd write the routine in ASM and store the register I use
to the stack. (Which stack will I use. The one of the current
process?)


When disabeling the "Use seperate stacks for interrupt ..." I
get the following trap. Do you have any idea?


0x00002810 in ?? ()
Loading section .sram, size 0x54 lma 0x40000540
Loading section .rom_vectors, size 0x40 lma 0x81010000
Loading section .text, size 0x14948 lma 0x81010040
Loading section .rodata, size 0x4544 lma 0x81024988
Loading section .data, size 0x718 lma 0x81028ecc
Start address 0x81010040, load size 103992
Transfer rate: 62066 bits/sec, 370 bytes/write.
(gdb) cont
Continuing.
[New thread 2]

Program received signal SIGTRAP, Trace/breakpoint trap.
[Switching to thread 2]
0x810103d8 in IRQ_10T ()
(gdb) bt
#0  0x810103d8 in IRQ_10T ()
#1  0x81013faa in Cyg_Interrupt::acknowledge_interrupt (vector=2)
    at /opt/agade-software/ecos/ecos/packages/kernel/current/src/intr/intr.cxx:765
#2  0x8102b250 in cygmem_pool_heap1 ()
#3  0x8102b250 in cygmem_pool_heap1 ()
Previous frame identical to this frame (corrupt stack?)
(gdb) 

Thank you,
 Martin L.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]