Get started with TrustZone on NXP LPCXpresso55S69
Introduction
Run TrustZone Hello World example
Breaking down the application
Next Steps
Get started with TrustZone on NXP LPCXpresso55S69
Who is this for?
This is an introductory topic for software developers new to using TrustZone.
What will you learn?
Upon completion of this Learning Path, you will be able to:
- Install the Keil MDK Tools
- Run a hello world TrustZone example
- Understand switching of security states
- Learn how secure functions are called from a non-secure state
Prerequisites
Before starting, you will need the following:
- Familiar with C programming on microcontrollers
- Comfortable with Windows
- NXP LPCXpresso55S69 board
Summary
This summary was drafted with an approved AI-assisted workflow and reviewed by Arm contributors before publication. Human technical review remains part of the process so the final page reflects engineering rigor, accuracy, and Arm editorial standards.
You’ll run and debug a TrustZone hello-world example on an NXP LPCXpresso55S69. First, you’ll install Keil MDK and Arm Compiler for Embedded, then retrieve the example through the µVision Pack Installer. Next, you’ll add the secure and non-secure projects to a workspace, build and run them, and use debugging to observe security-state transitions and secure-function calls.
Frequently asked questions
These FAQs were drafted with an approved AI-assisted workflow and reviewed by Arm contributors before publication. Human technical review remains part of the process so the final page reflects engineering rigor, accuracy, and Arm editorial standards.
Install Keil MDK and Arm Compiler for Embedded on a Windows machine, and connect the NXP LPCXpresso55S69 board.
Use the Pack installer widget to select the LPC55S69 device and copy the
hello_ns and hello_s examples into your workspace.In the IDE, choose Project -> Open Project and select the hello_world_s example. This secure project is the starting point for the build and debug flow.
Yes. The TrustZone example consists of
hello_s (secure) and hello_ns (non-secure), and both should be present in your workspace.Start a debug session and step through execution instead of running to completion. The program counter begins at
main() in hello_world_s.c, and the secure startup code has already executed at reset.