7
使用TrustZone®
某些RA6 MCU(如RA6M4和RA6M5)包含Arm® TrustZone® (TZ) 安全功能。有关 TZ 实现的完整详细信息,请参见 Arm文档或相应的《硬件用户手册》。
https://developer.arm.com/ip-products/security-ip/trustzone
Arm TZ技术将MCU划分为安全和非安全分区,因此应用程序也分为安全和非安全应用程序。安全应用程序可以访问安全和非安全存储区和资源。非安全代码访问非安全存储器和资源,也可以通过位于非安全可调用 (NSC) 区域中的一组跳板(Veneer)来访问安全资源。当从非安全分区中调用安全代码时,跳板可以确保从单个接入点访问安全代码。默认情况下,MCU在安全分区中启动。CPU的安全状态可以是“安全”或“非安全”。MCU代码闪存、数据闪存和SRAM分为安全 (S) 和非安全 (NS) 区域。代码闪存和SRAM还包含一个称为非安全可调用 (NSC) 的区域。当器件生命周期为安全软件调试 (SSD) 状态时,可通过SCI或USB引导模式命令将这些存储器安全属性设置到非易失性存储器中。在应用程序执行之前,存储器安全属性就会被加载到实现定义属性单元 (IDAU) 外设和存储器控制器中,并且无法通过应用程序代码进行更新。
图14. 安全和非安全区域
注:
所有外部存储器访问均被视为不安全访问。
代码闪存和SRAM可以分为安全、非安全和非安全可调用三个区域。所有来自非安全区域的安全存储器访问均必须通过非安全可调用网关,并以特定的安全网关 (SG) 汇编器指令为目标。这将强制访问固定位置的安全API,并防止调用子功能等。未以SG指令为目标将产生TZ异常。支持TZ的编译器将使用CMSE扩展自动管理NSC模板的产生。
参考文档:
• RA Arm® TrustZone®工具入门
• 使用Arm® TrustZone®保护静态数据
• Arm® TrustZone®的安全设计 - IP保护
• 使用SCE9和Arm® TrustZone®建立和保护器件标识
• 器件生命周期管理密钥安装
• 相关的《MCU硬件用户手册》中的“Arm TrustZone安全性”部分。
Renesas提供的仿真器既支持使用SWD或JTAG通信进行调试,也支持使用SCI通信进行串行编程。借助该仿真器,可以轻松地在调试和串行编程之间进行切换。下表显示了使用此仿真器时10引脚或20引脚插座的引脚排列。SWD和JTAG的引脚排列符合Arm®标准,并且添加了MD、TXD、RXD引脚,以便使用SCI通信进行串行编程。
必须使用串行编程接口对TrustZone IDAU边界寄存器设置进行编程。建议使用板上线“或”电路连接P300/SWCLK/TCK和P201/MD引脚,以同时使用调试和串行编程。
表13. 仿真器的引脚分配
图15. 支持Trustzone的MCU的仿真器连接
下一章:存储器
推荐阅读
RA6快速设计指南 [5] 时钟电路 (3)
RA6快速设计指南 [6] 复位要求和复位电路 (上)
RA6快速设计指南 [7] 复位要求和复位电路 (下)