
Secure Engine protected environment
UM2262
64/94
UM2262 Rev 6
Figure 34. SBSFU running in unprivileged level of software execution for standard operations
When the software runs in unprivileged mode, any attempt to access the Secure Engine
code or data results in an MPU fault: this ensures the isolation of the critical assets.
This isolation of the Secure Engine is implemented thanks to specific MPU regions as
shown in
To run a Secure Engine service, the caller must first enter the privileged level of software
execution through a controlled access point. This is done using the concept of SE interface
(refer to
, keeping in mind that MPU protection replaces the
Firewall protection). It abstracts the request to get the privileged level of software execution:
this request consists in triggering a supervisor (SVC) call.
In the SBSFU example delivered in the X-CUBE-SBSFU Expansion Package, the SBSFU
application implements an SVC handler to catch this SVC call and process it with another
SE interface service to enter the Secure Engine via its call gate as shown in
.
Note:
The SVC handler must be trusted because it is a key element of the Secure Engine access
control.
Table 7. MPU regions for Secure Engine isolation
Region content
Privileged permission
Unprivileged permission
Secure Engine code & constants
Read Only
(execution allowed)
No access
Secure Engine stack & VDATA
Read Write
(not executable)
No access