4.1.2 __cmse_nonsecure_call Keyword
The keyword __cmse_nonsecure_call
can be used on a function pointer, and
indicates that a call via the pointer will enter non-secure state. The execution state
will be cleared up before such a call, to avoid leaking sensitive data to the non-secure
state.
The __cmse_nonsecure_call
keyword can only be used with a function
pointer, and it is only allowed when compiling with --cmse
.
The keyword __cmse_nonsecure_call
is not supported for variadic
functions, for functions with parameters or return values that do not fit in registers,
or for functions with parameters or return values in floating-point registers.
In 64-bit mode, this keyword cannot be used.
On IAR, can only be used when passing --cmse
to compiler.
On XC32, can only be used when passing -mcmse
to compiler.
Suggested Replacement
cmse_nonsecure_call
Caveats
None.
Examples
__cmse_nonsecure_call void test();
to MPLAB XC codes
similar
to:__attribute__((cmse_nonsecure_call)) void test();
Further Information
None.