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.

[参考译文] AWR2E44PEVM:ECC 从自检中恢复

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

https://e2e.ti.com/support/sensors-group/sensors/f/sensors-forum/1617571/awr2e44pevm-ecc-recovery-from-self-test

器件型号: AWR2E44PEVM

使用此函数 sdl_ecc_injectError()、在 ECC 注入错误 (ecc self test) 后要使用什么函数来恢复注入错误的位?

回调函数 SDL_ESM_applicationSecCallbackFunction () 和 SDL_ESM_applicationDedCallbackFunction () 使用函数 SDL_ECC_clearNIntrPending (),但它没有使用属性“subtype",“,所以如何保证在注入错误位作为自检后这些位将恢复?  

 

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

    另外、使用此行“ (void) sdl_ecc_initMemory (sdl_mss_ecc_agg_mss、sdl_mss_ecc_agg_mss_RETRAM_ecc_ram_ID);“、则 MSS 内核冻结且软件停止、在 RetRAM 上使用 ECC 是否有问题?

    虽然我对 L2 存储器使用了相同的函数且未发生内核冻结、但“(void)SDL_ECC_initMemory  (SDL_MSS_ECC_AGG_MSS、SDL_MSS_ECC_AGG_MSS_MSS_L2RAMA_ECC_RAM_ID);“-----    “  (void) SDL_ECC_initMemory (SDL_MSS_ECC_AGG_MSS、SDL_MSS_ECC_AGG_MSS_MSS_L2RAMB_ECC_RAM_ID);“

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

    尊敬的 Eslaa Mohsen:  

    您可以参考 SDL 存储库中 ECC 驱动程序中的任何一个示例、以供您参考并更好地理解。  

    使用此函数 sdl_ecc_injectError()、在 ECC 注入错误 (ecc self test) 后要使用什么函数来恢复注入错误的位?

    sdl_ecc_injectError()

    上述函数将在指定位置注入 ECC 错误。  

    执行此函数后、我们需要对注入错误的指定位置进行读取访问。  

    在读取到特定位置时、您将根据 ESM 错误类型(无论是 SEC 还是 DEC)获得一个中断回调函数。  

    如果是 SEC、则会自动校正这些位。 - 自校正位是聚合器内部的。  

    如果是 DEC、则说明这是不可恢复的错误。  根据您的客户特定要求、您可以采取纠正措施。  

    sdl_ecclearNIntrPending (),但它没有使用属性“subtype"那么“那么,所以我如何保证在注入错误位作为自检后这些位将恢复?[/报价]

    SDL_ECC_clearNIntrPending () 函数将 
    清除指定 memtype、subtype 和中断源的 N 个挂起中断。  

    [引述 userid=“676489" url="“ url="~“~/support/sensors-group/sensors/f/sensors-forum/1617571/awr2e44pevm-ecc-recovery-from-self-test/6234987

    另外、使用此行“ (void) sdl_ecc_initMemory (sdl_mss_ecc_agg_mss、sdl_mss_ecc_agg_mss_RETRAM_ecc_ram_ID);“、则 MSS 内核冻结且软件停止、在 RetRAM 上使用 ECC 是否有问题?

    [/报价]
    让我在内部进行检查、下周很快就会联系您。  
    谢谢您、  
    Yogeshwaran Raguraman.
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    “如果是 DEC、则是不可恢复的错误。  根据您的客户特定要求、您可以采取纠正措施。 “ 因此、这意味着 SDL 不支持从自检到 DEC 的恢复、也不支持任何功能、不能手动完成、因为软件崩溃、尽管安全手册中提到要进行自检、因此我想讨论这些要求是否适用、我们是否需要这样做?

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

    尊敬的 Eslaa Mohsen:  

    我将用不同的方式表达我的话语,这样你就能更好地理解 ECC。  

    如果是 DEC,则表示这是不可恢复的错误 — 意味着该设备将发出 nERROR。 它只会通过复位恢复。  

    在 SDL 中、SEC 和 DEC 是手动测试的、  

    手动意味着用户已在特定位置注入错误、并等待中断来检查 ECC 聚合器是否按预期工作。  

    谢谢您、

    Yogeshwaran Raguraman.  

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    在这种情况下、“手动“意味着我应该重写损坏的寄存器以恢复受双位错误 (DEC) 影响的值正确吗?
    我的理解是、这些自检通常在初始化阶段进行。 如果 DEC 需要复位来恢复、这建议每当软件复位并执行自检时、都会触发另一个复位、从而导致循环。
    如何在不强制将损坏的位恢复为其原始值的情况下从此状态恢复、如何在初始化自检期间避免复位循环?
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    尊敬的 Eslaa Mohsen:  

    如果是自检、则意味着您正在注入 DEC 故障并等待中断、一旦中断发生、就必须清除中断、状态标志和错误将一直存储到这些中断为止 由软件清除 或上电复位时的状态。 由于这是一个自检、因此您需要通过将值写入寄存器 MSS_ESM->ESMEKR 作为 0x05 来清除 nError。  

    ESM_resetErrPin()-这是将清除 nError 的函数。 基本上、该函数将在寄存器值 MSS_ESM->ESMEKR = 0x05 中执行写入操作。  

    谢谢您、

    Yogeshwaran Raguraman.   

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

    一个相关的问题是、是否可以在启动时通过所有这些错误注入来启动软件? 在安全手册中、我应该对内存中的这些部件 (L2 RAMA、L2 RAMB、RetRAM、MBOX) 进行单比特和双比特注射、它是否可以作为在 ECC INIT 进行的设计? 一次将是 8 ISR、所有这些中断都可能 导致竞速、并且 ISR 可能被丢弃或导致错误的动态行为。 我已经尝试过这些 ISR、并且出现了错误的动态指示。

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

    尊敬的 Eslaa Mohsen:  

    是否可以在启动时启动所有这些错误注入的软件?

    是的、可以在引导时注入错误  

    作为要在 ECC init 进行的设计是否可以接受?

    这取决于您的 SW 设计。 但在引导时进行 ECC 初始化测试是可以接受的。   

    谢谢您、

    Yogeshwaran Raguraman.