Other Parts Discussed in Thread: TMS570LC4357
器件型号: TMS570LC4357
您好 TI 支持部门、
我正在为 TMS570LC4357 实施一个 PBIST 驱动、并需要明确说明 PBIST ROM 屏蔽寄存器 (ROM[1:0]) 与 ALGO 和 RINFOx 的交互。
文档:SPNU563A(2018 年 3 月)、PBIST 章。
关键寄存器引用 (SPNU563A 表 9-1):
OVER偏移 0x188(第 9.5.5/表 9-6)ROM偏移 0x1C0(第 9.5.10/表 9-14 节)ALGO偏移 0x1C4(第 9.5.11/表 9-15 节)RINFOL偏移 0x1C8(第 9.5.12/表 9-16 小节)RINFOU偏移 0x1CC(第 9.5.13 节/表 9-17)DLR偏移 0x164(第 9.5.2 节)
什么是明确的
-
OVER0行为是显式的(第 9.5.5 节/表 9-6):OVER0=1: ROM 内存掩码覆盖RINFOL/RINFOU。OVER0=0:RINFOL/RINFOU、注释要求仅选择兼容的 RAM 类型和 RAM 组、这些类型和组对所有启用的算法都有效。
-
ROM[1:0]含义明确(第 9.5.10 节/表 9-14):ROM=0:没有从 ROM 中使用信息。ROM=1:仅 ROM 中的 RAM 组信息。ROM=2:仅来自 ROM 的算法信息。ROM=3:ROM 中的算法和 RAM 组信息(建议用于应用程序自检)。
模糊性(以及为什么示例 9.6.1 触发了它)SPNU563A 第 9.6.1 节“示例 1:PBIST 控制器配置为在 DCAN1 RAM 上运行自检“程序:
OVER = 0x0(禁用 RAM 覆盖)ALGO = 0x00000004(March13N 双端口)RINFOL = 0x00000004、RINFOU = 0x00000000(选择 DCAN1 组)- 然后 仍设置
ROM = 0x3 (Both Algorithm and RAM Group information from ROM ,then why did we set algo and rinfoX ? ) - 然后从开始
DLR = 0x14
这就提出了两个具体问题:
问题 1(可直接验证):在示例 9.6.1 中、如果我们仅将步骤 9 从更ROM=0x3改为ROM=0x0、而保留:
OVER=0x0ALGO=0x00000004RINFOL=0x00000004、RINFOU=0x00000000DLR=0x14
PBIST 是否仍会根据 ALGO/RINFOx 的选择在 DCAN1 上执行 March13N、或者由于未使用 ROM 元数据、运行是否失败/不运行任何内容/行为方式不同?
问题 2(优先级):当ROM包含“来自 ROM 的算法信息“(ROM=0x2 或 ROM=0x3) 时、PBIST 是否仍将ALGO寄存器用作算法启用掩码、或者 ROM 选择是否覆盖/替换选择ALGO?
我们理解OVER0仅影响 RAM 组选择优先级(当 OVER0=1 时、ROM 掩码将覆盖 RINFOx)。 不清楚的部分是ROMALGO ROM 指示算法信息来自 ROM 时以及之间的优先级。
如果有建议的配置模式来避免意外行为(尤其是对于面向安全的软件)、请分享它。
谢谢、