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.

[参考译文] RM46L852:ECC 中断生成问题

Guru**** 2392905 points
Other Parts Discussed in Thread: RM46L852

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

https://e2e.ti.com/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/948627/rm46l852-ecc-interrupt-generation-problem

器件型号:RM46L852

大家好、

客户希望使用 HCG 生成的 checkRAMECC()函数来测试 RM46L852控制器的 RAM ECC 函数。  但他发现在  测试期间、单个事件测试无法进入 ESM 中断。  两个粒子的试验不能进入异常中止。 客户想知道如何解决此问题?

谢谢、

安妮

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

    您好 、Annie、

    要生成中断、您需要在 CPU 级别启用中断:_enable_IRQ ();外设级别(ESM 通道26和28)和 VIM 通道(针对 ESM 低电平的通道20)。

    因此,请调用 vimInit(),esmInit(),因为调用   checkRAMECC();

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

    您好 QJ、

    感谢您的回答。

    在早上的测试过程中,客户发现他可以在有或没有 vimInit()的情况下正常进入中断。 客户不知道为什么会发生这种情况?

    还有两个问题需要您的帮助:
    正常情况下、在执行 ramread = tcramA1bit;和 ramread = tcramB1bit 之后、它将进入 ESM 中断。 可以在没有断点的情况下输入它、相应的通道为26和28。 但在这两句话之后、当他单步执行中断点时、他没有进入 ESM 中断。 客户想知道原因吗?

    2. 如果他想在 SRAM 和闪存 ECC 进入中断后写回、他该怎么办?

    谢谢、

    安妮

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

    尊敬的 Annie:

    请检查在 sys_startup.c 中是否调用了 vimInit() 我稍后会回答其他问题。

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

    尊敬的 Annie:

    如果 VIM 和 ESM 被正确配置、生成 ESM 中断没有问题:

    1. VIM:为 ESM 启用中断低电平

     

    2. ESM:启用通道 26和28

    3.启用 IRQ 中断:

        _enable_IRQ ();

    4、产生 ESM 中断:中断向量= 0x1B -1 =26 (RAM 偶数组(B0TCM)-可纠正的 ECC 错误)