caused the interrupt is expected by the interrupt handler, the interrupt
handler performs whatever processing is necessary and should return the
ADI_INT_RESULT_PROCESSED
The nesting flag parameter is of significance only when the first interrupt
handler is hooked into an IVG chain. The first interrupt handler that
hooks into an IVG chain is called the primary handler. Any additional
handlers that are hooked into that same IVG chain are called secondary
handlers. When the primary handler is hooked into the chain, the inter-
rupt manager loads an ISR into the appropriate entry of the event vector
table (EVT). If the nesting flag is set, the ISR that the interrupt manager
loads is one that supports interrupt nesting. If the nesting flag is clear, the
ISR that the interrupt manager loads is one that does not support inter-
rupt nesting. When secondary handlers are hooked into an IVG chain, the
nesting flag is ignored.
Lastly, the
adi_int_CECHook()
the CEC's
IMASK
In most applications, users take great care to optimize the processing that
occurs for the highest frequency and highest urgency interrupts. Typically,
the highest frequency or highest urgency interrupts are assigned their own
IVG level, and less frequent or lower urgency interrupts (such as error
processing) are ganged together on a single IVG level.
The interrupt manager continues that thinking and has been optimized to
allow extremely efficient processing for primary interrupt handlers.
Though still efficient, secondary handlers are called after the primary han-
dler. Secondary handlers are hooked into the IVG chain in a stacked or
last-in, first-out (LIFO) fashion. This means that when an event is trig-
gered, after calling the primary handler (and assuming the primary
handler did not return the
interrupt manager calls the last secondary handler that was hooked,
followed by the second to last installed handler, and so on.
VisualDSP++ 5.0 Device Drivers and System
Services Manual for Blackfin Processors
return code.
function unmasks the appropriate bit in
register, thereby enabling the interrupt to be processed.
ADI_INT_RESULT_PROCESSED
Interrupt Manager
return code), the
2-7
Need help?
Do you have a question about the VisualDSP++ 5.0 and is the answer not in the manual?