接下来,我们将查看系统中的调试和跟踪组件,如下图所示:
现代Arm系统包括支持调试和性能分析的广泛功能。在TrustZone中,我们必须确保这些功能不能被用来危害系统的安全性。
关于调试功能,考虑开发新的SoC。不同的开发人员被信任调试系统的不同部分。芯片公司的工程师需要并且被信任调试所有部分,包括安全状态代码。因此,所有调试功能都应该被启用。
当芯片发货给原始设备制造商(OEM)时,他们仍然需要调试非安全状态软件栈。然而,OEM可能被禁止调试安全状态代码。
在包含芯片的最终产品中,我们可能希望为应用程序开发人员提供一些调试功能。但我们还希望限制对硅提供商和OEM代码进行调试的能力。
用于启用不同调试、跟踪和性能分析功能的信号帮助我们处理这种情况。这包括单独的信号来控制在安全状态和非安全状态中使用这些功能。
继续使用调试示例,这些信号包括:
• DBGEN – 顶层侵入式调试使能,控制两个安全状态下的外部调试
• SPIDEN – 安全侵入式调试使能,控制在安全状态下外部调试的能力
【注意】:这两个信号是示例。还有其他调试认证信号。请参考您处理器的技术参考手册以获取完整的列表。
以下是我们可能如何使用这些信号的示例:
<