您好!
我正在尝试使用 PDK 0805中的 SDL v1.00在基于 J721e 的系统上设置 BIST。
借助提供的 BIST 示例和测试、我发现示例与测试之间在 BIST 实施方面存在一些差异。
在 pbist 和 lbist 的测试文件夹中、这两个文件夹对于序列板 init--> osal init -->对所有实例运行 BIST 测试(pbist 为15、lbist 为6)-->恢复。
但在 BIST 示例中、定义了三个引导阶段、并将所有实例的 BIST 测试分布到这三个引导阶段。 因此、这些 BIST 实例是按照 SDL 指南中提到的特定顺序执行的:
第0阶段:
-
主脉冲发生器0的 PBIST 负测试和正测试
-
主脉冲发生器0的 LBIST 测试
第1阶段:
-
主脉冲发生器1、C7x、C66x、VPAC 和 DMPAC 的 PBIST 负测试和正测试
-
主脉冲发生器1、C7x、VPAC、DMPAC 的 LBIST 测试
第2阶段:
-
针对 A72、HC、编码器和解码器的 PBIST 负测试和正测试
-
针对 A72的 LBIST 测试
为什么 BIST 示例这么做? 内核/ IP 之间是否存在任何依赖关系? 我能否简单地实现 PBIST/LBIST、方法是像所示的 pbist/lbist 测试源那样逐一运行所有 BIST 实例?

此外、在所有 其他内核都可以运行之前、我会作为系统上 SBL 的一部分为所有实例运行 pbist。 所有 pbist 测试均已通过并返回、但之后系统无法正常启动。 调试之后、在设置 MCU2_1 (主域 R5F core1) ATCM 时、我可以看到下面中报告了总线错误:

在 pbist 之后(对于 MCU2_0成功)、似乎将0xFF 设置为 MCU2_1 ATCM 的操作被拒绝。 如果我跳过 MCU2_0/MCU2_1的 pbist 并运行其他 pbist 实例、则系统可以正常启动。 为什么会发生这种情况?
感谢您的耐心等待。