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.

[参考译文] RM46L430:SRAM 测试清理

Guru**** 2513185 points


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

https://e2e.ti.com/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/802912/rm46l430-sram-test-cleanup

器件型号:RM46L430

是问题、需要在 sl_SRAM_TEST 之前备份和恢复 SRAM、如本帖子中所述:

https://e2e.ti.com/support/microcontrollers/hercules/f/312/p/601225/2215521

仍适用于 STL 2.40版?

下面的 Mark 建议的方法是否被认为是必要和完整的、或者版本2.40中的上下文备份和恢复在库中自动发生?

来自 Mark:

在 IRQ/FIQ 周围插入一个包装程序异常处理程序并截取 ESM 高优先级和低优先级中断处理程序、并且在包装程序中:

           如果 TEST = SRAM_PAR_ADDR_CTRL_self_test、则

                      ESM SR2 = 0x00000400

                      VIM IRQ INTREQ0=0x00000001

在‘S调用‘L_SelfTest_SRAM’之前:

           保存 TCRAM 偶数和奇数 RAMCTRL

           保存 TCRAM 偶数和奇数 RAMTHRESH

‘S调用‘L_SelfTest_SRAM’后:

           恢复 TCRAM 偶数和奇数 RAMCTRL

           恢复 TCRAM 偶数和奇数 RAMTHRESH

           读取以解锁 TCRAM 偶数和奇数 RAMPERADDR、RAMSERRADDR、RAMUERRADDR

           清除 ESM SR3 0x00000028

           清除和错误引脚并将密钥复位为正常

并非每个测试都需要执行所有步骤、但只有完成这些步骤才能使所有测试报告通过。

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

    很抱歉、您的查询响应出现延迟。

    更新了 v2.4.0的用户指南、其中提到用户需要提供一个特殊的 ESM_handler 例程、而无需任何堆栈或其他 RAM 访问、以避免在调用 sl_SelfTest_SRAM 时出现意外的错误报告。

    我将对此进行研究、稍后将向您提供更多详细信息。

    谢谢、此致、
    Akshay
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    谢谢 Akshay。 我正在等待详细信息。 我也在 SL 中看到了"Special ESM_handler routine without any stack"注释、但它说默认实现使用 stack。 我们非常赞赏一个在不使用堆栈或访问 RAM 的情况下如何实现这一目标的示例
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    大家好、

    [引用用户="Guy Tadi"]

    是问题、需要在 sl_SRAM_TEST 之前备份和恢复 SRAM、如本帖子中所述:

    https://e2e.ti.com/support/microcontrollers/hercules/f/312/p/601225/2215521

    仍适用于 STL 2.40版?

    [/报价]

    我使用以前的版本进行了检查、发现这里没有进行任何更改。 所以、这在安全诊断库 v2.4.0中仍然适用。

    目前、我们没有一个示例说明如何在不使用堆栈或访问 RAM 的情况下完成此操作。  

    谢谢、此致、

    Akshay

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

    [引用用户="Akshay Manikantan"]

    ...,这在安全诊断库 v2.4.0中仍然适用。

    目前、我们没有一个示例说明如何在不使用堆栈或访问 RAM 的情况下完成此操作。

    [/报价]

    熟悉此处理器和测试的人员能否提供代码片段或描述、说明在不使用堆栈或访问 RAM 的情况下如何完成此操作? 您可以想象、如果库函数按所述使用堆栈和 RAM、则函数没有太大用处。 我无法承担任何盲目日期的费用、因此 TI 提供的任何超出要求声明的技术指南/意见都将非常有帮助。 谢谢。

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

    [引用用户="Guy Tadi"]

    Akshay Manikantan

    ...,这在安全诊断库 v2.4.0中仍然适用。

    目前、我们没有一个示例说明如何在不使用堆栈或访问 RAM 的情况下完成此操作。

    熟悉此处理器和测试的人员能否提供代码片段或描述、说明在不使用堆栈或访问 RAM 的情况下如何完成此操作? 您可以想象、如果库函数按所述使用堆栈和 RAM、则函数没有太大用处。 我无法承担任何盲目日期的费用、因此 TI 提供的任何超出要求声明的技术指南/意见都将非常有帮助。 谢谢。

    [/报价]

    您好!

    根据您在问题中链接的线程、不清楚哪个 SRAM 诊断测试有问题 -尽管它提到 SRAM 地址奇偶校验测试、但它暗示这是所有 SRAM 诊断的问题。

    Hercules 安全诊断库包内提供的演示应用成功运行所有 SRAM 诊断。 该线程似乎侧重于 SRAM 地址奇偶校验测试、我们已验证演示应用程序中的 SDL 实施行为是否正确。

    如果您有任何具体问题、请告知我们。

    谢谢、

    Girish