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.

[参考译文] TMS570LC4357:有关从安全诊断库运行 SL_SelfTest_SRAM 的注意事项

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

https://e2e.ti.com/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/1516625/tms570lc4357-note-on-running-sl_selftest_sram-from-safety-diagnostic-library

器件型号:TMS570LC4357

工具/软件:

大家好、我正在尝试将安全诊断库与 TMS570LC4357配合使用。

在 SRAM 自检函数文档中、有一条关于运行它的注意事项:注意:执行 SRAM_PAR_ADDR_CTRL_SELF_TEST 时、用户必须确保具有特殊的 ESM_HANDLER 例程、而无需任何栈或其他 RAM 访问、以避免意外的错误报告。


我可以想到2个解决方案: 1. 按照注释和注释2写入 ESM 处理程序。 当函数运行时暂时禁用 ESM 中断。

我想询问每种解决方案。

1.如何编写特殊的 ESM 处理程序? 我知道它应该在汇编中以防止编译器从 SRAM 中运行。 我可能能够清除汇编语言中的 ESM 标志、但我如何从处理程序返回? 返回是否需要对返回地址进行栈访问?

此外、是否将 ESM 处理程序切换到特殊例程只是向 VIM RAM 写入值?

2.只需暂时禁用 ESM 中断就会容易得多。 我只需清除 ESMIECR1、ESMIECR4和 ESMIECR7、然后再开始自检并恢复它们。 这是一种有效的方法吗?

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

    进一步阅读文档后、似乎错误:无论配置如何、2个通道组都会产生中断、因此解决方案2可能无法正常工作。

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

    事实证明、该注释仅适用于 SRAM_PAR_ADDR_CTRL_SELF_TEST、该注释仅适用于 R4器件、因此 TMS570LC4357不会出现问题。 我想知道如何在不访问 stack 或 ram 的情况下编写这样的处理程序。

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

    尊敬的 Yejung:

    Unknown 说:
    在 SRAM 自检函数文档中、有一条关于运行它的说明:注意:执行 SRAM_PAR_ADDR_CTRL_self_test 时、用户必须确保具有特殊的 ESM_handler 例程、而无需任何栈或其他 RAM 访问、以避免意外的错误报告。

    看起来在 RM57x 和 TMS570LC4357中不支持"SRAM_PAR_ADDR_CTRL_SELF":

    请再次参阅以下主题:

    (26) RM57L843:RM57Lx 器件是否支持 SRAM 地址和控制奇偶校验自检-基于 Arm 的微控制器论坛-基于 Arm 的微控制器- TI E2E 支持论坛

    此处也未列出用于此测试的器件。

    --

    此致、
    Jagadish。