[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
ISR handler.
- Date: Wed, 14 Apr 2010 12:44:48 +0100
- From: nick.thomas at pixsan.com (Nick Thomas)
- Subject: ISR handler.
Hi,
This is possibly in a FAQ, or a basic error on my part.
I am using rtems 4.7.1 with PowerPC.
I have just noticed that my ISR routines are declared like:
void irr_intr(void);
But, the interrupt handlers are installed using ictrl_set_vector, which
requires an rtems_isr_entry function which is declared as :
typedef rtems_isr ( *rtems_isr_entry )(rtems_vector_number);
So, does that mean that my isr handler should really be:
rtems_isr irr_intr(rtems_vector_number v);
I have seen some odd behavior regarding interrupts on this platform, mainly
occasions where the _ISR_nest_level variable gets stuck at 1. Could this be
because the mismatched args to the function has stomped on the stack and
lost the return address?
Regards
Nick
-----------------------------
Nick Thomas
Email: nick.thomas at pixsan.com
- Follow-Ups:
- ISR handler.
- From: joel.sherrill at OARcorp.com (Joel Sherrill)