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.

ECC 功能测试

Other Parts Discussed in Thread: RM42L432

1、TI大神们,我用的RM42L432,我官网上找的一个测试ECC插入两位错误的ECC功能测试例程。测试时确实产生了错误。

2、但有一点不太理解。产生错误后跳转进dabort.asm中,这里面的操作我不太理解,为什么要在这里面清掉错误标志、并且设置nERROR pin在计数器完后恢复高电平,特别是设置nERROR pin在LCT计数器完后恢复高电平,这个不是应该由开发者自己配置,假如开发者需要产生错误后这个引脚一直为低电平,来提示我它出现了错误。我配置成一直保持低电平的模式(esmREG->EKR = 0x0U;),但是在这个dabort.sam又给配置回去了。

下面是我的操作和不太理解的地方,麻烦解答下我的疑惑,非常感谢

  • 为更加有效地解决您的问题,已将您的问题发布在英文技术论坛上,将由资深的工程师为您提供帮助。

    您可以查看下面这个链接,查看进展:https://e2e.ti.com/support/microcontrollers/hercules/f/312/t/912241

  • 好的,非常感谢。另外有个经验上的疑问,就是Error 引脚一般会用来干什么?仅仅是接一个灯来查看下是否有错误吗?还是说有其他的用法,根据你们的经验或者你们其他客户使用的经验,能否告知下。
  • 在芯片内有错误信令模块 (ESM) ,它用来监控所有器件错误并在检测到一个故障时确定是触发一个中断还是触发一个外部错误引脚。 一般是从外部监视的 nERROR 可作为一个微控制器中故障条件的指示器。

    任何严重的错误条件可被配置成在一个被称为 nERROR 的专用器件端子上驱动一个低电平。 这可被用作一个对外部监视器电路的指示,使此电路将系统置于一个故障安全模式。

    Hercules系列芯片可让CPU手动触发nERROR引脚响应,以测试系统行为或将未自动指示给ESM的内部故障通知外部逻辑。
  • 可以将Flash wrapper置于diagnostic mode,以验证各种逻辑。diagnostic mode 7用于通过将ECC的一位或多位求反来测试纠错和ECC逻辑。

    如果将两个ECC位取反(您的测试),将产生2位不可校正的ECC错误,并且nERROR引脚被拉低。这些是预期的错误,应在执行其他测试之前清除。

    如果在no-diagnostic mode下中止是由2位ECC错误引起的,则不会清除错误标志:

    flashErrorReal
    b flashErrorReal ; branch here forever as continuing operation is not recommended