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.

[参考译文] TMS320F280039C:如何处理用于 RAM 存储器测试的 slt 库

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

https://e2e.ti.com/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/1461395/tms320f280039c-what-to-do-with-the-slt-library-for-ram-memory-testing

器件型号:TMS320F280039C

工具与软件:

大家好、我想问问、为什么在我使用函数 STL_March_testRAM 进行测试时没有返回值

如何判断测试是否成功?

我还尝试了使用函数 STL_March_inpractError 注入错误

然后、使用 STL_March_checkErrorStatus 函数尝试读取错误状态。

但它仍会返回成功的测试

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

    STL_March_testRAM()函数不会检查通过/失败本身。 该测试依赖于 RAM 的 ECC 逻辑的触发来检测问题、而 STL_March_checkErrorStatus ()读取 RAM 错误状态寄存器。

    预计 STL_March_injectError()函数将不能与 STL_March_testRAM()函数一起使用。 错误注入函数使用 RAM 测试模式在数据和 ECC 之间创建不匹配、ECC 将在读取时被检测到。 然而,STL_March_testRAM()会在读取触发错误检测逻辑之前将其模式写入 RAM 位置(从而覆盖我们注入的错误)。

    您会注意到,如果您使用 STL_March_testRAMCopy ()函数,您可以检测到错误,因为 STL_March_testRAMCopy ()函数会在写入模式之前读取内存位置。

    惠特尼

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

    你好,我使用了函数 STL_March_testRAMCopy (),正如你所说的,但在我注入了错误后,我使用了函数 STL_March_inpractError ,返回的状态值仍然是成功的,你能帮我看一下我的代码,这是我理解的问题吗

    这是我的代码:

    errorHandle.address = 0x00008001;
    errorHandle.ramSection = MEMCFG_SEC_LS0;
    errorHandle.TESTMODE = MEMCFG_TEST_WRITE_DATA;
    STL_March_inpractError (&errorHandle);
    STL_March_testRAMCopy (STL_March_pattern_one、0x00008000、0x000003FF、0x0000E000);
    SelfTestStatus = STL_March_checkErrorStatus ();
    if (SelfTestStatus!= STL_March_PASS)

    gErrorTestFlag = 1;
    gStructErrorTestFlag。 RAM_RAM Start_Check = 6;
    }

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

    您要将 errorHandle.xorMask 设置为什么? 我在您的代码片段中看不到该消息。

    惠特尼