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

How to place FreeRTOS in secure memory and the user tasks in non-secure memory?

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?

Parents
  • 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

Reply
  • 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

Children
No data