Specifications

Embedded System Tools Guide (EDK 6.2i) www.xilinx.com 327
UG111 (v1.4) January 30, 2004 1-800-255-7778
MicroBlaze Interrupt Management
R
bus_interface DLMB = d_lmb
bus_interface ILMB = i_lmb
port INTERRUPT = interrupt
end
On interrupts, MicrBlaze jumps to thehandler of the timer peripheral using the exception
table as defined in the “MicroBlaze Interrupt Management” section. If the timer
peripheral’s handler is specified in the MSS file, this routine is automatically registered in
the exception table by libgen. The MSS snippet for the timer peripheral would then look
like :
BEGIN DRIVER
parameter HW_INSTANCE = mytimer
parameter DRIVER_NAME = tmrctr
parameter DRIVER_VER = 1.00.b
parameter INT_HANDLER = timer_int_handler, INT_PORT = Interrupt
END
The base address of the timer peripheral is registered as the argumet for the routine in the
exception table. Alterntely, this routine can be registerd at run time in user code using a
function(microblaze_register_handler) provided in the MicroBlaze BSP. Please refer to the
“Standalone Board Support Package” chapter in the EDK OS and Libraries Reference Guide
for more specifics on the function prototype.
External Interrupt Port
An external interrupt pin can be connected to the interrupt port of MicroBlaze. In this case
the interrupt source of figure is a global external interrupt. The following MHS snippet
describes the connectivity between MicroBlaze and the global interrupt signal:
PORT interrupt_in1 = interrupt_in1, DIR = IN, LEVEL = LOW, SIGIS =
INTERRUPT
begin microblaze
parameter INSTANCE = mblaze
parameter HW_VER = 1.00.c
bus_interface DOPB = opb_bus
bus_interface DLMB = d_lmb
bus_interface ILMB = i_lmb
port INTERRUPT = interrupt_in1
end
On interrupts, MicrBlaze jumps to thehandler of the global external interrupt signal, using
the exception table as defined in the “MicroBlaze Interrupt Management” section. If the
global interrupt signal’s handler is specified in the MSS file, this routine is automatically
registered in the exception table by libgen. In this case, the MSS snippet looks like :
PARAMETER int_handler = globint_handler, int_port = interrupt_in1
A Null value is registered as the argumet for the routine in the exception table. Alterntely,
this routine can be registerd at run time in user code using a
function(microblaze_register_handler) provided in the MicroBlaze BSP. Please refer to the
“Standalone Board Support Package” chapter in the EDK OS and Libraries Reference Guide
for more specifics on the function prototype.