EDK6.1 MBlaze : problems with INTC IPIF and external interrupts

May 15, 2004 3 Replies

Hi, I have created a IPIF device based on ssp1 for a MicroBlaze system. I have tested each device and they correctly generate interrupts. Now I have to use INTC to handle more than one interrupt signals and some external interrupt signals. By default IPIF ssp1 uses generic driver, that seems not support PARAMETER INT_HANDLER.



1.How can attach a int_handler to IPIF device? I have to write a specific driver for each IPIF device?
2.It's possible to specify interrupt level for external interrupt signals?

Thanks


Rather than using the default generic driver, you will need to create a custom driver for your device that supports interrupts. Specifically, you will need an array that describes the interrupt handler for a unique interrupt port. For an idea of how the MDD file should look, see the timer-counter drivers as reference. Also, consult the EST Guide for information on MDD syntax.

Yes, it is. This is done on the interrupt declaration line in the MHS file. Below is an example snippet. Consult the EST Guide for the MHS attributes that can be attached on interrupt ports.

Matt

# Global Ports PORT external_int = external_int, DIR = IN, EDGE = RISING, SIGIS = INTERRUPT, LEVEL=LOW PORT GPO = GPO_OUT, DIR = IO PORT sys_clk = sys_clk, DIR = IN PORT sys_rst = sys_rst, DIR = I

Thanks for your answers,

in Xilinx forum

formatting link
snipped-for-privacy@60.SnQlabZvfnD. snipped-for-privacy@.ee2b9c I read that someone uses uartlite driver instead generic driver to handle interrupts.

Another question on external interrupts: I need to write a device driver for extenal interrupts, too?

Alessandro,

The external interrupt will not require drivers like other peripherals. It will, however, require an isr defined in your user application. I can send you an example project that does just this. Pls email me off-list and I can send it to you.

Matt

Alessandro Scagli> Thanks for your answers,

Join the Discussion

Have something to add? Share your thoughts — no account required.

Didn't find your answer?

Ask the community — no account required