[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: using IRQ_pin interrupt

Hello Andreas,

You are setting up the external interrupt to use an externally supplied
interrupt vector number. If you use this mode, your hardware is supposed 
to supply ETRAX 100LX with the interrupt vector number in response to the 
INTA_ output signal. Is this really what you want to acheive ?

If you want to use the automatically generated (internal) interrupt
vector number (which is 0x2a), you have to do:

*R_IRQ_MASK0_CLR = IO_STATE(R_IRQ_MASK0_CLR, irq_ext_vector_nr, clr);
*R_IRQ_MASK0_SET = IO_STATE(R_IRQ_MASK0_SET, irq_int_vector_nr, set);   

On the other hand, if you are really using an external hardware to
supply the interrupt vector number, then you should check that hardware. 

Per Zander

On Mon, 17 Jun 2002, Andreas Malzahn wrote:

> i have a problem using the IRQ pin:
> after:
> *R_IRQ_MASK0_SET = IO_STATE(R_IRQ_MASK0_SET, irq_ext_vector_nr, set);
> *R_IRQ_MASK0_CLR = IO_STATE(R_IRQ_MASK0_CLR, irq_int_vector_nr, clr);
> ret = request_irq(IO_BITNR(R_VECT_MASK_RD, irq_intnr), dig_in_interrupt,
> SA_INTERRUPT, tvs_name, NULL);
> i'm waiting for the call to dig_in_interrupt(), but I get an error "weird
> irq".
> why ?
> Thanks, Andreas