Всем кому может пригодиться делается это так:
В MHS файле прописываем:
Код
PORT microblaze_0_INTERRUPT_pin = microblaze_0_INTERRUPT, DIR = I, SIGIS = INTERRUPT, SENSITIVITY = LEVEL_HIGH
BEGIN microblaze
PARAMETER INSTANCE = microblaze_0
PARAMETER HW_VER = 6.00.b
PARAMETER C_USE_FPU = 0
PARAMETER C_DEBUG_ENABLED = 1
PARAMETER C_NUMBER_OF_PC_BRK = 2
PARAMETER C_AREA_OPTIMIZED = 1
PARAMETER C_USE_HW_MUL = 0
BUS_INTERFACE DLMB = dlmb
BUS_INTERFACE ILMB = ilmb
BUS_INTERFACE DOPB = mb_opb
BUS_INTERFACE IOPB = mb_opb
PORT DBG_CAPTURE = DBG_CAPTURE_s
PORT DBG_CLK = DBG_CLK_s
PORT DBG_REG_EN = DBG_REG_EN_s
PORT DBG_TDI = DBG_TDI_s
PORT DBG_TDO = DBG_TDO_s
PORT DBG_UPDATE = DBG_UPDATE_s
--------------------PORT INTERRUPT = microblaze_0_INTERRUPT-----------------------
END
Выделено то, что надо добавить.
Тоже самое можно сделать просто вытянув порт прерывания микроблейза наружу ( я так и делал)
в MSS:
Код
PARAMETER int_handler = isr_handler, int_port = microblaze_0_INTERRUPT_pin
где isr_handler -имя вашего обработчика
В С файле пишете:
Код
void isr_handler (void)
{
То, что хотите сделать при обработке прерывания
}
void ISR_init (void)
{
microblaze_register_handler(isr_handler,(void *)0); - регистрация прерывания
microblaze_enable_interrupts(); -разрешение прерывания
}
ISR_init засовываете в main там где у вас инициализация. И все прерывашка готова!