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.

[参考译文] TDA4VL-Q1:确保 ECC 测试功能能够在 SRAM 中注入(1或2)位错误(确保正确完成注入错误机制)。

Guru**** 2482225 points


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

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/1448983/tda4vl-q1-ensuring-that-the-ecc-test-function-is-capable-of-injecting-1-or-2-bit-error-in-sram-ensuring-of-the-injecting-error-mechanism-is-done-correctly

器件型号:TDA4VL-Q1

工具与软件:

我们使用的是 SDK 8.6

1- 要 确保 ECC_sdlFuncTest ();实际上在 SRAM 中注入物理位错误。

2-以及 代码的哪个特定部分(代码行) 在 ECC_sdlFuncTest ()中进行注入;。  

以及哪个 SRAM 地址用于错误注入。

以及如何在实际 RAM 中确认错误注入。

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

    您好!  

    \SDL\ESC\SDL\ECC\SDL_ECC.c 中的 SDL_ECC_injectError() API src 执行错误注入。

    ECC 错误注入通过 ECC 聚合器进行、其地址可在 SDL\ECC\SDL\ECC\ECC\j784s4\SDL_ECC_SoC.h 的 SDL_ECC_aggrBaseAddressTable 中找到 src soc

    此致、

    Josiitaa.

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

    您好、Josietaa  

    需要确认错误注入方法、是实际错误还是在寄存器中写入错误指示来启动 ECC 功能?

    第二点如何在复位之前(如果发生2位错误)或纠正(如果发生1位错误)在实际 SRAM 中监控此错误?

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

    您好!  

    需要确认错误注入方法、是实际错误还是在寄存器中写入错误指示才能启动 ECC 功能?

    对于所有可访问的 RAM ID、SDL 会通过位翻转注入实际的错误。 如果 RAM ID 无法访问、则可以通过设置寄存器值强制执行错误。

    第二点如何在复位前(2位错误)或纠正前(1位错误)在实际 SRAM 中监控此错误?

    硬件会自动纠正 single-bit 错误。 我不知道是否有方法可以直接在 SRAM 中监控错误。 我会与内部团队核实并回复您。

    您为什么要查找这些信息的任何原因?

    此致、

    Josiitaa.

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

    您好!


    感谢您的回答、

    如果是所有可访问的 RAM ID、SDL 将通过位翻转注入实际错误。 如果 RAM ID 无法访问、则通过设置寄存器值强制执行错误。

    您是指谁?

    您为什么要查找此信息?

    是的(当然有一个原因)、我们需要在我们的软件中集成 ECC、但在此之前、我们需要确保每个点、并确认对其进行压力测试的方法、因为在2位错误中、将发生复位、因此是关键的变化。

    我将与内部团队核实并回复您。

    将等待您的回答。

    谢谢。

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

    您好!

    可通过谁来访问?

    可由在 MCU R5F 内核中运行的 SDL 访问。

    [报价 userid="558337" url="~/support/processors-group/processors/f/processors-forum/1448983/tda4vl-q1-ensuring-that-the-ecc-test-function-is-capable-of-injecting-1-or-2-bit-error-in-sram-ensuring-of-the-injecting-error-mechanism-is-done-correctly/5561646 #5561646"]是的、我们肯定需要在软件中集成 ECC、但在此之前、我们需要确保每个要点并确认对其进行压力测试的方法、因为在2位错误中、将发生复位、因此是关键变化。

    有关如何通过 ECC 聚合器注入错误的说明、请参阅 SDL 用户指南- https://software-dl.ti.com/jacinto7/esd/processor-sdk-rtos-j721s2/09_02_00_05/exports/docs/sdl/sdl_docs/userguide/j721s2/modules/ecc.html

    发生 single-bit 错误时、ECC 聚合器能够检测和纠正这些错误、从而确保数据的完整性。 所有端点和校验器都支持单位错误注入。 奇偶校验和冗余类型校验器不支持 single-bit 纠错。

    对于双位错误、ECC 聚合器可以检测这些错误。 但是、它无法纠正这些错误。 相反、它通过 ESM 中断将这些错误的出现发送到中央处理单元(CPU)(复位/中止是 CPU 或应用决定的)。 所有 RAM 包装器类型和端点的互连 EDC 校验器类型都受支持。 奇偶校验和冗余校验器类型不支持双位 ECC 错误注入。

    有关 ECC 端点类型、请参阅此常见问题解答- https://e2e.ti.com/support/processors-group/processors/f/processors-forum/1310234/faq-tda4vm-types-of-ecc-aggregators-ram-ids-and-error-injection

    错误注入流程:
    对于 ECC 包装器类型端点:
    1.写入 ECC_ERR_CTRL1寄存器以设置需要应用 FORCE_SEC 或 FORCE_DED 的行地址。 如果设置了 FORCE_N_ROW、则忽略该位。
    2.根据错误注入类型配置 ECC_RAM_CTRL bits[6:3]寄存器。
    3.执行 ECC_RAM_CTRL 寄存器的回读以确认错误注入。 读取的值可能与写入的值不同、因为寄存器中的某些字段不可写入或可以自行清除。
    4.对于 RAM 包装器类型、在注入错误后、为了触发错误中断、需要在注入错误的行(如果使用了 FORCE_N_ROW、则可以访问任何行)访问 RAM。
    5.对于仅注入包装器端点,只有错误注入可以通过 ECC 聚合器实现,检测和校正由 IP 本身完成。

    对于 ECC 互连类型端点:
    1.通过向 ECC_CBASS_CTRL 寄存器的位字段写入0x0来清除任何挂起的错误注入
    2.根据错误组和错误注入类型配置 ECC_CBASS_ERR_CTRL1和 ECC_CBASS_ERR_CTRL2寄存器。
    3.写入 ECC_CBASS_CTRL 寄存器以注入错误。
    4.对于互连类型、错误注入在空闲周期时发生、因此无需额外存取内存。

    错误处理流程:

    1.当发生错误事件时、用户可以查询并收集端点的相关信息、以及相对于相关 RAM 起始位置的偏移信息。
    2.要清除 ECC 错误事件、请通过配置 ECC_RAM_ERR_STAT1 (用于包装类型端点)和 SDL_EDC_CTL_ERR_STATUS1 (用于互连类型端点)寄存器来清除 ECC 错误事件的挂起状态。
    3. ECC_SEC_EOI_REG 寄存器用于重新触发脉冲中断信号、以确保处理任何嵌套的中断事件。 软件中断处理程序必须在当前中断处理例程结束时写入 ECC_SEC_EOI_REG 寄存器、以便新事件可以再次重新触发脉冲中断信号。 对于电平中断信号、ECC_SEC_EOI_REG 寄存器不起作用、不得使用。
    4.使用 ESM 寄存器清除 ESM 错误中断。

    此致、

    Josiitaa.

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

    您好、Josietaa

    我需要在偏移计算后的最终地址,我将在  SDL_ECC_inpractError 函数之前和之后打印,以查看注入的错误,以及哪个文件路径,行打印此地址内容前后,您能提供此地址吗?

    此致。

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

    您好!

    ESM 回调函数可被用于用户查询和收集与端点相关的信息、以及针对相对于相关 RAM 开始的位置的偏移量信息。

    此致、

    Josiitaa.