I am porting FreeRTOS with TrustZone on LPC5500, I put FreeRTOS in secure memory, and created several user tasks in non-secure memory, as shown below:
But so far, I have not successfully switched from a secure task to a non-secure task.
How to switch from a secure task to a non-secure task?
Sorry for delay. I must have missed the notification email (too many emails).
A task (assume Non-secure unprivileged) can update SP (R13), and if the current selected SP is PSP, then it is updating PSP_NS.
But normally in an RTOS environment, the initial value of PSP_NS is initialized by the OS (not by the task itself) before the Non-secure task starts.
regards,
Joseph