到目前为止,在本指南中,我们集中讨论了处理器,但TrustZone远不止是一组处理器功能。要充分利用TrustZone功能,我们还需要系统其余部分的支持。以下是一个启用了TrustZone的系统示例:
本节探讨了该系统中的关键组件以及它们在TrustZone中的作用。
在前面的"物理地址空间"部分,我们介绍了两个物理地址空间的概念,即安全和非安全。处理器向内存系统提供正在访问的地址空间。内存系统使用此信息来执行隔离。
在这个主题中,我们提到了“总线安全”和“总线非安全”。总线安全表示对安全物理地址空间的总线访问。总线非安全表示对非安全物理地址空间的总线访问。请记住,在安全状态下,软件可以访问两个物理地址空间。这意味着总线访问的安全性不一定与生成该访问的处理器的安全状态相同。
【注意】:在AMBA AXI和ACE中,AxPROT[1]信号用于指定正在访问的地址空间。与翻译表(translation tables)中的NS位一样,0表示安全,1表示非安全。
理论上,一个系统可以有两个完全独立的内存系统,使用访问的物理地址空间(AxPROT)在它们之间进行选择。实际上,这是不太可能的。相反,系统使用物理地址空间作