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-EP:关于互连自检

Guru**** 2473260 points


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

https://e2e.ti.com/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/1041168/tms570lc4357-ep-regarding-interconnect-self-test

器件型号:TMS570LC4357-EP

您好!

这是有关 ESM3.12和互连自检的问题。
我们现在在评估板上测试 TMS570 MCU 的 ESM 功能。


我们可以使用根据 SPNU563A 的第4.3.4节创建的测试代码来成功执行互连自检。
对于已选中的 ESM3.12通知、互连自检需要失败。

请告诉我如何通过互连自检?

谢谢、

好的

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

    您好!

     您是否遵循了以下顺序?

    您能显示代码序列吗?

    您是否观察到 CPU 复位?

    您是否看到在 SDC_STATUS 寄存器中设置了任何标志? 请参见下面的。 另请注意勘误器件#51、该状态将左移24位。  

    是否可以显示 ESM 日志?

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

    您好、Charles-San、

    感谢你的答复。

    互连自检成功、我们希望验证 ESM3.12的通知。

    我的代码序列如下(使用 Hercules SafeTI 诊断库 V.2.4.0);

    1) sl_SelfTest_MemoryInterconnect (MEMINTRCNT_seltest)

    2) 2) CPU 复位

    3) sl_SelfTest_Status_MemIntertSelftest()

    ESM 和 SDC 的每个状态寄存器都没有错误。

    μ・ESM
    ESMSR1:0x00000000
    ESMSR2:0x00000000
    ESMSR3:0x00000000
    ESMSR4:0x00000000
    ESMSR7:0x00000000
    ・SDC
    SDC_STATUS:0x0A000000 - NT_OK (3)和 PT_OK (1)

    请告诉我生成 ESM3.12的技术吗?
    请提供建议。

    谢谢、

    好的

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

    Kobori-San、

     我认为 ESM3.12只有在自检失败时才有效。 由于自检未失败、ESM 模块没有发出错误信号。 您应该读取 PT_OK 和 NT_OK 位。 如果它们被置位、这意味着自检是在没有错误的情况下完成的。  

    4.3.4互连自检
    CPU 互连子系统可进行自检。 在自检时、自检逻辑将应用测试
    每个主器件和从器件接口的激励源。 如果检测到错误、则对应的错误类型
    接口已记录。 如果自检未成功完成、ESM 组3将发出一个错误。
    注意:应用程序只能在没有总线时启动 CPU 互连子系统自检
    来自任何主器件的事务、包括 CPU 内核。 在自检中、互连
    无法处理任何请求。 总线主控请求可能丢失或损坏。 建议您使用
    在任何主器件初始化之前、自检仅作为器件初始化的一部分进行
    由 CPU 设置。
    要启动自检、适用的必须遵循以下顺序:
    1.将0xA 密钥写入 SCM 模块中 SCMCNTRL 寄存器的 DTC_ERROR_RESET 位。
    2. CPU 执行 WFI 指令将自身置于空闲状态。 自检开始由的空闲状态进行控制
    CPU。
    3.当同时满足步骤1和2时,将开始自检。 在进行自检时、CPU 内核是
    强制复位。 请注意、复位仅保留到 CPU 内核、而系统的其余部分则不保留。
    完成自检后、DTC 错误_RESET 位会自动恢复为0x5、如所示
    复位值。
    5.自检完成后,对16 HCLK 的 CPU 互连子系统应用复位
    周期。 在此期间、CPU 也保持在复位状态。
    6.互连和 CPU 从复位中退出后,正常的代码执行就可以开始。 CPU
    可以通过读取 NT_OK 位和 SDC_STATUS 的 PT_OK 位来检查自检状态
    寄存器。 这两个位指示负测试和正自检序列是否通过。 在中
    此外、如果自检失败、错误被置为 ESM 模块。

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

    您好、Charles-San、

    感谢您的信息。

    我了解互连自检失败时应发生 ESM 3.12。
    但是、我的测试代码总是成功地完成互连自检。

    我想验证 ESM 3.12的通知、您能否告诉我发生互连自检故障的强制技术?

    谢谢、

    好的

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

    大家好、Kobori-San、

     我很抱歉、我认为没有办法强制互连自检失败。 我了解您有意导致自检失败的愿望、以便您确认并观察自检是否实际正常工作。 但是、情况并非如此。 您可以启动自检。 如果确实失败、则将设置 ESM3.12。   

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

    您好、Charles-San、

    感谢您的支持。

    此致、

    好的