SDAA473 November   2026 MSPM33C321A , MSPM33C321A-Q1

 

  1.   1
  2.   Abstract
  3.   Trademarks
  4. 1Introduction
    1. 1.1 Security Concept
    2. 1.2 Key Concepts
  5. 2TrustZone Architecture
    1. 2.1 MSPM33 Family Overview
    2. 2.2 TrustZone Feature
      1. 2.2.1 Security States – Secure, Non-secure, Non-secure Callable
      2. 2.2.2 First Security Attribute Define – SAU and IDAU
      3. 2.2.3 Second Security Attribute Define – Global Security Controller
      4. 2.2.4 Security Attribute with TrustZone® and GSC
      5. 2.2.5 Secure and Non-secure Debug Authentication
    3. 2.3 TrustZone® Software Development
  6. 3Develop TrustZone Based Application
    1. 3.1 Device Configuration
      1. 3.1.1 NONMAIN FLASH
        1. 3.1.1.1 Security and Privilege Configuration on FLASH
        2. 3.1.1.2 Other Configurations in NONMAIN FLASH
        3. 3.1.1.3 Configure NONMAIN FLASH in the Sysconfig
    2. 3.2 Develop Secure Application
      1. 3.2.1 Project Dependency
        1. 3.2.1.1 Structure of Secure Application Example
      2. 3.2.2 SAU and IDAU Configuration
        1. 3.2.2.1 Configure SAU in the Project
      3. 3.2.3 Global Security Controller Configuration
        1. 3.2.3.1 Configure GSC in the Sysconfig
        2. 3.2.3.2 Other Configurations in GSC
      4. 3.2.4 Defining Functions as Secure and Non-Secure
        1. 3.2.4.1 Define Non Secure Callable function in the Project
      5. 3.2.5 Code Implementation on Secure Application
        1. 3.2.5.1 Configure .cmd file to assign memory
        2. 3.2.5.2 Secure Application
        3. 3.2.5.3 Secure Interrupt and Non-secure Interrupt
        4. 3.2.5.4 Branch to Non-secure Application
    3. 3.3 Develop Non-Secure Application
      1. 3.3.1 Project Dependency
        1. 3.3.1.1 Structure of Non-secure Application Example
      2. 3.3.2 Code Implementation on Non-secure Application
        1. 3.3.2.1 Configure .cmd file to assign memory
        2. 3.3.2.2 Non-secure Application and NSC Function Call
  7. 4Evaluate TrustZone Based Application
    1. 4.1 Environment Setup
    2. 4.2 Load Secure and Non-secure Images Together
      1. 4.2.1 Step 1: Build the Non-Secure Application
      2. 4.2.2 Step 2: Programming the full.txt File
    3. 4.3 Load Secure and Non-secure Images separately
      1. 4.3.1 Step 1: Build the Non-Secure Application
      2. 4.3.2 Step 2: Programming the Non-Secure Application
      3. 4.3.3 Step 3: Build the Secure Application
      4. 4.3.4 Step 4: Programming the Secure Application
    4. 4.4 Debug and Evaluate the Example
      1. 4.4.1 Add Symbols in the Debug
      2. 4.4.2 Observe Results with Free Run
      3. 4.4.3 Add Breakpoints to Observe the Process
  8. 5FAQ
    1. 5.1 How to Modify the Range of S/NS SRAM
    2. 5.2 How to Modify the Range of S/NS FLASH
    3. 5.3 How to Modify the Security Attribute on Peripherals
  9. 6Summary
  10. 7References

How to Modify the Range of S/NS FLASH

Users may need to definite custom secure or non-secure region in FLASH. This section shows how to modify range of secure or non-secure FLASH in the example shown in Section 4.1.

  1. For SAU configuration, user should modify NON_SECURE_APP0_START and NON_SECURE_APP0_LEN in config.h(in secure application) for non-secure FLASH. Users should also modify SECURE_NSC_APP0_START and SECURE_NSC_APP0_LEN in config.h(in secure application) for non-secure callable region. The following images show the setting for non-secure FLASH from 0x00010000 to 0x0001FFFF and non-secure callable region from 0x0000F800 to 0x0000FFFF. See Section 3.2.2 for the details on configuration.
  2. For GSC configuration, user should modify sysconfig(in secure application). Below is the setting for secure FLASH on first 64KB(0x0-0x0FFFF) and non-secure FLASH on remaining 960KB(0x10000-0x7FFFF).
    Note: Typically security attribution setting is same in SAU configuration and GSC configuration. If two configurations are different, please refer to Section 2.2.4 for the final security attribution.
  3. Modify cmd file in secure application for secure FLASH and non-secure callable FLASH. Below is the setting for secure FLASH on first 30KB and non-secure callable FLASH on next 2KB.
  4. Modify cmd file in non-secure application for non-secure FLASH. Below is the setting for non-secure FLASH(starting from 0x10000).