RM0082
CPU subsystem_Vectored interrupt controller (VIC)
Doc ID 018672 Rev 1
Note:
The ISR reads the VICVECTADDR register when an IRQ interrupt is generated. At the end
of the ISR, the VICVECTADDR register is written to, to update the priority hardware.
Reading or writing to this register at other times can cause incorrect operation.
8.6.13 VICDEFVECTADDR register
The VICDEFVECTADDR (default vector address) is a RW register which contains the
default ISR address.
8.6.14 VICVECTADDR register
Each VICVECTADDRi (with i = 0...15) is a RW register which contains the ISR address for
the relevant vectored interrupt.
8.6.15 VICVECTCNTL register
Each VICVECTCNTLi (with i = 0...15) is a RW registers which allows to select the interrupt
source for the i-th vectored interrupt. The bit assignments of VICVECTCNTLi are given in
.
Note:
Vectored interrupts are only generated if the interrupt is enabled. The specific interrupt is
enabled in the VICINTENABLE register (
Section 8.6.7: VICINTENABLE register
), and the
interrupt is set to generate an IRQ interrupt in the VICINTSELECT register (
). This prevents multiple interrupts being generated from a single
request if the controller is incorrectly programmed.
8.6.16 Peripheral
identification registers
The read-only VICPeriphID0-3 registers are four 8 bit registers, that span address locations
0xFE0-0xFEC. You can treat the registers conceptually as a single 32 bit register. The read-
only registers provide the following options for the peripheral.
.
Table 38.
VICVECTADDR register bit assignments
Bit
Name
Reset
value
Description
[31:00]
Vector Addr
32’h0
Reading from this register provides the address of the
currently active ISR, indicating that the interrupt is
being serviced.
Writing to this register indicates that the interrupt has
been serviced and the interrupt is cleared.
Table 39.
VICVECTCNTL registers bit assignments
Bit
Name
Reset
value
Description
[31:06]
Reserved
-
Read: undefined. Write: should be zero.
[05]
E
1’h0
If set, it enables vector interrupt.
[04:00]
IntSource
5’h0
It allows to select any of the 32 interrupt sources (IRQ
only).