Hi,
I'm using the Cortex-M33 and I would like to know if it's possible to change the Non Secure Vector table offset address (VTOR) while maintaining the Secure VTOR pointing to a different address.
The VTOR_S is located at 0xE000ED08 and the VTOR_NS at 0xE002ED08.
If I change the address of the VTOR_S, the address of VTOR_NS also changes to the same as the secure. On the other hand, if I change the VTOR_NS (located at 0xE002ED08) nothing happens, not even the VTOR_NS itself...is there any protection bit that it's missing to me?
Thanks.
You're welcome. Instead of using memory window to modify VTOR_S/VTOR_NS, debug tool should have some separate core peripheral access windows that allow you to control these registers.
In case you want to know the details:
In Armv8-M architecture Reference Manual, section1.2.50 DSCSR,
(https://developer.arm.com/docs/ddi0553/latest/armv8-m-architecture-reference-manual)
there is two bits called SBRSEL (Secure banked register select), and SBRSELEN (Secure banked register select enable), debugger can set SBRSELEN to 1, then it can use SBRSEL to decide if it want to see Secure or Non-secure versions of VTOR.
regards,
joseph