Приветствую! Пишу программу для MicroBlaze. Прога обрабатывает прерывания от нескольких внешних устройств, а в остальное время бездействует. Оказалось критичным время реакции, но увеличивать частоту нехочется. Все дело в следующем
void __interrupt_handler () __attribute__ ((interrupt_handler));
extern MB_InterruptVectorTableEntry MB_InterruptVectorTable;
void __interrupt_handler(void) { /* The compiler saves all volatiles and the MSR */ MB_InterruptVectorTable.Handler(MB_InterruptVectorTable.CallBackRef); /* The compiler restores all volatiles and MSR, and returns from interrupt */ }
Тупо убрать атрибут не получается, при перекомпиляции файл microblaze_interrupt_handler.c генерится заново. Подскажите, как обойти?
|