This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

[参考译文] TMS570LC4357:TMS570LC4357 PBIST:明确 ROM[1:0]与 ALGO 的优先级 (SPNU563A 表 9-14 / 9-15)

Guru**** 2782445 points

Other Parts Discussed in Thread: TMS570LC4357

请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/1611550/tms570lc4357-tms570lc4357-pbist-clarify-precedence-of-rom-1-0-vs-algo-spnu563a-table-9-14-9-15

器件型号: 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 节)

什么是明确的

  1. OVER0行为是显式的(第 9.5.5 节/表 9-6):

    • OVER0=1: ROM 内存掩码覆盖 RINFOL/RINFOU
    • OVER0=0: RINFOL/RINFOU 、注释要求仅选择兼容的 RAM 类型和 RAM 组、这些类型和组对所有启用的算法都有效。
  2. 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=0x0
  • ALGO=0x00000004
  • RINFOL=0x00000004、  RINFOU=0x00000000
  • DLR=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 时以及之间的优先级。

如果有建议的配置模式来避免意外行为(尤其是对于面向安全的软件)、请分享它。

谢谢、

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    Hi Jagadish,
    
    Thanks for the explanation.
    
    I still see one ambiguity that is important for us from a safety perspective (TMS570LC4357, application PBIST):
    
    1) Is ROM = 0x0 a *supported* and *fully specified* configuration for application code on TMS570LC4357, or should it be considered "not supported / internal only"?
    
       - The TRM (SPNU563A, Table 9-14) describes ROM=0 as "No information is used from ROM".
       - However, from your answer and from Example 9.6.1 behavior, it sounds like ROM=0 cannot be used to run a valid PBIST test because the controller still depends on ROM metadata to interpret ALGO and RINFOx.
    
       Can you please confirm explicitly:
       - On TMS570LC4357, is there any valid PBIST test configuration where ROM=0 is intended to be used by application software?
       - Or should ROM=0 be treated as an unsupported mode (e.g. only for manufacturing / internal test), and thus not used in customer software?
    
    2) For safety-related documentation and reviews, we want to use a clear rule like:
       - "For application PBIST, always set ROM = 0x3. Other ROM values are not to be used."
    
       Is this rule correct and acceptable from TI’s point of view for TMS570LC4357?
    
    3) Finally, could TI please clarify (or confirm) the intended precedence in the TRM:
       - When ROM indicates "algorithm information from ROM" (ROM=2 or 3), ALGO is still the *enable mask* that selects which algorithms to run, and ROM merely defines those algorithms (i.e., ROM does not override ALGO selection). Is this correct?
    
    If possible, it would be very helpful if this could be clarified in an app note or a TRM update/errata, since this affects how we justify our PBIST configuration in safety documentation.
    
    Best regards,
    Mehmet Can
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    大家好、Mehmet Can、

    关于  ROM = 0x0 配置:

    明确确认:ROM=0x0 应视为 不支持应用软件 TMS570LC4357。

    虽然 TRM 从技术上将 ROM=0 描述为“没有从 ROM 中使用信息“、但此配置:

    • 都不会在任何应用示例中演示
    • 无法正确执行 PBIST 测试、因为控制器需要 ROM 元数据
    • 可能保留用于专业制造或内部测试目的

    即使明确配置了 ALGO 和 RINFOx 寄存器、控制器架构也从根本上依赖基于 ROM 的算法定义来正确执行测试。

    2.安全相关规则确认:

    是的、您提出的规则是正确的、并且符合 TI 的建议:

    对于应用 PBIST、始终设置 ROM = 0x3。 不使用其他 ROM 值。

    此规则:

    • 与示例 9.6.1 中 TI 建议的配置相匹配
    • 可确保 PBIST 控制器正常运行

    3.优先级确认:

    正确理解:当 ROM=2 或 ROM=3(来自 ROM 的算法信息)时:

    • ALGO 充当一个 启用屏蔽 它选择要运行的算法
    • ROM 定义了算法、但不会覆盖 ALGO 选择
    • 两个寄存器协同工作:ROM 提供算法定义、ALGO 启用特定算法

    --
    此致、
    Jagadish。