The interrupt controller on the OMAP DSP provides an extremely flexible interface. The software can route any interrupt generating event to any of 12 hardware interrupt levels. This flexibility, however, can lead to conflicts if the user is not aware of what interrupts are being used.

As a general rule, software libraries written to manage various peripherals (both native and FPGA-based), should allow the user to select the interrupt level to be used. Some libraries make this tedious (DSPLink comes to mind -- you must change a hardcoded number and recompile the library or dynamically change a structure in the bowels of the code).

Interrupts can be mapped to levels 4 through 15. DSPLink defaults to using interrupts 4 and 5, so it is recommended that you stay clear of these. The remainders can be assigned pretty much arbitrarily to whatever peripherals you are using.

Further information on the interrupt structure and processing is available in TI's DSP Megamodule documentation, sprufk5a.pdf (

Go to top
Add picture from clipboard (Maximum size: 600 MB)