TrustZone技术是适用于Armv8-M的可选安全扩展,旨在为各种嵌入式应用提供改进的系统安全基础。
TrustZone技术的概念并不新鲜。该技术已经在Arm Cortex-A系列处理器上使用了几年,现在已经扩展到Armv8-M处理器。
在high level上,TrustZone技术适用于Armv8-M的概念与Arm Cortex-A处理器上的TrustZone技术相似。在两种设计中,处理器具有安全和非安全状态,非安全软件只能访问非安全内存。TrustZone技术适用于Armv8-M被设计用于小型高效能系统。与Cortex-A处理器上的TrustZone技术不同,安全和普通世界的划分是基于内存映射的,并且在异常处理代码中自动发生状态转换。
然而,在实现中存在一些差异:
- Armv8-M的TrustZone技术支持多个安全功能入口点,而在Cortex-A处理器的TrustZone技术中,安全监视器处理程序是唯一的入口点。
- 在执行安全功能时,非安全中断仍然可以被处理。
因此,Armv8-M的TrustZone技术针对低功耗微控制器类型应用进行了优化:
- 在许多带有实时处理的微控制器应用中,确定性行为和低中断延迟是重要的要求。在运行安全代码时处理中断请求的能力至关重要。
- 通过允许寄存器组在安全和非安全状态之间共享,Armv8-M实现的功耗可以与Armv6-M或A