I want to know where the context was saved when a secure function was called in a non-secure interrupt function.
As shown in the figure, when a secure NSC function is called in a non-secure SVC interrupt service function,
the PUSH {R4-R6, LR} operation is executed. At this time, CONTROL_S==0x03, that is, the Thread/PSP state.
But the PSP_S=0X00000000, I want to know where the {R4-R6, LR} registers are pushed into?
By the way: the result of the program is normal.
Thank you!
Hi Yang,
Good to see that you have progressed with debugging the issue.
I am guessing that it could be an IDE display issue, however since I am not an expert in this area I can not comment on this regard.
Thanks
Uma
Hi Uma
I want you to help me confirm a problem:
When the NSC function is called in a non-secure SVC interrupt function, and the CPU switches from a non-secure state to secure state. Is the CPU still in Handler mode?
Thanks a lot.
Best Regards
Yang
Sorry, I missed this question earlier.
Yes. The CPU is expected to be in Handler mode only (assuming that there no asynchronous interrupt between the state transitions)
Thanks,
Thank you very much.