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 How to place FreeRTOS in secure memory and the user tasks in non-secure memory?
  • TrustZone
  • Armv8-M
0 votes 5364 views 19 replies Latest 15 days ago by gaility Answer this
Answered Boot sequence and secure boot
  • Cortex-M23
  • Cortex-M
  • Armv8-M
0 votes 1227 views 2 replies Latest 16 days ago by LukaP Answer this
Suggested answer Non-secure code calling secure code - Boot Loaders 0 votes 439 views 2 replies Latest 26 days ago by vinkot Answer this
Not answered MPU and TrustZone 0 votes 438 views 0 replies Started 1 months ago by Talk2Joseph Answer this
Answered Non-secure EXC_RETURN value to Secure HardFault Handler 0 votes 1132 views 2 replies Latest 3 months ago by Rajiv Answer this
Answered JTAG to TrustZone Cortex-M33
  • CHI
  • TrustZone
  • Armv8-M
0 votes 1626 views 2 replies Latest 3 months ago by Ronan Synnott Answer this
Suggested answer How to place FreeRTOS in secure memory and the user tasks in non-secure memory? Latest 15 days ago by gaility 19 replies 5364 views
Answered Boot sequence and secure boot Latest 16 days ago by LukaP 2 replies 1227 views
Suggested answer Non-secure code calling secure code - Boot Loaders Latest 26 days ago by vinkot 2 replies 439 views
Not answered MPU and TrustZone Started 1 months ago by Talk2Joseph 0 replies 438 views
Answered Non-secure EXC_RETURN value to Secure HardFault Handler Latest 3 months ago by Rajiv 2 replies 1132 views
Answered JTAG to TrustZone Cortex-M33 Latest 3 months ago by Ronan Synnott 2 replies 1626 views