Hello,
I am trying to execute code which has two vector tables/ images, when making the transition from high vector 0xFFFF0000 to table in low 0x0
I am currently considering Cortex-R series processor
which has VINITH , and SCTLR as involved registers in the following sequence.
1. Change VINITH to LOWVEC(0)
2. Change SCTLR Bit V to 0
3. Jump to Function Pointer to Reset Handler of new Vector Table in LowVec memory.
I would like to know if there are any pitfalls to this scheme v.s performing step 2. after 3.
P.S. This is intended to substitute a core self-soft_reset which i think is not possible from code running on the core??
The V(Vector Bit ) in SCTLR register
Vectors bit. This bit selects the base address of the exception vectors:
0
Normal exception vectors, base address 0x00000000.
0x00000000
1
High exception vectors, Hivecs, base address 0xFFFF0000.
0xFFFF0000
At reset the value of this bit is taken from VINITHI.