7
使用TrustZone
7.1 Arm TrustZone技術(shù)的實(shí)現(xiàn)
某些RA6 MCU(如RA6M4和RA6M5)包含Arm TrustZone (TZ) 安全功能。有關(guān) TZ 實(shí)現(xiàn)的完整詳細(xì)信息,請參見 Arm文檔或相應(yīng)的《硬件用戶手冊》。
https://developer.arm.com/ip-products/security-ip/trustzone
Arm TZ技術(shù)將MCU劃分為安全和非安全分區(qū),因此應(yīng)用程序也分為安全和非安全應(yīng)用程序。安全應(yīng)用程序可以訪問安全和非安全存儲(chǔ)區(qū)和資源。非安全代碼訪問非安全存儲(chǔ)器和資源,也可以通過位于非安全可調(diào)用 (NSC) 區(qū)域中的一組跳板(Veneer)來訪問安全資源。當(dāng)從非安全分區(qū)中調(diào)用安全代碼時(shí),跳板可以確保從單個(gè)接入點(diǎn)訪問安全代碼。默認(rèn)情況下,MCU在安全分區(qū)中啟動(dòng)。CPU的安全狀態(tài)可以是“安全”或“非安全”。MCU代碼閃存、數(shù)據(jù)閃存和SRAM分為安全 (S) 和非安全 (NS) 區(qū)域。代碼閃存和SRAM還包含一個(gè)稱為非安全可調(diào)用 (NSC) 的區(qū)域。當(dāng)器件生命周期為安全軟件調(diào)試 (SSD) 狀態(tài)時(shí),可通過SCI或USB引導(dǎo)模式命令將這些存儲(chǔ)器安全屬性設(shè)置到非易失性存儲(chǔ)器中。在應(yīng)用程序執(zhí)行之前,存儲(chǔ)器安全屬性就會(huì)被加載到實(shí)現(xiàn)定義屬性單元 (IDAU) 外設(shè)和存儲(chǔ)器控制器中,并且無法通過應(yīng)用程序代碼進(jìn)行更新。
圖14. 安全和非安全區(qū)域
注:
所有外部存儲(chǔ)器訪問均被視為不安全訪問。
代碼閃存和SRAM可以分為安全、非安全和非安全可調(diào)用三個(gè)區(qū)域。所有來自非安全區(qū)域的安全存儲(chǔ)器訪問均必須通過非安全可調(diào)用網(wǎng)關(guān),并以特定的安全網(wǎng)關(guān) (SG) 匯編器指令為目標(biāo)。這將強(qiáng)制訪問固定位置的安全API,并防止調(diào)用子功能等。未以SG指令為目標(biāo)將產(chǎn)生TZ異常。支持TZ的編譯器將使用CMSE擴(kuò)展自動(dòng)管理NSC模板的產(chǎn)生。
參考文檔:
? RA Arm TrustZone工具入門
? 使用Arm TrustZone保護(hù)靜態(tài)數(shù)據(jù)
? Arm TrustZone的安全設(shè)計(jì) - IP保護(hù)
? 使用SCE9和Arm TrustZone建立和保護(hù)器件標(biāo)識(shí)
? 器件生命周期管理密鑰安裝
? 相關(guān)的《MCU硬件用戶手冊》中的“Arm TrustZone安全性”部分。
7.2 支持TrustZone的仿真器
Renesas提供的仿真器既支持使用SWD或JTAG通信進(jìn)行調(diào)試,也支持使用SCI通信進(jìn)行串行編程。借助該仿真器,可以輕松地在調(diào)試和串行編程之間進(jìn)行切換。下表顯示了使用此仿真器時(shí)10引腳或20引腳插座的引腳排列。SWD和JTAG的引腳排列符合Arm標(biāo)準(zhǔn),并且添加了MD、TXD、RXD引腳,以便使用SCI通信進(jìn)行串行編程。
必須使用串行編程接口對TrustZone IDAU邊界寄存器設(shè)置進(jìn)行編程。建議使用板上線“或”電路連接P300/SWCLK/TCK和P201/MD引腳,以同時(shí)使用調(diào)試和串行編程。
表13. 仿真器的引腳分配
圖15. 支持Trustzone的MCU的仿真器連接
下一章:存儲(chǔ)器
-
mcu
+關(guān)注
關(guān)注
146文章
17324瀏覽量
352658 -
瑞薩
+關(guān)注
關(guān)注
35文章
22310瀏覽量
86759
原文標(biāo)題:RA6快速設(shè)計(jì)指南 [8] 使用TrustZone?
文章出處:【微信號(hào):瑞薩MCU小百科,微信公眾號(hào):瑞薩MCU小百科】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。
發(fā)布評論請先 登錄
相關(guān)推薦
評論