Arm® TrustZone® Getting Started Application on SAM L11: Step 1
Create MPLAB® Harmony v3 Arm® TrustZone® Project using MPLAB X IDE
Select File > New Project from the main IDE menu.
In the Categories pane of the New Project dialog, select Microchip Embedded.
In the Projects pane, select 32-bit MCC Harmony Project, then click Next.
Browse to the folder you downloaded the framework to in the Framework Path edit box.
Then click Next.
- The path to your Harmony 3 installation folder should already be populated. if not, create a folder somewhere on your computer, like C:\harmony3, and point the project to that path.
- The Harmony 3 necessary files will be downloaded to that path later during these steps.
In the Project Settings window, apply the following settings:
Location: Indicates the path to the root folder of the new project. All project files will be placed inside this folder. The project location can be any valid path, for example: <C:microchip\harmony\v3\training\dev\saml11_trustzone_getting_started.
- Location: Indicates the path to the root folder of the new project. All project files will be placed inside this folder. The project location can be any valid path, for example: C:microchip\harmony\v3\training\dev\saml11_trustzone_getting_started.
- Folder: Indicates the name of the MPLABX .X folder. Enter "sam_l11_xpro" to create sam_l11_xpro_Secure.X and sam_l11_xpro_NonSecure.X folders.
- Name: Indicates the name of the project that will be shown in MPLAB X IDE. Enter "trustzone_sam_l11_xpro" to set the project's name.
Click Next to proceed to Configuration Settings.
Follow these steps to set the project’s Configuration Settings.
Name: Enter the configuration name as "sam_l11_xpro".
- Target Device: Select ATSAML11E16A as the target device.
After selecting the target device, click Finish to launch the MCC.
The MCC content manager window is displayed. In this click Select MPLAB Harmony (by default this option is selected).
Click Finish to launch the MCC tool with the packages.
The MCC plugin’s main window for the project will be displayed as shown below.
Before proceeding, set up the Device Family Pack (DFP) and Compiler toolchain for both the Secure and Non-Secure projects.
- Click on the Projects tab on the top left pane in MPLAB X IDE. Right click on the project name trustzone_sam_l11_xpro_NonSecure.
Go to Set Configuration and Click on the Customize...
- Make sure that XC32 (v4.30) is selected as the Compiler Toolchain for XC32 and select the SAML11_DFP package 4.5.268. Click on Apply and then click on OK.
- Click on the Projects tab on the top left pane in MPLAB X IDE. Right click on the project name trustzone_sam_l11_xpro_Secure.
Go to Set Configuration and Click on the Customize...
- Make sure that XC32 (v4.30) is selected as the Compiler Toolchain for XC32 and select the SAML11_DFP pakcage 4.5.268. Click on Apply and then click on OK.
Verify Clock Settings
Launch Clock Easy View by going to the Project Graph tab in the MPLAB X IDE and then select Plugins > Clock Configuration.
A new window, Clock Easy View, is opened inside MCC.
Click on the Clock Easy View tab, scroll to the right and verify that the Main Clock is set to 32 MHz.
Configure Secure and Non-Secure Peripherals
Launch Arm TrustZone for Armv8-M by going to the Project Graph tab in the MPLAB X IDE and then select Plugins > Arm TrustZone for Armv8-M.
A new window, Arm TrustZone for Armv8-M, is opened inside MCC.
Click on the Peripheral Configuration tab to configure Peripherals to run in Secure and Non-Secure mode.
As per the project design, configure DMAC and SERCOM0 as NonSecure Peripherals.
Verify Secure and Non-Secure Memory Regions
Click on the Memory Configuration tab to verify the default Memory Configuration.