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:ESM 错误信令

Guru**** 2480725 points


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

https://e2e.ti.com/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/696691/tms570lc4357-esm-error-signaling

器件型号:TMS570LC4357

您好!

我有关于 ESM 错误信令时序的问题。

我的客户注意到、通过读取 DED 错误区域而触发的 ESM 错误/中断在违反的加载指令被执行后的某个时间发生。

下面是一个说明问题的序列:

LD…  //使用有意的双 ECC 错误从 OTP 读取

DSB   //等待所有显式存储器访问完成

NOP  // ESM2位尚未设置/ESM 高级中断未触发

NOP  // ESM2位尚未设置/ESM 高级中断未触发

NOP  // ESM2位尚未设置/ESM 高级中断未触发

NOP  // ESM2位尚未设置/ESM 高级中断未触发

NOP  // ESM2位尚未设置/ESM 高级中断未触发

NOP  // ESM2位设置也许/ESM 高级中断 可能被触发

NOP  //... 或者可能在这里设置/触发

NOP  //... 甚至可能在这里

 

是否有任何关于触发延迟的想法?

谢谢

TIDR

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

    我将对此进行研究、并在今天返回给您。 他们如何测量延迟?
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您好、Dipa、

    Cortex-R5 CPU 能够发出多个指令、并且这个指令集满足 Cortex-R5F TRM 中定义的针对双指令发出的所有要求。 "DSB"阻止所有进一步的数据提取、直到"LDR"指令完成从 L2闪存存储器的访问(针对双位错误的 OTP 读取)。 但是、提取并执行其他后续指令(在"DSB"指令经过管道的解码阶段之后)、因为不依赖于"LDR"指令。 客户观察到的延迟是执行"LDR"指令(通过8级 CPU 流水线)所需时间、通过互连"到达"闪存所需的时间、返回的数据和 ECC 返回 CPU 所需的时间的累积影响、 最后是将错误信号发送到 ESM 所需的时间。

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

    你(们)好,Sunil

    感谢您的回答。

    ARM 文档提供了以下有关 DSB 的信息:

     

    http://infocenter.arm.com/help/index.jsp?topic=/com.arm.doc.dui0802b/CIHGHHIE.html

     

    数据同步边界用作一种特殊的存储器边界。 在这个指令完成前、在程序顺序中的指令不执行。 当出现以下情况时、该指令完成:

     

    此指令完成前的所有显式存储器访问。

     

    完成此指令之前的所有高速缓存、分支预测器和 TLB 维护操作。

     

    因此、如果不依赖于 LDR 指令、则您对经过解码流水线的指令的注释将会执行、此处似乎未调用此注释。 在 从 L2闪存完成访问("所有显式存储器访问...")之前、"DSB"指令不会保持在执行阶段(从而停止管道)。 在 L2闪存访问完成之前、可以提取/解码后续指令、但在访问完成后才会执行、因为"DSB"仍处于执行阶段、直到访问完成。

     

    给定指令序列后、该延迟是否有任何原因可变? 在该位被置位前、客户正在根据 NOP 的数量来计算延迟。

     

    谢谢!

     

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

    您好、Dipa、

    当我说允许提取并执行后续指令时、我出错了、超过了"DSB"。 如客户所述、在允许管道继续之前、LDR 指令必须完全执行。

    此外、AXI 总线访问上的这种不可纠正的错误会直接发送给 ESM。 我正在尝试找出有关在 CPU 事件总线上指示此错误的任何时序信息。 客户还可以使用 PMU 更好地监控事件总线信号的时序。

    此致、

    Sunil

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

    对此进行了任何更新、以解释导致 ESM 信令延迟的原因是什么?

    Rgds