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.

[参考译文] TMS570LS0432:生成数据中止

Guru**** 2391415 points


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

https://e2e.ti.com/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/1010205/tms570ls0432-adata-abort-is-generated

器件型号:TMS570LS0432

你好

团队

当我测试生成的 ECC 2位,异常中断时、

代码转换为_expt_vet_abort_data()、

我使用库2.4

 软件会进入其中

_asm (" ldmfd R13!、{r0 - R5、R12、LR}");
_asm (" subs PC、lr、#4 ");

如果程序被中止?

但程序不会中止。

 为什么?

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

    您好!

    如果存在不可纠正的 ECC 错误(RAM 和闪存)、将生成数据中止。 如果2位 ECC 错误是由诊断测试(故障注入)引起的、您可以清除 dabort 处理程序中的 ESM 错误标志并跳回到正常运行状态。 如果中止不是由测试引起的、则需要停止代码、调试代码并检查硬件。  

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

    我使用库2.4。 我测试 RAM ECC 2位,我更改 ECC 值。程序进入  _expt_vet_abort_data ()、这是我的除外。

    但程序应该停止。  该库确实缺少用于终止程序的代码、我应该将其添加到哪里?

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

    您好、whong、

    如果有意注入2位 ECC 错误、数据中止处理程序将不会清除错误标志并返回正常操作。  

    请阅读 exception_handers.c 的第263行和第288行之间的编码段