到目前為止,在本指南中,我們集中討論了處理器,但TrustZone遠不止是一組處理器功能。要充分利用TrustZone功能,我們還需要系統其余部分的支持。以下是一個啟用了TrustZone的系統示例:
本節探討了該系統中的關鍵組件以及它們在TrustZone中的作用。
完成器:外圍設備和內存
在前面的"物理地址空間"部分,我們介紹了兩個物理地址空間的概念,即安全和非安全。處理器向內存系統提供正在訪問的地址空間。內存系統使用此信息來執行隔離。
在這個主題中,我們提到了“總線安全”和“總線非安全”。總線安全表示對安全物理地址空間的總線訪問。總線非安全表示對非安全物理地址空間的總線訪問。請記住,在安全狀態下,軟件可以訪問兩個物理地址空間。這意味著總線訪問的安全性不一定與生成該訪問的處理器的安全狀態相同。
【注意】:在AMBA AXI和ACE中,AxPROT[1]信號用于指定正在訪問的地址空間。與翻譯表(translation tables)中的NS位一樣,0表示安全,1表示非安全。
理論上,一個系統可以有兩個完全獨立的內存系統,使用訪問的物理地址空間(AxPROT)在它們之間進行選擇。實際上,這是不太可能的。相反,系統使用物理地址空間作