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.

[参考译文] RM57L843:错误信号模块-错误组2描述

Guru**** 2539500 points


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

https://e2e.ti.com/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/1103233/rm57l843-error-signal-module---error-group-2-description

部件号:RM57L843

尊敬的社区:

在哪里可以找到高级版的高级信息  

我在EMS1SR2寄存器中总是得到一个0x0.0008万,表示发生了一个错误,导致属于错误中断组2的HighESMInterrupt。

但是 ,在《技术参考手册》中找不到,哪一个错误会导致此确切中断。

是否有一个列表列出了哪个HighESMInterrupt代表哪个错误?

祝你好

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

    ESMSR2 = 0x0.0008万 --> ESM状态寄存器2的位3已设置。 数据表的表6-45显示此错误通常是 由闪存中不正确或不完整的ECC值引起的。

    闪存 受单错误纠正双错误检测(SECDED)的保护,该检测 在重置时启用。

    必须将所有闪存空间(闪存库0至6)的ECC值编程到 闪存中,然后才能读取程序/数据。 这可以通过使用 链接器命令文件生成正确的ECC值来实现。

    Cortex R5F CPU可能会对闪存空间内的任何位置产生推测性数据。 推理提取到具有无效ECC的位置(随后未使用)不会创建中止,但会为可纠正或不可纠正的错误设置ESM标志。 不可纠正的错误将无条件地导致nError引脚切换为低电平。 因此,必须小心为整个闪存空间生成正确的ECC,包括各部分之间的孔和任何未使用或空白的闪存区域。

    以下是有关使用链接器cmd生成ECC的说明:

    https://software-dl.ti.com/hercules/hercules_docs/latest/hercules/How_to_Guides/index.html

    这是我的例子:

    e2e.ti.com/.../1425.HL_5F00_sys_5F00_link.cmd

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

    非常感谢您的详细回答。
    这对我很有帮助。

    由于我正在使用IAR嵌入式工作平台,我不确定是否可以使用您的链接器示例1:1或是否需要进一步修改。
    但我在 IAR中检查了项目选项,还发现了一个设置,用于使用0xFF覆盖所有未使用的闪存。
    但是,这实际上每次都覆盖闪存,并且不能与链接程序文件中的更改一起使用。

    每一种方式,都能解决我的问题。