您好!
我正在使用 AM6548进行 AMP 系统设计。 正如 TI 建议的那样、AM6548中的一个内核可在 TrustZone 安全环境中运行、而其他内核则可在 TrustZone 非安全环境中运行。
安全(主)内核首先启动、然后需要启用其他(辅助)内核。 由于系统不使用 Arm 可信固件、在安全 主内核上运行的代码发出 TISCI 处理器引导管理请求(具体而言、为 TISCI_MSG_PROC_REQUEST、TISCI_MSG_PROC_SET_CONFIG、TISCI_MSG_PROC_SET_CONTROL)和电源管理请求(具体而言、为 TISCI_MSG_SET_DEVICE)以启动每个辅助内核。
DMSC 上的系统固件似乎正在使 TISCI_MSG_PROC_REQUEST 最小化、因此启动辅助内核的序列的其余部分会出现故障。
出于测试目的、我可以在 TrustZone 非安全状态下运行主内核、在这种情况下、TISCI 请求全部被确认、而辅助内核使用相同的代码序列正常启动。 除了 TrustZone 安全状态外、这两种安全状态下的代码之间的唯一区别是:
- 主机 ID、安全代理 ID 和中断号
- 是否存在其他 TISCI 消息标头
注意:一般而言、当从安全内核发出其他 TISCI 请求(例如、配置时钟、电源域、请求资源等)时、这些请求工作正常。
系统固件中是否存在导致来自安全内核的 TISCI 处理器引导管理请求失败的限制? 如果是、我如何解决它? 否则、可能是什么原因导致这种行为?
谢谢。
伊恩