This single processor demo application shows how to do the TrustZone Partitioning. It is split into a secure and non-secure part. Using CMSIS-Zone, it generates:
The application itself shows how to implement calls between the secure and the non-secure part.
The SAML11.azone file of that project has the following configuration settings:
sApp
and nsApp
APP_NS
, APP_S
, APP_NSC
, DATA_NS
, DATA_S
, RAM_NS
, and RAM_NS
The zones use different Flash and SRAM regions for code and data. To generate the output, click on the Generate button in the Zone Editor tool bar. This creates the following files in the ftl_gen
directory:
Template File | Generated File | Description |
---|---|---|
dump_fzone.txt.ftl | dump_fzone.txt | Contains the complete model |
flash.dbgconf.ftl | flash.dbgconf | Flash algorithm configuration for security settings |
flash.dbgconf.lst.ftl | flash.dbgconf.lst | Flash algorithm configuration for security settings |
helper.ftlinc | N/A | Helper template file with FTL functions. |
scatter_ns.sct.ftl | scatter_ns.sct | Example scatter file for non-secure zone. |
scatter_s.sct.ftl | scatter_s.sct | Example scatter file for secure zone. |
These files can be used in any IDE to create the final application. In the following, the usage in Arm Keil MDK is described.
The example project can be loaded, built and debugged in µVision by performing the following steps: