I have interrupts enabled on my MicroBlaze version 5 system, but whenever the interrupt occurs, the processor never acknowledges the interrupts.
This is a problem with the architecture of MicroBlaze. In certain circumstances, the right sequence of instructions will cause the MicroBlaze not to acknowledge the interrupts. The only known way to work around this issue is to change the optimization level in gcc:
1. In XPS, bring the Applications tab brought forward.
2. Right-click Compiler Options in your software application and select Set Compiler Options.
3. Bring the Debug and Optimization tab forward.
4. Change the Optimization Level from its current state to a different state.
5. Press OK.
This problem is fixed in MicroBlaze v6.