Hello everyone,
I am currently working on an OS that currently doesn't support TrustZone, where I want to do one simple task: Jump to a non-secure function and immediatly return to the secure function.
I modified the function pointer to the ns_function according to this link and configured the SAU according to this page and used the -mcmse flag, TZEN is also set. However, I get a forced Hard Fault, when I try to execute the non-secure code. Why does that happen? Is there something else I have to take into account?
I've only worked once with the Nucleo L552ZE-Q, which was the only time I ever worked with TrustZone. Furthermore, I cannot use the STM32CubeIDE, since the project was not developed with it. Also, the code for secure and non-secure should be in the same binary.
I am using version 11.2.1 of the toolchain from arm.
Thank you very much for any tips you can give me.
Is it required to link with the --import-cmse-lib-out, when the code is in the same file? There is an error when I am adding it to the Makefile, which I cannot pin down right now.Similarly, is it required to use the scatter files? I was discouraged to use them in the beginning of the project, because we are using a linker script.
I think I should cover the points mentioning the header files. And also, the acle-functions are included. I generally covered the points mentioned in the pages above, excluding the scatter files and the --import-cmse-lib-out option.