Other Parts Discussed in Thread: SYSCONFIG
器件型号: AM625SIP
主题: SysConfig 中讨论的其他器件
来自客户:
大家好、我一直在尝试让 AM-625-SIP-SK 开发板上的 ECC 正常运行几天、但没有取得什么成功。
下面简要介绍了我正在执行的操作以及我检查/尝试的操作:
- 我将 OP-TEE 从 9E80 移至 9A80(删除了尾随零,地址为十六进制)
- 在 U-Boot 中使用 MD 观察到 OP-TEE 正在加载到正确的地址
- 我无法在 9E80 及以上查看内存、也许这是由于内存防火墙、但是我尝试在 binman 文件中更改区域、但它没有任何效果、每当读取该地址时、仍然会出现恐慌、但是当从 9A80 读取到 9C00 时、就像我预期的那样、不会出现恐慌
- 我将 R5F DMA 区域从 9DB0 移动到 99B0、我假设这是成功的、不确定如何进行测试
- 我在 9E78 至 9A78 移动了一个未知区域(我假定与 OP-TEE 相关)。 除了器件树中的其他任何地方都没有提到该区域、我检查了整个 OP-TEE、ATF 和 U-Boot 源代码、并且在任何地方都看不到调用它的地方。 我还检查了分解的输出我们的二进制 blob ,没有看到它的实例。 这个区域是什么?它的用途是什么?
- 添加了一个从 9C00 到 A000 的保留 ECC 区域、并按照 TRM 中所述通过在 DDRSS_ECC_R0_STR/END_ADDR_REG 上运行 MD 验证了 ECC 区域
- 上述更改已反映在 A53 U-Boot、A53 binman、R5 U-Boot、R5 binman 和 Linux 设备树中(我创建了一个包含在这些构建中的通用设备树,从而消除此处出现人为错误的可能性)
- 我还通过检查我验证过的反汇编输出二进制文件使用了正确的地址、将 ARM 可信固件中的 BL32_BASE 和 OP-TEE 中的 CFG_TZDRAM_START 设置为新地址
- 观察到 R5 U-Boot SPL 中启用 ECC 的打印输出
- 观察到的无错误 BL31 和 OP-TEE 初始化输出
- 引导至 Linux、所有 Linux 内核映像和设备树都在 9000 和 9800 之间加载(我们有一个小内核)
- 在 Linux 中无法初始化 CPU 内核时、OP-TEE 会报告错误–19
- 在 platform_probe 函数期间、无法使用 resp 中的“Mailbox timedout“初始化 ti-sci 驱动程序
- 关闭 ECC 时、系统启动正常–因此我相信 ECC 正在遮蔽一些东西!
希望这些信息对您有所帮助! 非常感谢任何想法/建议/示例!