MDD file

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

Reply to
Frank
Loading thread data ...

ElectronDepot website is not affiliated with any of the manufacturers or service providers discussed here. All logos and trade names are the property of their respective owners.