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 the delay - my workload recently has been crazy.
0XFFFFFFBD is not illegal, but it depends on several requirements:
- Returning from Secure handler to Non-secure thread
- Non-secure world was using PSP_NS (SPSEL_NS=1 before the exception)
- Secure world's thread was using PSP_S (SPSEL_S=1 before the exception)
- FPU was inactive (CONTROL.FPCA=0 before the exception)
regards,
Joseph