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 479 views 10 replies Latest 5 days 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 6190 views 21 replies Latest 17 days ago by Joseph Yiu Answer this
Answered Boot sequence and secure boot
  • Cortex-M23
  • Cortex-M
  • Armv8-M
0 votes 1524 views 2 replies Latest 1 months ago by LukaP Answer this
Suggested answer Non-secure code calling secure code - Boot Loaders 0 votes 722 views 2 replies Latest 1 months ago by vinkot Answer this
Not answered MPU and TrustZone 0 votes 579 views 0 replies Started 2 months ago by Talk2Joseph Answer this
Answered Non-secure EXC_RETURN value to Secure HardFault Handler 0 votes 1373 views 2 replies Latest 4 months ago by Rajiv Answer this
Suggested answer Context protection when calling a secure function(NSC) in a non-secure interrupt function Latest 5 days ago by Yang Zhang 10 replies 479 views
Suggested answer How to place FreeRTOS in secure memory and the user tasks in non-secure memory? Latest 17 days ago by Joseph Yiu 21 replies 6190 views
Answered Boot sequence and secure boot Latest 1 months ago by LukaP 2 replies 1524 views
Suggested answer Non-secure code calling secure code - Boot Loaders Latest 1 months ago by vinkot 2 replies 722 views
Not answered MPU and TrustZone Started 2 months ago by Talk2Joseph 0 replies 579 views
Answered Non-secure EXC_RETURN value to Secure HardFault Handler Latest 4 months ago by Rajiv 2 replies 1373 views