Calling an NS Function from NSCallable Section in TrustZone-M

Hello all,

We have a specific case that we need to return to a NSCallable section, and we need to call/jump a Callback that points a function in Non-Secure World.


When we try this, we are getting SFSR->INVTRAN (Secure Fault: Invalid transaction) exception.

Is there any architectural limitation or can we perform this somehow?

Thank you.

  • Hi

    My name is Sally and I work at Arm.

    When calling non-secure code from secure code, secure code must call non-secure code using an interstating branch instruction: BXNS or BLXNS

    Attempting to switch to Non-secure state via any other branch will result in:

    • An INVTRAN SecureFault Armv8-M Mainline implementations
    • A Secure HardFault in Armv8-M Baseline implementations

    I think you may have encountered the situation I described. You can check it out, or describe the scenario of your case and the instructions used in more detail.

    Hope this helps.

    Best Regards,

    Sally