This discussion has been locked.
You can no longer post new replies to this discussion. If you have a question you can start a new discussion

Right way to jump to New Vector Table without Reset

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??

VINITHI Input Tie-off, Reset Reset V-bit value. When HIGH indicates HIVECS mode at reset. See c1, System Control Register for more information.

The V(Vector Bit ) in SCTLR register

[13] V RW

Vectors bit. This bit selects the base address of the exception vectors:

0

Normal exception vectors, base address 0x00000000.

1

High exception vectors, Hivecs, base address 0xFFFF0000.

At reset the value of this bit is taken from VINITHI.