MDD file

F

Frank

Guest
Hi,

did anyone already tried to make an opb slave with multiple interrupt ports
and use the default interrupt handler? In order to assign your own interrupt
service routine to an interrupt, you have to make a driver for your opb
slave and in the mdd file you can make an array of interrupt handlers.
In that way you can specify in the mss file your interrupt service routine
for each interrupt port:

PARAMETER INT_HANDLER = pec0_isr, INT_PORT = locbus_int_0
PARAMETER INT_HANDLER = pec1_isr, INT_PORT = locbus_int_1
PARAMETER INT_HANDLER = pec2_isr, INT_PORT = locbus_int_2
PARAMETER INT_HANDLER = pec3_isr, INT_PORT = locbus_int_3

However, when I built the libraries, only the first isr is taken an placed
in the vector table (in XIntc_lg.c) the other three interrupts are routed to
the default interrupt handler. I can't even assign another default routine
in the mdd file:

BEGIN ARRAY interrupt_handler
PROPERTY desc = "Interrupt Handler Information";
PROPERTY size = 4, permit = none;
PROPERTY default = ((test, locbus_int_0), (XIntc_DefaultHandler,
locbus_int_1), (XIntc_DefaultHandler, locbus_int_2), (XIntc_DefaultHandler,
locbus_int_3));
PARAM name = int_handler, desc = "Name of Interrupt Handler", type =
string;
PARAM name = int_port, desc = "Interrupt pin associated with interrupt
handler", permit = none;
END ARRAY

I expect here to assign the isr test to the locbus_int_0 port (only when I
left away the assignment in the mss file of coarse), but even now the
default isr is assigned (XIntc_DefaultHandler).

Hopefully its clear enough,
does anyone have experience with this?

TIA,
Frank
 

Welcome to EDABoard.com

Sponsor

Back
Top