本文主要是介绍Armv8-M的TrustZone技术之测试目标指令,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
为了允许软件确定内存位置的安全属性,使用了TT指令(Test Target)。
Test Target(TT)查询内存位置的安全状态和访问权限。
Test Target Unprivileged(TTT)查询内存位置的安全状态和访问权限,以进行对该位置的非特权访问。
Test Target Alternate Domain(TTA)和Test Target Alternate Domain Unprivileged(TTAT)查询内存位置的安全状态和访问权限,以进行对该位置的非安全访问。这些指令仅在安全状态下执行时有效,如果从非安全状态使用,则为UNDEFINED。
在安全状态下执行时,此指令的结果被扩展以返回特定地址处的Security Attribution Unit(SAU)和Implementation Defined Attribution Unit(IDAU)配置。
对于由SAU和IDAU定义的每个内存区域,都有一个由SAU或IDAU生成的相关区域号。此区域号由软件用于确定内存的连续范围是否具有共同的安全属性。
TT指令返回安全属性和区域号,以及地址值的MPU区域号。通过在内存范围的起始和结束地址上使用TT指令,并确定两者都位于相同的区域号中,软件可以快速确定内存范围(例如,数据数组或数据结构)完全位于非安全空间中,如下图所示:
注意&#
这篇关于Armv8-M的TrustZone技术之测试目标指令的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!