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:L2FMC 诊断问题

Guru**** 2470720 points


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

https://e2e.ti.com/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/675212/tms570lc4357-l2fmc-diagnotic-questions

器件型号:TMS570LC4357

TMS570LC43x TRM 列出了以下特性:"对称双端口(端口 A 和端口 B)、可实现更高的性能、并从一个或多个总线主控对不同组进行并发访问。"  不同操作的端口委派是如何完成的? 编程人员对此是否有任何控制?

TRM 的第7节列出了可执行的几项诊断测试:

 I) 7.6 FMC ECC 检查的故意 ECC 错误-从单错误和双错误 OTP 读取并验证 SEC 和预期 ESM 故障。

 II) 7.8.2.2 ECC 数据校正诊断模式7:操作数据和/或 ECC 以验证 SEC 和预期 ESM 故障。

 III) 7.8.4 SECDED 软件诊断:隐式读取 L2FMC SECDED 测试。

测试(III)包含验证 L2FMC SECDED 的过程、但通过 运行测试(II)或测试(I)可以更好地验证 L2FMC SECDED、因为我们可以提供错误输入。 我在这里的理解是否正确? 如果我们已经执行了测试(I)或(II)、我们是否通过运行测试(III)获得任何额外的覆盖范围?

3.我的客户一直在尝试 DIAGMODE=5 (在7.8.2.1地址标签寄存器测试模式5中描述)。 它们 获得 的预期结果为 DIAG_BUF_SEL ={4、5、6、7}(ADD_TAG_ERR 被置为有效)、但不适用于 DIAG_BUF_SEL ={0、1}(ADD_TAG_ERR 保持置为无效)(换句话说、它们在测试端口 B 缓冲器但不测试端口 A 缓冲器时获得预期结果)。 无论从 SRAM 还是闪存中执行测试例程、它们也会看到相同的行为(请注意、此测试中的步骤(1)是"分支到非闪存区域以执行此序列")。 我们是否有任何建议或想法、这里可能会发生什么情况?

谢谢!

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

    他们是否尝试过 SafeTI 诊断库的 API? 您是否有他们的测试代码、以便我可以在我的工作台上尝试?
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好 QJ、

    实际上、端口 A 的 DIAG_MODE=5问题现已解决。 但是、我发布的其他问题仍然是 Porta/B 委派规则以及 SEcDED 诊断的开放式问题。 您也能回答这些问题吗?

    谢谢!

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

    III)隐式读取:这是为了在复位后立即从 OTP 读取 OTP 中存储的关键系统范围设置中的单个位翻转和双位翻转时进行检测和更正。

    当 L2FMC 复位后、它会读取多个 OTP 位置以配置各种系统范围设置。 所有读取的数据都通过 SECDED 校验器来确保校正任何单个位错误并检测到双位错误。

    对于模式7、我们可以随时运行测试并使用地址位置。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您好 TIDR、

    L2FMC 可以配置一个或两个端口、用于连接片上 CPU 或其他主设备。 L2FMC 上有多个端口的目标是在提供尽可能多的并行性的同时与最大的主设备连接。 每个端口在地址解码、命令调度、数据处理和响应处理方面完全独立。 借助于2个从端口、多个主器件有可能同时访问闪存存储器的不同组。

    需要从两个角度充分利用这种架构。 首先、闪存存储器需要被组织成多个组、从而允许同时进行多个存取(有3个闪存组)。 其次、软件代码和数据分段的划分方式便于不同主器件同时访问。 L2FMC 的最佳使用方案是每个端口专用的组。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好 QJ

    感谢您的说明。 不过、我还有其他问题-我知道我们有3个闪存组来促进2个端口和并行性、但用户如何明确控制映射到端口 A 的内容以及端口 B 的内容? 它是由映射到端口 A 的访问权限的系统动态完成的吗?如果进入不同的闪存组、则下一次访问将自动完成到端口 B 的访问吗?

    因此、例如、用户可以配置从一个闪存组的程序访问、从而确保端口 A (或 B)、并且从闪存进行任何同步数据访问是否来自不同的组、即端口 B (或 A)?

    谢谢!

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

    CPU 通过闪存控制器端口 A 来访问闪存存储器、所有其他主控器件(例如 DMA)使用端口 B 来访问闪存存储器。

    映射不可配置。