Armv8-M与Armv8.1-M架构的特性及应用详解
1. 安全区域与中断配置
启动代码可对SAU(Security Attribution Unit)进行编程,以定义安全和非安全区域。之后,可将非安全向量表置于非安全代码空间的起始位置。每个外设中断能通过ITNS寄存器路由至安全或非安全的NVIC(Nested Vectored Interrupt Controller)。
2. CMSIS对TrustZone的支持
CMSIS(Cortex Microcontroller Software Interface Standard)核心规范为TrustZone提供了广泛支持,具体支持范围如下表所示:
| CMSIS TrustZone支持 | 描述 |
| — | — |
| 核心寄存器访问函数 | 支持从安全状态访问非安全处理器寄存器 |
| NVIC函数 | 支持在安全状态下访问非安全NVIC寄存器 |
| Systick函数 | 支持在安全状态下访问非安全Systick定时器 |
| 栈密封函数 | 支持栈密封技术,防止潜在的栈下溢攻击 |
| RTOS上下文管理 | 支持从非安全状态调用安全模块的RTOS线程管理 |
3. 平台安全架构(PSA)
随着Armv8 - M架构和TrustZone的引入,Arm还开发了一个名为平台安全架构(PSA)的开源安全项目。PSA项目为物联网或其他联网设备定义了一个强大的安全模型,以抵御网络软件攻击。PSA还为Cortex - M提供了参考可信固件,该固件设计为驻留在“安全处理环境”(SPE)中。
超级会员免费看
订阅专栏 解锁全文
157

被折叠的 条评论
为什么被折叠?



