Text: arm TRUSTZONE (logo).

Introducing Arm TrustZone

Arm TrustZone technology provides system-wide hardware isolation for trusted software. The family of TrustZone technologies can be integrated into any Arm Cortex-A core, supporting high-performance applications processors, with TrustZone technology for Cortex-A processors.

It also supports the latest Cortex-M23 and Cortex-M33 based systems, thanks to the release of the Armv8-M architecture, filling the market need for efficient secure embedded solutions.

Want to know more about Security on Arm?

Join the community to get your questions answered


The basics of Arm TrustZone

Arm TrustZone creates an isolated secure world which can be used to provide confidentiality and integrity to the system. It is used on billions of applications' processors to protect high-value code and data for diverse use cases including authentication, payment, content protection and enterprise. On application processors it is frequently used to provide a security boundary for a GlobalPlatform Trusted Execution Environment.

Want to know more about Arm TrustZone for Armv8-M?

Join our community

Learn more

TrustZone for Armv8-A vs. TrustZone for Armv8-M

Feature/Architecture TrustZone for Armv8-A TrustZone for Armv8-M 
Additional security states SEL0 - Trusted Apps SEL1 - Trusted OS EL3 - Trusted Boot and Firmware (Armv8-A) Secure thread - Trusted code/data Secure handler - Trusted device drivers, RTOS, Library managers...
Secure interrupts Yes Yes (Fast) 
State transition (Boundary crossing) Software transition Hardware transition (Fast) 
Memory management Virtual memory MMU with secure attributes Secure Attribution Unit (SAU) and MPU memory partitions
System interconnect security Yes Yes
Secure code, data and memory Yes Yes
Trusted boot  Yes Yes
Software Arm trusted firmware (and third-party TEEs)  Keil CMSIS, Arm mbed OS, mbed uVisor and third-party software 

Want to know more about Arm TrustZone for Arm Cortex-A processors? 

Learn more


Want to know more about Arm TrustZone?

Read the Architecture Overview


Get support

Arm support

Arm training courses and on-site system-design advisory services enable licensees to realize maximum system performance with lowest risk and fastest time-to-market.

Arm training courses  Open a support case

Community Blogs

Community Forums

Suggested answer Context protection when calling a secure function(NSC) in a non-secure interrupt function 0 votes 1189 views 10 replies Latest 1 months ago by Yang Zhang Answer this
Suggested answer How to place FreeRTOS in secure memory and the user tasks in non-secure memory?
  • TrustZone
  • Armv8-M
0 votes 7358 views 21 replies Latest 1 months ago by Joseph Yiu Answer this
Answered Boot sequence and secure boot
  • Cortex-M23
  • Cortex-M
  • Armv8-M
0 votes 1994 views 2 replies Latest 2 months ago by LukaP Answer this
Suggested answer Non-secure code calling secure code - Boot Loaders 0 votes 1123 views 2 replies Latest 2 months ago by vinkot Answer this
Not answered MPU and TrustZone 0 votes 805 views 0 replies Started 3 months ago by Talk2Joseph Answer this
Answered Non-secure EXC_RETURN value to Secure HardFault Handler 0 votes 1729 views 2 replies Latest 5 months ago by Rajiv Answer this
Suggested answer Context protection when calling a secure function(NSC) in a non-secure interrupt function Latest 1 months ago by Yang Zhang 10 replies 1189 views
Suggested answer How to place FreeRTOS in secure memory and the user tasks in non-secure memory? Latest 1 months ago by Joseph Yiu 21 replies 7358 views
Answered Boot sequence and secure boot Latest 2 months ago by LukaP 2 replies 1994 views
Suggested answer Non-secure code calling secure code - Boot Loaders Latest 2 months ago by vinkot 2 replies 1123 views
Not answered MPU and TrustZone Started 3 months ago by Talk2Joseph 0 replies 805 views
Answered Non-secure EXC_RETURN value to Secure HardFault Handler Latest 5 months ago by Rajiv 2 replies 1729 views