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:闪存 ECC 问题

Guru**** 2826195 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/1547865/tms570lc4357-flash-ecc-problem

器件型号: TMS570LC4357

工具/软件:

嗨、 Gundavarapu

我对闪存的 ECC 功能有几个问题。

1. 闪存 ECC 是闪存数据反转的纠错机制, SPI ECC、sci ECC 是相同的吗?

2、 闪存 ECC 可以通过以下方法进行测试,该方法描述了 CPU 错误处理程序可以捕获该错误,您能解释如何知道 ECC 错误发生吗? 只通过读取 FEDAC_GBLSTATUS 寄存器来实现?

 

3. 发生 ECC 错误时,如何知道它发生在哪里?

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

    您好、Sam、

    [quote userid=“635171" url="“ url="~“~/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/1547865/tms570lc4357-flash-ecc-problem  闪存 ECC 是一种用于闪存数据反转的纠错机制、SPI ECC、sci ECC 是否相同?

    不、它们是不同的。

    闪存 ECC 适用于控制器中可用的所有闪存。

    您可以看到器件中正好有 4MB 闪存、因此该 4MB 闪存将具有相应的 ECC 存储器来存储所写入数据的 ECC。 该 ECC 将用作数据的验证位。 这意味着、如果数据中发生任何损坏、就会收到事件。

    而 SPI ECC 或 SCI ECC 特定于相应的外设。

    例如、如果您验证 MibSPI、将有一个 RAM 来存储接收到的数据或要直接传输的数据、因此该存储器也会进行 ECC 验证。

    [quote userid=“635171" url="“ url="~“~/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/1547865/tms570lc4357-flash-ecc-problem  闪存 ECC 可以通过以下方法进行测试、该方法描述了 CPU 错误处理程序可以捕获该错误、您能解释如何知道 ECC 错误发生吗? 仅通过读取 FEDAC_GBLSTATUS 寄存器?

    不仅是寄存器、您还将根据错误类型获取闪存错误的 ESM 事件。

    对于闪存中的可校正错误、您将获得 ESM 1.4:

    对于无法纠正的错误、您将获得 ESM2.3 或 ESM3.13

    您可以通过以下链接下载我们的诊断库:

    SAFETI_DIAG_LIB 驱动程序或库|德州仪器 TI.com

    在此诊断库中、您可以找到器件中所有诊断的示例代码。

    对于与闪存相关的诊断、您可以使用以下 API 名称进行查找:

    sl_Self Test_Flash

    [quote userid=“635171" url="“ url="~“~/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/1547865/tms570lc4357-flash-ecc-problem  发生 ECC 错误时、如何知道错误发生在哪里?

    EPC 模块将帮助捕获 ECC 错误的地址。 更多详细信息、请参阅本章。

    --
    此致、
    Jagadish。

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

    您好、jundavarapu

    我的目标是测试闪存 ECC 的功能。 如果发生一位错误或双位错误、我想知道发生了什么、然后记录它(需要对一位错误进行计数)。

    首先、我需要模拟闪存 ECC 错误。 根据您在另一个论坛的回复、我下载了您的 FEE_ECC_Errors_TEST_LC4357.zip 项目。

    我对这个项目有一些不太理解的问题。

    ------------------------------------------------  TEST DIAGMODE = 7------------------------------------------------  

    如下图所示、我在图中的水平线执行了代码。

    正如预期的那样使用模式 7、PortAErrStat 不应为 0、因此 ESM Stat1 寄存器不应为 0、应设置 Group1_Error、错误指示灯不应亮起、但结果相反、如下图所示。

    您能解释一下这种现象是什么吗?

    另外、下图中的 PoartA 和 PoartB 的概念是什么?

    如果无法触发端口 B 的 ECC 错误中断、会出现什么问题?

    ---------------------------------------------------- TEST DIAGMODE = 5--------------------------------------------------------

    执行下图所示的自检。

    结果如下所示。

    所选寄存器状态均符合预期、但我注意到、无论传递的参数是 FLASH_ECC_TEST_MODE_1BIT 还是 FLASH_ECC_TEST_MODE_2BIT、GROUP2Error 变量都被设置。 当传递的参数为 FLASH_ECC_TEST_MODE_1BIT 时、为什么不设置 Group1Error 变量?
    在模式 5 诊断模式下、是否始终触发 Group3 中的地址标签错误?

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

    您好、jundavarapu

    请尽快答复、谢谢。

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

    您好、Sam、

    抱歉、由于回复延迟、我因个人工作而休息了几天、没有时间处理这个问题。

    您是否仍无法解决此问题?

    --
    此致、
    Jagadish。

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

    尊敬的 Gundavarapu:

    我的问题还没有解决、请帮助我回答、非常感谢。

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

    您好、Sam、

    我想您从下面的链接下载了代码:

    (+) TMS570LC4357:尝试针对 1 位和 2 位错误注入对端口 A 和 B 运行诊断模式 7 时出现问题 — 基于 Arm 的微控制器论坛 — 基于 Arm 的微控制器 — TI E2E 支持论坛

    您是否只下载了此代码?

    如果是、那么如本注释中所述、此代码仅适用于端口 A 那么、您可以先尝试使用端口 A 吗?

    --
    此致、
    Jagadish。

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

    我执行了如下所示的代码。

    寄存器值如下所示:

    值如下所示:

    这是正确的吗?为什么 1 位 ECC 错误不会触发组 1 的中断?

    此外、请帮助介绍 POART_A 和 POART_B 的概念、谢谢。

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

    您好、请尽快答复、谢谢

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

    您好、Sam、

    我对延迟回复表示歉意、我休息了几天、没有时间处理您的问题。

    您是否仍面临此问题?

    --
    此致、
    Jagadish。

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

    是的、请帮助我解决这个问题。 谢谢你。

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

    您好、Sam、

    对延迟的回复表示歉意!

    此外、请帮助介绍 POART_A 和 POART_B 的概念、谢谢。

    这些端口中的每一个都对应于存储器组的一个闪存接口。 两者由不同的主器件(CPU 和 DMA 等)在内部使用

    您将测试 CPU 闪存读取 ECC 校正、然后使用端口 A (DIAG_BUF_SEL = 0x0)

    您要测试 DMA 闪存读取 ECC 行为、然后使用端口 B (DIAG_BUF_SEL = 0x4)。

    因此、在我们的示例中、最好使用端口 A、因为我们仅使用 CPU 读取存储器区域。

    --
    此致、
    Jagadish。

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

    您好、Gundavarapu

    感谢您对端口 A 和端口 B 的概念的回复

    如操作所示、我在端口 A 上执行了 FLASH_ECC_TEST_MODE_1bit 测试。根据您之前的回复、应该触发组 1 通道 4 的中断。 我是否可以询问为什么我看到这里设置了 Group2Error?

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

    您好、Sam、

    对延迟的回复表示歉意。 由于许多其他的优先问题,我没有时间这个问题的工作.

    如我的操作所示、我在端口 A 上执行了 FLASH_ECC_TEST_MODE_1BIT 测试。根据您之前的回复、应触发组 1 通道 4 的中断。 我可以问为什么我看到这里设置了 Group2Error?

    您对此是正确的;这不应触发组 2 错误。 您是否可以共享您的代码以在我这边快速验证和测试它?

    --
    此致、
    Jagadish。

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

    你(们)好

    我附上了代码、这实际上是您的代码、如果您能看一看、我将不胜感激。 谢谢你。


    e2e.ti.com/.../FEE_5F00_ECC_5F00_Errors_5F00_TEST_5F00_LC4357_5F00_1127.rar

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

    嗨、 Gundavarapu

    您能否尽快回复? 谢谢你。

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

    您好、Sam、

    我明白,为什么你在你的代码中得到 ESM2.3 错误。 这是由于闪存中的 ECC 值不正确、  

    请参阅以下主题:

    (+) TMS570LC4357:Uniflash 工具无法正确擦除闪存。 -基于 Arm 的微控制器论坛 — 基于 Arm 的微控制器 — TI E2E 支持论坛

    因此、这就是我们读取它正在触发的任何闪存区域(不可纠正的 ESM 标志、即 ESM2.3)的原因。

    我取消选中 CCS 中的 Auto ECC Generation 选项。

    我使用链接器 CMD 文件为整个闪存生成了 ECC、包括闪存的未使用区域:

    进行此修改后、如果我触发 1 位 ECC 错误、那么我只得到 ESM1.4、而不是 ESM2.3。

    我将在我的最后一端附加测试项目、请仔细阅读。

    e2e.ti.com/.../7024.FEE_5F00_ECC_5F00_Errors_5F00_TEST_5F00_LC4357.zip

    --
    此致、
    Jagadish。

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

    嗨、 Gundavarapu

    请附上您的新代码 (FEE_ECC_Errors_test_LC4357.rar)、以便我可以调查您进行的后续更改是否导致了结果之间的差异。

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

    e2e.ti.com/.../FEE_5F00_ECC_5F00_Errors_5F00_TEST_5F00_LC4357.7z

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

    嗨、 Gundavarapu

    1. 未能触发 1 位纠错中断的问题

    原因是该函数没有被调用:epcEnableSERREVENT();

    2. 2 位错误是否导致中止?

    3. 由 2 位错误触发的中断是否仅限于下图所示的内容?

    4. 我调用了函数 sl_Self Test_Flash (FLASH_ECC_TEST_MODE_2BIT、TRUE、&failInfoFlash、Port_Var)、并设置了 Group2Error。 如何获取错误地址? 根据手册、该错误涉及以下寄存器。 但在实践中、这些寄存器的值为 0。 为什么会这样?

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

    您好、Sam、

    [quote userid=“635171" url="“ url="~“~/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/1547865/tms570lc4357-flash-ecc-problem/6155996  2 位错误是否会导致中止?

    是的、2 位(不可纠正)闪存 ECC 错误通常会导致 CPU 中止。

    该行为取决于在以下情况下是否发生错误:

    • 指令提取(预取):产生预取中止异常
    • 数据读取:导致数据中止异常
    [quote userid=“635171" url="“ url="~“~/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/1547865/tms570lc4357-flash-ecc-problem/6155996  由 2 位错误触发的中断是否仅限于下图所示的内容?

    该图指示“Cortex-R5F 内核 — 所有致命总线错误事件[通常由闪存中的 ECC 值不正确或不完整引起]“的 Group2 通道 3 和“L2FMC — 不可纠正的错误“的 Group3 通道 13。 这两种情况都可能被触发、具体取决于在系统中检测到错误的位置。

    [quote userid=“635171" url="“ url="~“~/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/1547865/tms570lc4357-flash-ecc-problem/6155996  我调用了函数 sl_Self Test_Flash (FLASH_ECC_TEST_MODE_2BIT、TRUE、&failInfoFlash、Port_Var)、并设置了 Group2Error。 如何获取错误地址? 根据手册、该错误涉及以下寄存器。 但在实践中、这些寄存器的值为 0。 为什么会这样?

    闪存 ECC 错误地址寄存器可在被读取后或错误状态被清除后自动清除。 在文档中、有一个可以清除错误状态的 ERR_STATUS_CLR 寄存器(错误状态清除寄存器)。

    在进行任何清除操作之前、尝试立即读取 ESM 中断处理程序中的寄存器。

    --
    此致、
    Jagadish。

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

    嗨、 Gundavarapu

     `SL_Self Test_Flash (FLASH_ECC_TEST_MODE_2BIT、TRUE、&failInfoFlash、Port_Var)`函数模拟 2 位错误、但它一直滞留在`μ s while`循环中、不会触发中止异常。 这可能是什么原因?

    2. 我仔细地看了一下手册。我发现了以下几点:

    2.1 “互连和 RAM IP 模块“是什么意思? 这是否意味着 EPC 捕获的内容不包括闪存 ECC 2 位错误?

    2.2 您能否解释一下第 2-4 节中描述的以下术语是什么意思:CPU0 可校正错误、PS_SCR_M I/F 的 CPU SCR 可校正 ECC、DMA I/F 的 CPU SCR 可校正 ECC 和 L2RAMW RMW 可校正错误?

    3. 将 0x45 写入 FEMU_ECC 寄存器来模拟 2 位闪存 ECC 错误的原理是什么?

    4. 下面的屏幕截图显示了我执行 1 位和 2 位仿真时发生变化的寄存器内容。 当您提及 ERR_STATUS_CLR 寄存器时、您指的是哪个寄存器?

    由于 1 位错误而变化的寄存器:

    由于 2 位错误而变化的寄存器:

    5. 此外,我发现 FUNCERRADD 注册表没有在手册中声明或描述。

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

    您好、Sam、

    2.1 “互连和 RAM IP 模块“是什么意思? 它是否意味着 EPC 捕获的内容不包括闪存 ECC 2 位错误?

    “互连和 RAM IP 模块“ 参考:

    • 互连 :连接 SoC 内不同模块(CPU、DMA,外设)的内部总线互连
    • RAM IP 模块 :设备中的各种 RAM 块(SRAM 等)具有自己的 ECC 保护

    是、EPC(错误分析控制器)不会直接捕获闪存 ECC 2 位错误。 手册中的语句表明 EPC 专门从“互连和 RAM IP 模块“捕获不可纠正的故障。

    2.2 能否解释第 2-4 节中描述的以下术语是什么意思:CPU0 可更正错误、PS_SCR_M I/F 的 CPU SCR 可更正 ECC、DMA I/F 的 CPU SCR 可更正 ECC 和 L2RAMW 可更正错误?
    1. CPU0 可校正错误 :在 CPU0 操作(指令提取或数据访问)期间检测到并校正了一位 ECC 错误

    2. PS_SCR_M I/F 的 CPU SCR 可校正 ECC

      • SCR 可能是指“Scratch RAM“或“Secondary Cache RAM“
      • PS_SCR_M I/F 是指该存储器的主接口
      • 这会捕获 CPU 访问此特定存储器接口时可纠正的 ECC 错误
    3. DMA I/F 的 CPU SCR 可校正 ECC

      • 与上面类似、但用于 DMA(直接存储器存取)控制器对 SCR 存储器的访问
      • 当 DMA 读取/写入此存储器时捕获可纠正的 ECC 错误
    4. L2RAMW RMW 可校正错误

      • L2RAMW:2 级 RAM 包装器
      • RMW:读 — 修改-写操作
      • 这会在对 L2 RAM 进行读取 — 修改-写入周期期间捕获可纠正的 ECC 错误
    [quote userid=“635171" url="“ url="~“~/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/1547865/tms570lc4357-flash-ecc-problem/6163377  将 0x45 写入 FEMU_ECC 寄存器以模拟 2 位闪存 ECC 错误的原理是什么?

    主要目的是在 ECC 或数据中设置两位或更多位错误。

    我在此器件上创建了一个用于 ECC 计算的 Excel 文件。

    e2e.ti.com/.../0028.ECC_5F00_calculation_5F00_Big_5F00_Endian_5F00_Devices_2800_LC4357_2900_.xlsx

    如果您提供地址数据值、则提供相应的 ECC 值。

    您可在此处验证我们的输入、并将 ECC 和数据与这些 Excel 进行比较。

    [quote userid=“635171" url="“ url="~“~/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/1547865/tms570lc4357-flash-ecc-problem/6163377  下面的屏幕截图显示了当我执行 1 位和 2 位仿真时更改的寄存器内容。 当您提及 ERR_STATUS_CLR 寄存器时、您指的是哪个寄存器?

    ERR_STATUS_CLR 寄存器是的一部分 闪存 ECC/错误日志寄存器 耦合。 具体信息如下:

    对于 TMS570LC4357(类似于具有 M3 和 C28x 的双核器件):

    闪存 ECC 错误状态清除寄存器 (ERR_STATUS_CLR):

    • M3 侧偏移量 :0x400FA614 (base 0x400FA600 +偏移 0x14)
    • C28x 侧失调电压 :0x4300 + 0xA(字偏移)
    • 尺寸小 :4 字节(32 位寄存器)
    • 参数 :R/W0-1(读/写、写入 0 无效、写入 1 清除该位)
    • 电池短路保护功能 :MWRALLOW (M3)/ EALLOW (C28x)

    用途: 该寄存器用于 清除错误状态标志 在 ERR_STATUS 寄存器中、包括:

    • FAIL_0_CLR(位 0):清除 FAIL_0 标志
    • FAIL_1_CLR(位 1):清除 FAIL_1 标志
    • UNC_ERR_CLR(位 2):清除不可纠正的错误标志

    在屏幕截图中: 查看寄存器转储、ERR_STATUS_CLR 寄存器应位于闪存包装程序寄存器空间中。 您看到的寄存器如下所示:

    • EpcCntrl (0x0000050A)- EPC 控制寄存器
    • CamAvailStat (0x0000001F)- CAM 索引可用状态
    • CAM_Content0 (0x00020008)-这似乎在捕获错误地址

    是的 EPC(错误分析控制器)寄存器 、而不是闪存包装程序寄存器。 ERR_STATUS_CLR 位于不同的寄存器块中、专门用于闪存 ECC 控制。

    [quote userid=“635171" url="“ url="~“~/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/1547865/tms570lc4357-flash-ecc-problem/6163377  此外,我发现 FUNCERRADD 寄存器没有在手册中声明或描述。[/报价]
    1. 无文档记载的闪存包装程序寄存器:

      • 这可以是用于捕获的内部闪存包装程序寄存器 函数错误地址
      • “func"可能“可能表示“功能“或“功能“
      • 它可能是特定于器件的寄存器、未在公共 TRM 中完整记录

    --
    此致、
    Jagadish。

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

    嗨、 Gundavarapu

    由于 EPC 模块无法捕获发生闪存 ECC 2 位错误的地址、并且我还没有找到 ERR_STATUS_CLR 寄存器的定义、因此是否有其他方法可以确定发生 2 位错误的地址? (发生 2 位错误时、FUNCERRADD 寄存器显示为 0。)

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

    您好、Sam、

    据我所知、

    否、不存在硬件支持的方法来确定 2 位 ECC 错误的确切闪存地址。

    对于闪存 2 位 ECC 错误、EPC 不会锁存故障地址。

    我再次与我的高级同事 QJ Wang 确认。 我正在等待他的重播、我将根据他的意见再次确认。

    --
    此致、
    Jagadish。

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

    嗨、 Gundavarapu

    谢谢你。

    假设我有一个模块通过遍历读取整个闪存数据。

    2 位错误的发生可以分为两种情况:

    1.代码部分出现错误。

    1.1 此时遍历闪存模块并执行代码是否都会导致 2 位错误?

    1.2 发生错误后、可能会导致数据地址异常或产生错误的中断。这是正确的吗?

    2. 错误发生在其他地方。

    2.1 此时、只有通过遍历和读取闪存模块才能触发 2 位错误。

    2.2 发生错误后、它只会触发中断。

    我的上述陈述是否正确?

    注意:代码区域是指芯片内部闪存中存储多个应用程序的区域。 代码区域专门表示当前的活动闪存区域、而其他区域包含当前未运行的其他应用程序。

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

    您好、Sam、

    我的上述陈述是否正确?

    您的大部分理解是正确的、但我想进一步澄清:

    这是数据或代码、将按如下方式触发 2 位错误:

    每当内核尝试从存储器中获取数据或指令时、 将执行 ECC 验证。 我的意思是、它将与存储器中的数据(也包括指令)一起读取 ECC、现在它会将该 ECC 和数据提供给 SECDED 模块以进行错误检测、如下所示。

    因此、验证后、它将根据相应的 ECC 错误生成 ESM 中断和 ESM 标志。

    --
    此致、
    Jagadish。

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

    嗨、 Gundavarapu

    感谢您的解释。

    接下来、请您的同事 QJ Wang 解释是否可以捕获发生闪存 ECC 2 位错误的地址。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    下一步、请让您的同事 QJ Wang 解释是否可以捕获发生 Flash ECC 2 位错误的地址。

    QJ Wang 您能否从您的端部确认一下?

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

    否、不捕获发生 2 位 ECC 错误的闪存地址

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

    您好、QJ Wang

    当发生 2 位错误时、我们能否确定它源自哪个扇区?

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

    据我所知、我们不知道是哪个闪存扇区导致了问题。