RA6快速设计指南 [8] 使用TrustZone®

描述

瑞萨

 

7

使用TrustZone

 

 

7.1 Arm 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安全性”部分。

 

7.2 支持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的仿真器连接

 

下一章:存储器

 


打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分