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:在哪些情况下、Cortex-R5内核检测到 AXI 解码错误?

Guru**** 2595805 points


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

https://e2e.ti.com/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/738144/tms570lc4357-in-which-cases-the-cortex-r5-core-detects-an-axi-decode-error

器件型号:TMS570LC4357

您好!

ARM Cortex-R5F TRM 文档中的§8.3说明。 1级接口的"故障处理"、对于指令提取和数据访问、可能会发生以下错误:

•外部 AXI 从器件错误(SLVERR)
•外部 AXI 解码错误(DECERR)

DFSR/IFSR 寄存器有一个"SD"字段、用于指示中止是 SLVERR 还是 DECERR 类型。 根据我的理解、当一个外设(例如 L2RAM 或闪存)在存储器访问时返回错误时(例如、在读取-修改-写入期间 RAM 中出现 ECC 错误时)、就会发生从机错误。 问题是:TMS570LC 中的哪些操作可以生成 DECERR? 我找不到任何... AXI 主器件互连是否在其解码逻辑中包含一些可将错误返回到内核的检查? 例如、当访问存储器映射中的空空间时? (例如0x2000_0000)

谢谢、

Etienne

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

    您好、Etienne、

    我对 CPU 中的错误状态和地址寄存器运行了快速检查。 故障状态寄存器的位12 (SD)始终读出为1、表示从机错误、即使我访问的存储器位置无效也是如此。 这是因为、当访问进入任何无效地址时、有一个"默认"从器件被寻址、并且这个默认从器件返回一个被捕获为"从器件错误"的错误响应。

    此致、
    Sunil

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    嗯... 这意味着所有外部中止都是 DECERR? 然后、我反向问:是否可以生成 SLVERR?
    我在回答 SoC 中 ARM 内核集成的内部原理图、而不是尝试回答...
    您执行了哪种操作来获得中止? 我怀疑这是预取中止。 我想知道您是否会通过数据中止获得相同的 SD 值。
    谢谢。
    Etienne
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    Etienne、

    SD = 1表示它被检测为"从器件错误"、而不是解码错误。 我通过读取无效地址导致了数据中止。 如前所述、这些访问"直通"到默认从器件、这会将错误响应发送回 CPU、导致中止。

    此致、
    Sunil