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.

[参考译文] RM48L952:SRAM 实时锁定测试

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

https://e2e.ti.com/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/805075/rm48l952-sram-live-lock-test

器件型号:RM48L952

是否有人可以解释该测试 SL_SelfTest_SRAM (SRAM_LIVELOCK_DIAGNOSTICS)的用途及其作用? 它返回 true、但未设置 ST_PASS。

此外、这些问题的解决方法是什么? https://e2e.ti.com/support/microcontrollers/hercules/f/312/t/606860?RM48L952-SafeTI-SRAM-LIVELOCK-DIAGNOSTICS-is-that-test-complete-ready-to-run-

测试完成后是否保留和恢复系统状态?

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

    您好!

    有关 SRAM_LIVELOCK 测试的详细信息,请参阅此主题: https://e2e.ti.com/support/microcontrollers/hercules/f/312/p/569492/2100035

    [引用用户="Guy Tadi"]

    此外、这些问题的解决方法是什么? https://e2e.ti.com/support/microcontrollers/hercules/f/312/t/606860?RM48L952-SafeTI-SRAM-LIVELOCK-DIAGNOSTICS-is-that-test-complete-ready-to-run-

    测试完成后是否保留和恢复系统状态?

    [/报价]

    我将深入了解这一点、并向您提供更多详细信息。

    谢谢、

    Akshay

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

    谢谢。 我现在清楚地了解活锁测试的作用。 但我的问题仍然存在:为什么它返回 true 但未在任何位置设置*SRAM_stResult = ST_PASS 或*SRAM_stResult = ST_FAIL。 此测试的通过/失败条件是什么? SRAM_LIVELOCK_DIAGNOSTICS 的情况块如下:

       SRAM_LIVELOCK_DIAGNOSTICS 案例:
           (void) sl_FLAG_SET (testType);

           TP =(volatile uint64 *) 0x08000004u;/*未对齐访问的起始地址*/
           eccb1 =(易失 uint64 *) 0x08000000u;/* bank1基字*/
           /*SAFETYMCUSW 567 S MR:17.1,17.4 "需要指针增量"*/
           eccb1 = eccb1 +(0x00400000u/sizeof (uint64));/*指向 bank1基字 ECC 的指针*/
           eccB2 =(易失 uint64 *) 0x08000008u;/* bank2基字*/
           /*SAFETYMCUSW 567 S MR:17.1,17.4 "需要指针增量"*/
           eccB2 = eccB2 +(0x00400000u/sizeof (uint64));/*指向 bank2基字 ECC 的指针*/

           /*启用对 ECC RAM 的写入*/
           /*SAFETYMCUSW 9 S MR:12.2. 注释_10*/
           /*SAFETYMCUSW 134 S MR:12.2 备注_5*/
           bit_set (sl_tcram1REG->RAMCTRL、TCRAM_RAMCTRL_ECCWREN);
           /*SAFETYMCUSW 9 S MR:12.2. 注释_10*/
           /*SAFETYMCUSW 134 S MR:12.2 备注_5*/
           bit_set (sl_tcram2REG->RAMCTRL、TCRAM_RAMCTRL_ECCWREN);

           regBkupRamTh1 = sl_tcram1REG->RAMTHRESHOLD;
           regBkupRamTh2 = sl_tcram2REG->RAMTHRESHOLD;

           /*将阈值设置为1 */
           sl_tcram1REG->RAMTHRESHOLD = 0x1u;
           sl_tcram2REG->RAMTHRESHOLD = 0x1u;

               _sl_Barrier 数据访问();

               /*导致1位 ECC 错误*/
               * eccB1 ^= TCRAM_SYN_1bit_DATA_ECC;

               * eccB2 ^= TCRAM_SYN_1bit_DATA_ECC;

               /*从位置读取以生成错误*/
               _sl_Barrier 数据访问();

               ramread64 =(* tp);/*未对齐的读取*/

               _sl_Barrier 数据访问();

           sl_FLAG_CLEAR (testType);

           中断;
    #endif

       默认值:
           RetVal = false;
           中断;
       }

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    你好。 如果我对测试通过/失败条件的问题有后续回答、我将不胜感激。 谢谢。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好!

    很抱歉耽误你的时间。

    安全诊断库中不支持 SRAM_LIVELOCK_DIAGNOSTICS 测试。 这已经在软件安全手册中的表3.API 映射中进行了记录。

    谢谢、

    Akshay