Hello Martin,

I also just read your previous mail on ecos-devel.
Each 12us an IRQ is indeed fast!
Using the FIQ is a good idea, but you should then not use eCos (in vectors.S). Just write all FIQ handling code yourself in assembly then. I have had problems with the ARM FIQ (http://sourceware.org/ml/ecos-discuss/2007-09/msg00099.html).
Also search the mailing list for "FIQ", there are some interesting mails.

Martin Laabs wrote:
Hi,

I've been looking in vectors.S in ecos/packages/hal/arm because I
get a trap when disableing the CYGIMP_HAL_COMMON_INTERRUPTS_USE_INTERRUPT_STACK
option.
There you find the following:


IRQ:
        // Note: I use this exception stack while saving the context because
        // the current SP does not seem to be always valid in this CPU mode.
        ldr     sp,.__exception_stack   // get good stack
        stmfd   sp!,{r0-r5}             // save some supervisor regs
        sub     r0,lr,#4                // PC at time of interrupt
        mrs     r1,spsr
        mov     r2,#CYGNUM_HAL_VECTOR_IRQ
        mov     r3,sp
[...]

Does this mean, that every interrupt will use the (much to small)
exception stack if no dedicated interrupt stack is defined?
Then every interrupt will use 1 stack, and the size is determined by CYGNUM_HAL_COMMON_INTERRUPTS_STACK_SIZE.

Kind regards,
Jürgen
Thank you,
 Martin L.

--
Before posting, please read the FAQ: http://ecos.sourceware.org/fom/ecos
and search the list archive: http://ecos.sourceware.org/ml/ecos-discuss





--
Before posting, please read the FAQ: http://ecos.sourceware.org/fom/ecos
and search the list archive: http://ecos.sourceware.org/ml/ecos-discuss

Reply via email to