请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
器件型号: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、然后再开始自检并恢复它们。 这是一种有效的方法吗?
感谢您的帮助!