Professional Documents
Culture Documents
VECTOR INTERRUPTS
CONTROLLER
MUHAMMAD ELZEINY
EXCEPTION ENTRY AND RETURN
• When the processor takes an exception, the
processor pushes the stack frame (eight data
words)
• In parallel the processor performs a vector fetch i.e.
read the exception handler address.
• When stacking is complete the processor starts
executing the exception handler.
• At the same time, the processor writes an
EXC_RETURN value to the LR
• When the exception is complete the EXC_RETURN
loaded into the PC
2
LEVEL-SENSITIVE AND PULSE INTERRUPTS
3
FEATURES
• 78 interrupts.
• A programmable priority level of 0-7 for each interrupt.
• Low-latency exception and interrupt handling.
• Level and pulse detection of interrupt signals.
• Grouping of priority values into group priority and subpriority fields.
• Interrupt tail-chaining and late arriving mechanism.
• An external Non-maskable interrupt (NMI).
4
GROUPING OF PRIORITY
• The NVIC can assign each interrupt to
Group and sub-group
• If the pending\active interrupts have
different Group priority → The higher will
serve\preempt first.
• If the pending interrupts have different
sub-Group priority → the higher one will
be served first (but can’t preempt the
active one)
• If the pending interrupts have the same
Group and sub-group priority → the first
ordered in vector table will be served first
(but can’t preempt the active one)
5
GROUP ACTIVITY
6
#TASK – INTCTR DRIVER