Vectored Interrupt Controller: Initializing VICADDRESS

Hi,

According to the Vectored Interrupt Controller (PL192) TRM, Reading or writing to this register should only be done in IRQ mode (my understanding). I was wondering, if in my boot up sequence, while the CPU is in SVC mode, writing all zeros to this (VICADDRESS) register for initialization purposes should be skipped, i.e. there is no need to initialize this register to any value. Please confirm.

Quoting from the manual below:

Note

Reading from this register provides the address of the ISR, and indicates to the priority hardware that the interrupt is being serviced. Writing to this register indicates to the priority hardware that the interrupt has been serviced. The register must be used as follows:

the ISR reads the VICADDRESS Register when an IRQ interrupt is generated

at the end of the ISR, the VICADDRESS Register is written to, to update the priority hardware.

Reading or writing to this register at other times can cause incorrect operation.

More questions in this forum