CMSIS-Zone: Microchip SAML11

| CMSIS-Zone Version 1.0.0 System Resource Management

- Main Page
- Usage and Description

All Files Pages
Microchip SAML11

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:

- A header file that contains #defines to control the various linker scatter files (and might be used in other parts of the application).
- The SystemIsolation_Config.c header file that contains memory protection controller (MPC) and peripheral protection controller (PPC) and related interrupt setup.
- The partition_gen.h header file that contains the secure attribution unit (SAU) setup and the NVIC configuration for secure/non-secure.

The application itself shows how to implement calls between the secure and the non-secure part.

# Using the CMSIS-Zone project

- Import the project "Examples\SAML11\Zone" into the CMSIS-Zone utility
- Open the SAML11.azone file
- Generate the related output files

The SAML11.azone file of that project has the following configuration settings:

- Added the zones `sApp` and `nsApp`
- Created the memory regions `APP_NS`, `APP_S`, `APP_NSC`, `DATA_NS`, `DATA_S`, `RAM_NS`, and `RAM_NS`
- Selected various memory regions and peripherals for using in the different zones:

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.

# Using the MDK project

The example project can be loaded, built and debugged in µVision by performing the following steps:

1. Navigate to Examples/SAML11/MDK
2. Open the multi-project workspace NoRTOS.uvmpw
3. Run the batch build in MDK. Both projects, sApp and nsApp need to be compiled in order.