ISR handler.
Nick Thomas
nick.thomas at pixsan.com
Wed Apr 14 11:44:48 UTC 2010
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
More information about the users
mailing list